From 0e411f1796936adbe60f348b94e83c17313f8970 Mon Sep 17 00:00:00 2001 From: Brummel Date: Thu, 11 Jun 2026 11:54:41 +0200 Subject: [PATCH] =?UTF-8?q?audit:=20cycle=200031=20(#56)=20=E2=80=94=20dri?= =?UTF-8?q?ft=20fixed=20(stale=20C9=20render=20prose);=20node-instance=20n?= =?UTF-8?q?aming?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Architect drift review of cycle 0031 (node-instance naming; spec 5818497, plan d890090, impl ffed8cc). Regression gate: no scripts configured (commands.regression is empty) — the architect is the gate. What holds: the ParamAlias retirement is complete and surgical — ParamAlias, aliases_on, check_alias_indices, leaf_has_unaliased_param, Composite.params, and the Composite::new 5th arg are gone from all code with no orphaned references (only historical specs/plans 0016-0024 mention them, correctly untouched); lib.rs re-exports cleaned. C23 preserved in fact: node_name() flows only into signature_of (fan-in) and collect_params (param path), never into the compilat — it stays name-free, wired by raw index. C11 value-empty holds: a node name is construction identity, injected nowhere into the value vector. param_space() is uniformly .; all call sites migrated in lockstep. 198 tests green, clippy clean. Drift fixed (this commit): the C9 fan-in refinement prose still asserted "the graph view renders each fan-in input as the shortest sibling-unique prefix of its source signature" — that render died with ascii-dag in cycle 0026; signature_of now has zero render consumers. Corrected to state signature_of is construction-phase-only with no render consumer, and that surfacing node identity in the WASM viewer is tracked follow-up. Drift routed to backlog: the node instance name does not reach the graph model (model_to_json emits the type label, so the viewer shows identical [SMA] boxes for named fan-in legs) — a deliberate 0031 scope decision, filed as #58 (idea, relates to #13/#37), not a regression. Cycle 0031 drift-clean after the one fix. --- docs/design/INDEX.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index bc50328..70d100d 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -373,9 +373,10 @@ configuration axis: a collision is a `CompileError` (`IndistinguishableFanIn`) when at least one colliding source carries a **param** (a param-bearing same-name collision), resolved by giving the colliding nodes distinct names. Paramless interchangeable same-name sources (equal signatures, no param) stay legal. -Construction-phase only; the compilat stays name-free (C23). The graph view -renders each fan-in input as the shortest sibling-unique prefix of its source -signature. +Construction-phase only; the compilat stays name-free (C23), and `signature_of` +has no render consumer (the ascii-dag fan-in render was retired with the renderer +in cycle 0026). Surfacing the disambiguating node identity in the WASM graph view +is tracked follow-up, not yet realized. ### C10 — Strategy output is an intent/exposure stream; position management is a decoupled derived layer; brokers are downstream nodes **Guarantee.** A strategy's primary, backtestable output is **not** an equity