Flat run registry: give 'aura run' a persisting path, or retire 'runs list'/'rank' #73

Closed
opened 2026-06-15 18:34:28 +02:00 by Brummel · 0 comments
Owner

After cycle 0045 (registry lineage for families, #70), aura sweep / walkforward / mc persist to the family store (families.jsonl); no CLI command writes the flat runs.jsonl anymore (aura run / --macd / --real never persisted). So aura runs list and aura runs rank <metric> remain in the CLI but read a store nothing populates — a live dead-end surface.

The 0045 spec deliberately kept runs list for "standalone (family-less) runs only", but no command currently produces a standalone run record.

Decision needed (design fork)

  • (a) Give the flat store a producer: make aura run (and --macd / --real) persist its RunReport to runs.jsonl — possibly always, or behind a --save flag. This completes the spec's "standalone runs" framing and gives runs list / rank a live source.
  • (b) Retire the flat-store CLI surface: drop aura runs list / runs rank; families subsume them. The aura-registry flat API (append / load / rank_by / optimize) stays regardless — optimize backs the in-sample step of walk-forward and is library surface; only the CLI commands would go.

Neither is clearly default (does aura run want a persistence side-effect, or stay a pure quick-check?), so this is a deliberate design pick, not a tidy.

Context: docs/design/INDEX.md C18 realization note (cycle 0045) records this as a deferred follow-up.

Minor sub-item (low, cosmetic)

Family-wrapped aura sweep / mc / walkforward stdout nests the report via serde_json::json! (→ alphabetical manifest keys, leading broker) while runs family / runs list print via RunReport::to_json() (declaration order, leading commit). Both valid JSON, round-trip unaffected (the stored families.jsonl uses declaration order via to_string). If display consistency is wanted, render the wrapper by embedding report.to_json() instead of json!.

After cycle 0045 (registry lineage for families, #70), `aura sweep` / `walkforward` / `mc` persist to the family store (`families.jsonl`); no CLI command writes the flat `runs.jsonl` anymore (`aura run` / `--macd` / `--real` never persisted). So `aura runs list` and `aura runs rank <metric>` remain in the CLI but read a store nothing populates — a live dead-end surface. The 0045 spec deliberately kept `runs list` for "standalone (family-less) runs only", but no command currently produces a standalone run record. ## Decision needed (design fork) - **(a) Give the flat store a producer:** make `aura run` (and `--macd` / `--real`) persist its `RunReport` to `runs.jsonl` — possibly always, or behind a `--save` flag. This completes the spec's "standalone runs" framing and gives `runs list` / `rank` a live source. - **(b) Retire the flat-store CLI surface:** drop `aura runs list` / `runs rank`; families subsume them. The `aura-registry` flat API (`append` / `load` / `rank_by` / `optimize`) stays regardless — `optimize` backs the in-sample step of walk-forward and is library surface; only the CLI commands would go. Neither is clearly default (does `aura run` want a persistence side-effect, or stay a pure quick-check?), so this is a deliberate design pick, not a tidy. Context: `docs/design/INDEX.md` C18 realization note (cycle 0045) records this as a deferred follow-up. ## Minor sub-item (low, cosmetic) Family-wrapped `aura sweep` / `mc` / `walkforward` stdout nests the report via `serde_json::json!` (→ alphabetical manifest keys, leading `broker`) while `runs family` / `runs list` print via `RunReport::to_json()` (declaration order, leading `commit`). Both valid JSON, round-trip unaffected (the stored `families.jsonl` uses declaration order via `to_string`). If display consistency is wanted, render the wrapper by embedding `report.to_json()` instead of `json!`.
Brummel added the idea label 2026-06-15 18:34:28 +02:00
Brummel added this to the Runway — real-data ergonomics & honesty hardening milestone 2026-06-18 11:02:34 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#73