audit: cycle 0031 (#56) — drift fixed (stale C9 render prose); node-instance naming
Architect drift review of cycle 0031 (node-instance naming; spec5818497, pland890090, implffed8cc). 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 <node>.<param>; 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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user