audit: cycle 0026 (#51) — drift-clean; aura graph is a self-contained WASM-Graphviz viewer

Cycle-close audit for cycle 0026, iteration 2 (the graph render viewer). Scope
7569980..HEAD (plan c3109bd + feat 66dff88); iteration 1 (model serializer,
288f589) was already inside the 0027 audit close and was not re-reviewed.

Architect drift review: clean. Contracts verified against docs/design/INDEX.md:
- C9 — render_html(&Composite) does only model_to_json + string assembly; no
  eval / compile_with_params / bootstrap on the render path.
- C10 / C14 — the vendored viewer JS is a render asset (no node/strategy logic,
  no DSL); no serde added (model stays hand-rolled).
- C4 — graph-viewer.js TYPE_COLOR is exactly {i64, f64, bool, timestamp}; the
  unknown-kind fallbacks are not a fifth type colour.
- C23 — input-pin labels are the model's non-load-bearing names (cycle 0027);
  wiring stays positional.
- ascii-dag retirement complete: dep gone, graph.rs gone, Cargo.lock clean; the
  only surviving mention is the deliberate cli_run contract test documenting the
  retirement, and INDEX.md:668 (the cycle-0017 note's legitimate historical
  account of the renderer defect that motivated the flat layout). node.rs's two
  stale justifications are re-grounded.
- Vendoring hermetic: the ~1.4 MB WASM/JS blobs are checked in (not git-ignored),
  build.rs fetches nothing — no half-state contradicting the checked-in decision.

Regression: commands.regression is empty for this profile — Step 2 no-op; the
architect is the gate.

Resolution: carry-on (no drift items, no regression gate). Cycle 0026 is
drift-clean — the code matches the ledger. This is not a milestone close.

Next direction (architect): the milestone-adjacent render work — expose rendering
for a consumer's own graph (#28) and interactive blueprint navigation in the
playground (#37) — is the natural next render-area cycle, each a separate spec.
This commit is contained in:
2026-06-10 17:13:30 +02:00
parent 66dff88528
commit 53f3fcf198

Diff Content Not Available