audit: #271 cycle close — C24 reconciled with its own args paragraphs
Architect drift review (fable gate) on 26b3d68..HEAD, full diff read. What holds: invariant 4 stays clean (ArgKind a separate closed enum at every surface), minuted scope held (aura-research and SessionFrankfurt untouched, no matrix surfacing), C18/C19 discipline held (args-free bytes golden-pinned at v1, args id-bearing, no pending builder reaches a graph on op or load path). Fixed here (high/medium items): C24's out-of-the-round-trippable-set paragraph still listed LinComb/CostSum/Session — now records their #271 entry, with SimBroker as the remaining (scalar-typed, narrower) exclusion; the pre-ship-dormancy paragraph's 'first ship freezes v1' sentence stales against the shipped data-driven v2 writer — the dormancy is recorded as ended by #271, the first exercised Tier-2 bump. Routed (low items): #341 — refuse serializing a still-pending builder on the Rust path (silent unloadable v1 artifact); version-refusal prose prints only the ceiling. Regression: aura-bench all five surfaces fingerprint OK, deltas within noise (max +2.3% wall at loadavg 2.7, report-only) — the hot path is untouched by design (bootstrap-only channel). Full workspace suite independently re-run by the orchestrator: test-exit 0. Spec and plan swept per lifecycle. refs #271, refs #341
This commit is contained in:
@@ -70,8 +70,10 @@ loop for the round-trippable vocabulary.
|
||||
|
||||
**Out of the round-trippable set** (deliberate; fails clean as `UnknownNodeType`):
|
||||
recording sinks (they capture an `mpsc::Sender` — runtime identity, not param-generic
|
||||
data, C19) and construction-arg builders (`LinComb` / `CostSum` / `SimBroker` /
|
||||
`Session` — structural-axis args, a C20 concern), additively addable later (#156).
|
||||
data, C19) and `SimBroker` (a scalar-typed baked value, a narrower gap than the args
|
||||
channel). `LinComb` / `CostSum` / `Session` — formerly listed here — entered the
|
||||
round-trippable set with #271's typed construction args (see the add-op `args`
|
||||
clause and the data-driven `format_version` below).
|
||||
|
||||
### Runs and families are built FROM blueprint-data
|
||||
|
||||
@@ -269,12 +271,13 @@ Tier-1 (additive-optional) is serde-default silent-ignore with **no** `format_ve
|
||||
bump — a new optional field defaults to prior behaviour (C1). Tier-2 (must-understand:
|
||||
a new node type, edge semantics, or structural-axis kind) **bumps** `format_version` so
|
||||
an old reader refuses cleanly (`LoadError::UnsupportedVersion` / `UnknownNodeType`).
|
||||
**Pre-ship dormancy (#61):** until the first external ship there are no out-of-repo
|
||||
readers — reader and writer change atomically in one commit — so the Tier-2 bump
|
||||
discipline is dormant and structurally-semantic additions (the `gangs` section) land as
|
||||
additive-optional fields of v1; the first ship consciously freezes v1, gangs included,
|
||||
and activates the bump discipline. The per-section required-flag scheme is deferred (no
|
||||
current Tier-2 section to validate it; recorded on #156).
|
||||
**Pre-ship dormancy (#61, ended by #271):** until the first external ship there were
|
||||
no out-of-repo readers — reader and writer changed atomically in one commit — so the
|
||||
Tier-2 bump discipline lay dormant and structurally-semantic additions (the `gangs`
|
||||
section) landed as additive-optional fields of v1. #271's construction args are the
|
||||
first exercised Tier-2 bump (data-driven, next paragraph); v1 remains the version of
|
||||
every args-free document, gangs included. The per-section required-flag scheme stays
|
||||
deferred (no per-section case yet; recorded on #156).
|
||||
|
||||
**First data-driven bump (#271):** construction args are the first Tier-2 case whose
|
||||
version is decided PER DOCUMENT, not a single global bump. The writer emits
|
||||
|
||||
Reference in New Issue
Block a user