Skip to content

chantier: audit remediation — confirmed findings #142

Description

@LeadcodeDev

An end-to-end audit of the six crates (71,627 lines) produced 180 findings across 15 subsystem auditors. Each finding cites an exact file:line, a minimal verbatim snippet, and a concrete trigger scenario; most carry a reproduction.

Findings rated Critical/High/Medium were then put through independent adversarial verifiers — one reading the code for a guard that would invalidate the claim, one attempting the reproduction, one checking the repository's own documented intent — all briefed to refute by default.

Scope of this chantier

In scope — the 98 findings that survived verification. Every item below is backed by a verifier majority and, in most cases, a reproduction.

Out of scope, deliberately:

  • 75 findings that no verifier challenged (the verification wave was cut short). They are credible leads, not established facts. Acting on them risks "fixing" correct code — 4 findings were refuted outright, so the false-positive rate is not zero. The Architecture, Code quality, Security and Concurrency domains have no verified finding at all and are therefore untouched here.
  • Supply-chain analysis (dependencies, CVEs, CI/CD, crates.io publication), excluded from the audit brief.

The dominant failure mode

Not crashes — silent divergence. rustmotion validate, which CLAUDE.md makes mandatory before delivery, answers "Valid scenario" on captions that run off the device, on CJK text rendered as empty boxes, on a world view whose positions it computes 860px away from what gets painted, on padding: {"horizontal":100} that evaluates to zero, and on five scenarios that panic or hang the renderer. A wrong video produced without any error is worse than a crash.

A second, related motif: the skill rules — the contract a generating LLM reads — prescribe knobs the engine ignores (amplitude on float_3d, delay/duration on pulse/float/shake/spin, loop on keyframe effects, style.wrap, margin-left).

Workstreams

Each lands as its own PR into chantier/audit-remediation, which merges to main as a single final PR.

  • Encoding — ffmpeg argument order, diagnosability, remaining findings (11)
  • Geometry validation — leaks and false negatives in the overflow guard (11)
  • Text & fonts — measure/paint divergence, glyph fallback (10)
  • Schema & serde — the contract with generating LLMs (10)
  • Components — painters must never panic on degenerate input (9)
  • Animation — presets must honour their configuration (8)
  • Transitions & world — frame accounting and camera continuity (8)
  • Layout & taffy — unit resolution and intrinsic measurement (8)
  • Dataviz — degenerate scales, labels outside the measured box (8)
  • HTML & CLI — commands must not lie about their exit code nor destroy source files (8)
  • Paint pass — decoration order, opacity composition (7)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions