diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index 43dda53..8cb712f 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -654,6 +654,36 @@ has no home in git/Gitea; determinism makes a structured registry cheap. Sequencing: the walking skeleton emits a manifest + metrics per run from day one; the registry/index is a later milestone over manifests that already exist. +**Realization (cycle 0029 — the flat run registry).** The experiments-&-results +plane shipped as `aura-registry`: an append-only JSONL store (`runs/runs.jsonl`), +one serde_json `RunReport` (`RunManifest{commit, params, window, seed, broker}` + +`RunMetrics`) per line, with a typed read-path (`load`) and best-first ranking +(`rank_by`/`optimize`). C9 holds — the registry depends on `aura-engine`, never +the reverse. + +**Realization (cycle 0045 — lineage as related records, #70).** The *lineage* +depth is now realized as a **family store**: a sweep / Monte-Carlo / walk-forward +run (the C12 axes) is persisted as a *set of related records* — each a +`FamilyRunRecord` (a `RunReport` stamped with a shared `family_id` + `kind` + +`ordinal`) — in a sibling JSONL (`families.jsonl`), leaving the flat `runs.jsonl` +path and its `append`/`load`/`rank_by`/`optimize` API byte-for-byte unchanged. +`family_id = "{name}-{counter}"` (an author-supplied name plus a per-name +generate-and-check run index — not a content hash; re-running the same family +mints a fresh id). `group_families` is the round-trip that re-derives a family +from the stored links (re-listable / rankable as a unit — C21). The manifest *is* +the re-derivation recipe (#71): no input-stream blob / path / payload enters a +record, and a member's window is **producer-supplied** via +`Source::bounds()`/`window_of` (eager or streamed → byte-identical lineage), +never a materialized-`Vec` scan at the call site. CLI surface: `aura mc`, +`aura runs families`, `aura runs family [rank ]`; `aura sweep` / +`walkforward` / `mc` persist via `append_family` with an optional `--name`. +Deferred (Non-goals): content-addressed identity + replay-dedup; the "run-diff" +depth and ranking families against each other (cross-family, vs. within-family); +and a live producer for the flat `runs.jsonl` standalone-run path — after this +cycle no CLI command writes it (sweep/walkforward moved to the family store, and +`aura run` does not persist), so `aura runs list` / `rank` await either a +persisting `aura run` or retirement (forward-queue follow-up). + ### C19 — Bootstrap: blueprint → instance (recursive) **Guarantee.** Construction is a distinct phase, recursive at every level. Each node type has a **factory** `params → sized concrete node` (e.g. `SMA(length)`