audit: #331 cycle close — every authored intake gates the root name, cli_fixed_cost re-pinned
Architect drift review (drift_found) resolved fix-path on all three items. [high] The sweep/walkforward/mc family builders and validate_and_register_axes read authored envelope files and put_blueprint'd them ungated — falsifying the C29 exemption's premise that the store is populated through gated intakes; all four sites now gate the root name before the family/axis build (placing the gate after the build produced a misleading unknown-axis error instead of the gate refusal — RED-verified), with an e2e pin on the synthetic sweep route. The decision was gate-the-routes, not weaken-the-prose: the exemption's premise is the invariant, not a wording choice. [medium] C24 now states the gate rule as the class it is (the op intake plus every CLI intake reading an authored envelope from a file; store read-back exempt, C29). [low] C23 reconciles names-as-debug-symbols with the render name's one operational role (trace-directory key — never compilation, identity, or execution semantics). Ratify: aura-bench cli_fixed_cost baseline re-pinned (run_line_fnv 6bb0d796f760d140 -> 9bdbc3acf7b2926a). The moved metric was caused by the #328 tidy (4474814), which switched single-run manifest defaults from wrapped to raw axis names after that cycle's bench rerun had already passed;bbac29dand this cycle's HEAD produce fingerprint-identical record lines (verified with both binaries on one scratch project), so this cycle only inherits the stale pin. All five surfaces fingerprint OK after the re-pin. refs #331, #328
This commit is contained in:
@@ -9,7 +9,12 @@ entirely (there is no composite in the flat graph). The blueprint's field /
|
||||
input-role *names* are **non-load-bearing** — the wiring resolves by index, and names
|
||||
survive at most as **informative debug symbols** (exactly as `FieldSpec.name` already
|
||||
is, C8), kept for tracing / rendering (C9 graph-as-data) but carrying no run
|
||||
semantics. The flat graph is then the target of **behaviour-preserving optimisation**
|
||||
semantics. (Reconciling with the root composite's own render name, #331: that
|
||||
claim stands unweakened — the name never influences compilation, identity, or
|
||||
execution semantics — but at *run* time, outside compilation, it keys the trace
|
||||
directory (`traces/<name>/`); that operational role, not any load-bearing
|
||||
weight inside the flat graph, is exactly why the authored-blueprint intakes
|
||||
shape-gate it.) The flat graph is then the target of **behaviour-preserving optimisation**
|
||||
— any transform that leaves every observable sink trace bit-identical (C1 is the
|
||||
correctness invariant) — on two levels:
|
||||
|
||||
|
||||
@@ -202,9 +202,14 @@ replayed in order; nodes are referenced **by identifier**, ports as dotted
|
||||
(#331), script-level and at-most-once (a second refuses); omitted, the
|
||||
built composite keeps the CLI's own seed default (`"graph"`). Gated by a
|
||||
shared shape check (non-empty, single path segment, no `/`, `\`, `.` or
|
||||
`..`) applied at both data-borne birth routes — this op intake and the
|
||||
blueprint-envelope root name — since store read-back (reproduce, `use`
|
||||
resolution) stays ungated per C29.
|
||||
`..`) applied at this op intake **plus every CLI intake that reads an
|
||||
authored blueprint envelope from a file** — `register`, `introspect
|
||||
--content-id <FILE>`, the bare graph-file viewer, `run`, `introspect
|
||||
--params <FILE>`, and each of `sweep`/`walkforward`/`mc`/`generalize`'s
|
||||
file-reading entry points (synthetic and `--real` alike) — one class of
|
||||
intake, one gate. Store read-back (`reproduce`, `use` resolution,
|
||||
`introspect`/`--params` by content id) stays deliberately ungated — C29: a
|
||||
registered artifact is never retroactively invalidated.
|
||||
- `source` — `{"op":"source","role":<str>,"kind":<ScalarKind>}` — declare a root
|
||||
source role producing a base column of `kind`.
|
||||
- `input` — `{"op":"input","role":<str>}` — declare a root input role (kind inferred
|
||||
|
||||
Reference in New Issue
Block a user