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)

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