Cycle-close tidy for visual-world-cut-2 (decimation #108 + run-context header #102).
Architect drift review (53eeba5..HEAD): the only drift was a STALE LEDGER — the C22
section still listed #102 (run-context header) and #108 (decimation) as deferred/open
after they shipped in 476342d. Resolved in this commit:
- the #101 first-cut note no longer claims "not yet a run-context header";
- a new "served-page hardening — cut 2" amendment records #102 (ChartMeta +
buildHeader, family window = span across members) and #108 (the pure decimate
min-max transform) as landed, both CLI-side (C14);
- the "Open architectural threads" list drops the now-landed run-context header.
Substantive gates (self-verified): C14 honoured — all decimation/header/pixel logic
is in aura-cli (render.rs/main.rs/chart-viewer.js); the only engine touch in range is
the one-line #100 cell.rs doc. C1 preserved — decimate is pure, deterministic
bucketing over the sorted-deduped spine, no-op under budget, monotonic spine (pinned
by a unit test). Regression: cargo test --workspace = 446 passed / 0 failed; cargo
clippy --workspace --all-targets -D warnings clean. No separate baseline script.
Residual debt filed as #110 (idea): the decimation budget is a fixed const (no
--width flag), and the min-then-max sub-pixel ordering is a real ts-displacement in
the non-default continuous x-mode. Both are local aura-cli refinements, neither a bug.
Ephemeral spec/plan removed at cycle close (docs/specs/0062, docs/plans/0062).
Cycle 0062 tidy: drift-clean after this ledger amendment.
This commit is contained in:
+31
-11
@@ -1020,11 +1020,12 @@ C1 — pure, no live external call), and emits a static self-contained uPlot pag
|
||||
encoding lives in `aura-engine` (`ColumnarTrace`, struct→JSON only), file I/O in
|
||||
`aura-registry`, rendering in `aura-cli` (`render_chart_html` + `chart-viewer.js`).
|
||||
First cut only — overlay (per-series y-scale) / timestamp-aligned panels; the served
|
||||
page injects the chart *series* but **not yet a run-context header** (the run manifest
|
||||
is persisted on disk in `index.json` but deliberately not surfaced in this naive
|
||||
viewer — a ratified scope call, follow-up filed). Families-comparison meta-views, a
|
||||
local server, and replay-clock controls remain open (see "Open architectural
|
||||
threads").
|
||||
page injected the chart *series* but no run-context header (the run manifest is
|
||||
persisted on disk in `index.json`, deliberately not surfaced in that first cut — a
|
||||
ratified scope call). The header (#102) and serve-time decimation (#108) landed in
|
||||
cut 2 (see the served-page-hardening amendment below); the families-comparison view
|
||||
landed too (#107). A local server and replay-clock controls remain open (see "Open
|
||||
architectural threads").
|
||||
**Amendment (family-member traces, #104, d3cb5f8).** The disk-trace layout extends
|
||||
to family runs: `aura sweep|mc|walkforward --trace <name>` persists *each member* as
|
||||
a nested standalone run-dir `runs/traces/<name>/<member_key>/`, reusing
|
||||
@@ -1091,10 +1092,29 @@ both a run and a family) is unreachable. Every error path exits 2, never panics
|
||||
(C18/C10 refuse-don't-guess). Engine untouched (C9/C14): the whole change is
|
||||
`aura-registry` (the resolver + classifier + guard) + `aura-cli` (the builder +
|
||||
`emit_chart` name-kind branch + `--tap`); the single-run page is byte-unchanged when
|
||||
no `--tap` is given. **Still deferred:** the run-context header on the served page
|
||||
(#102); multi-column tap selection (`build_comparison_chart_data` projects column 0 —
|
||||
the comparison taps in scope are single-column f64; #47); and the
|
||||
orchestration-composability rebuild (sweep/MC/WFO as composable meta-level tools).
|
||||
no `--tap` is given. **Still deferred:** multi-column tap selection
|
||||
(`build_comparison_chart_data` projects column 0 — the comparison taps in scope are
|
||||
single-column f64; #47); and the orchestration-composability rebuild (sweep/MC/WFO as
|
||||
composable meta-level tools).
|
||||
|
||||
**Amendment (served-page hardening — cut 2, #102 + #108, 476342d).** The two deferred
|
||||
follow-ons the #107 amendment named are realized, both confined to `aura-cli` (engine
|
||||
+ registry untouched, C14). **Run-context header (#102):** a `ChartMeta`
|
||||
(kind/name/commit/window/broker/seed/taps, + member count for a family, + bound params
|
||||
for a single run) is built from the `RunManifest` in
|
||||
`build_chart_data`/`build_comparison_chart_data`, injected into
|
||||
`window.AURA_TRACES.meta`, and rendered by a pure `buildHeader` in `chart-viewer.js`
|
||||
(headless `.mjs`-guarded, like `buildCharts`). The family window is the **span** across
|
||||
members `(min from, max to)` — the only reading that labels a disjoint walk-forward
|
||||
family's true OOS coverage (it collapses to the shared window for sweep/MC).
|
||||
**Decimation (#108):** a pure `decimate(ChartData, buckets) -> ChartData` min-max
|
||||
transform thins the served page to ≤ ~2·`CHART_DECIMATE_BUCKETS` spine slots
|
||||
(per-bucket min+max, nulls preserved), applied in `emit_chart` on both paths — a
|
||||
multi-year M1 family now renders a few-thousand-point page instead of 100s of MB; full
|
||||
recorded data stays on disk (view-only), and the walk-forward null-fill page collapses
|
||||
for free. Deterministic (C1): pure bucketing over the sorted-deduped spine, no-op under
|
||||
budget. Deferred refinements (#110): a `--width` budget flag (the budget is a fixed
|
||||
const) and true intra-bucket min/max ordering for the non-default continuous x-mode.
|
||||
|
||||
### C23 — Graph compilation and behaviour-preserving optimisation
|
||||
**Guarantee.** The bootstrap (C19) is a **compilation**: it lowers a param-generic,
|
||||
@@ -1166,8 +1186,8 @@ load-bearing in the flat graph.
|
||||
families-comparison **view** — `aura chart <family>` overlaying one tap across a
|
||||
family's members on a shared y-scale — shipped (#107, see the C22 amendment).
|
||||
Still open: richer comparison meta-views (sweep-surface heatmaps, cross-family /
|
||||
multi-strategy comparison, the run-context header #102, multi-column tap selection
|
||||
#47), a local server, and the run/replay clock controls.
|
||||
multi-strategy comparison, multi-column tap selection #47), a local server, and the
|
||||
run/replay clock controls.
|
||||
- **Parameter-space search strategies** (Bayesian/genetic) — pluggable policies
|
||||
atop the atomic sim unit (C12), not yet designed.
|
||||
- **`aura new` scaffolder, the experiment-builder API, and `Aura.toml`'s
|
||||
|
||||
Reference in New Issue
Block a user