audit(0080): cycle close — drift-clean; ledger sync (selection types relocated, registry-vocab decision recorded) (refs #136)
Cycle 0080 was a 44-line behaviour-preserving re-export relocation along the exact engine↔domain seam the 0079 architect review just blessed, so the drift review is carried from 0079 rather than re-dispatched; the only drift introduced is the ledger note, synced here. Regression gate green and unchanged: full suite 665/0 (incl. the C18 goldens), clippy --workspace --all-targets -D warnings clean. Ledger sync (docs/design/INDEX.md): added a cycle-0080 realization note — FamilySelection/SelectionMode are now in aura-analysis (engine-side extraction complete); recorded the user-ratified decision that the aura-registry Metric/metric_cmp/deflation vocabulary stays in the registry by design (it is the trading selection layer, its deflation statistics branch irreducibly on metric identity, and genericity would be a one-implementor abstraction); and that making RunReport generic / a domain-agnostic orchestration substrate is deferred to the World/C21 layer, explicitly out of #136. No baseline moved (the suite is the regression gate; green-unchanged), so no ratify statement. No spec/plan ephemera to drop.
This commit is contained in:
+16
-5
@@ -896,11 +896,22 @@ compatibility this cycle, and still hosts the trace-coupled `summarize`, `RunRep
|
||||
`RunManifest`, and the columnar trace utils. The non-node engine-workspace crates are now
|
||||
`aura-engine` (run loop), `aura-cli` (`aura` binary), `aura-ingest` (ingestion edge),
|
||||
`aura-composites` (composite-builder convenience layer), and `aura-analysis` (post-run
|
||||
domain reductions). Behaviour-preserving (C1): every serde shape is byte-identical (C18
|
||||
goldens green). **Deferred (#136 tail, genuine design forks):** making `RunReport`
|
||||
generic over the metric type and re-bounding `sweep`/`mc`/`walkforward`; relocating the
|
||||
`aura-registry` `Metric`/`metric_cmp`/rank vocabulary; relocating the mis-placed
|
||||
orchestration types `FamilySelection`/`SelectionMode` out of the analysis module.
|
||||
domain reductions + selection provenance). Behaviour-preserving (C1): every serde shape
|
||||
is byte-identical (C18 goldens green).
|
||||
**Realization (cycle 0080, #136 — engine-side extraction complete).** The last
|
||||
trading-domain types still *defined* in `aura-engine`'s `report` module — the
|
||||
selection-provenance types `FamilySelection` / `SelectionMode` — also move to
|
||||
`aura-analysis` (the only non-cyclic home: `RunManifest.selection` needs the type and the
|
||||
engine already depends on `aura-analysis`; the registry/CLI reach them unchanged via the
|
||||
re-export). Behaviour-preserving (C1; suite 665/0). **Settled (2026-06-27, user-ratified
|
||||
in the #136 thread):** the `aura-registry` `Metric` / `metric_cmp` / deflation vocabulary
|
||||
**stays in the registry by design** — the registry is the trading *selection* layer, not
|
||||
the domain-free engine, and its deflation statistics branch irreducibly on metric
|
||||
identity (R-bootstrap vs. `total_pips` dispersion floor); forcing genericity would be a
|
||||
one-implementor abstraction. **Deferred to the World / C21 layer (explicitly *not* #136):**
|
||||
making `RunReport` generic over a metric type and turning the orchestration/registry layer
|
||||
into a reusable domain-agnostic substrate — until then `RunReport` / `RunManifest` /
|
||||
`summarize` stay trace-coupled in the engine.
|
||||
|
||||
### C17 — Authoring surface
|
||||
**Guarantee.** All *logic* — nodes, strategies, **and experiments/harnesses** —
|
||||
|
||||
Reference in New Issue
Block a user