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 (planc3109bd+ feat66dff88); 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: