From 654b23ad1f9ec91d37f7f7087922d3ce6faf804f Mon Sep 17 00:00:00 2001 From: Brummel Date: Wed, 10 Jun 2026 20:41:44 +0200 Subject: [PATCH] =?UTF-8?q?audit:=20cycle=200029=20(#33)=20=E2=80=94=20run?= =?UTF-8?q?=20registry;=20one=20ledger=20drift=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cycle-close architect review of 16e31fe..HEAD against docs/design/INDEX.md + CLAUDE.md. Regression gate: none configured (commands.regression: []), so the architect is the sole gate. What holds: - C18 honoured — aura-registry stores (manifest, metrics) RunReports append-only to runs/runs.jsonl, reproducible-from-manifest; no git/Gitea duplication, no multi-project manager. The depth deferrals (lineage, re-derive, run-diff, run_id, Aura.toml runs-dir) are named in the spec, not silently dropped. - C1 preserved — the sweep stays disjoint/lock-free; "sweep == N independent runs" now compares full RunReports; serde_json output is deterministic. - C12/C19/C20 fit — SweepPoint.report closes cycle C's deferred manifest-per- point gap; the manifest stays World-supplied (engine `sweep` is `Fn -> RunReport`, domain-free). - Workspace green (cli_run 11, registry 5, engine 93, …); clippy clean. Resolution: - FIX (this commit): docs/design/INDEX.md "External components" (the data-server row) still asserted the struck "external-dependency firewall / engine crates stay external-dependency-free" framing — stale after the C16 amendment (aura- core/aura-engine now link serde). Rewritten to the amended per-case policy. The iter-1 commit's "no ledger text still asserts it" missed this mirror; it is now true (re-grep clean across the ledger and live source). - FOLLOW-UP (#54, idea): RunReport has two divergent JSON encoders — serde for the on-disk store, hand-rolled to_json for stdout. This was a deliberate, spec-named deferral (keep stdout goldens stable this cycle); filed for the stdout→serde unification that retires the last hand-rolled writer. Ratify: the C16 amendment (blanket zero-dependency -> considered per-case policy) is the intentional contract change of this cycle, justified in the 0029 spec and the iter-1 commit; this audit ratifies it as drift-clean (the codebase no longer contradicts it anywhere). closes #33 --- docs/design/INDEX.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/design/INDEX.md b/docs/design/INDEX.md index 79398b4..247299f 100644 --- a/docs/design/INDEX.md +++ b/docs/design/INDEX.md @@ -66,13 +66,15 @@ source of truth — not session memory. boundary (C3) therefore **transposes** these AoS records into aura's SoA columns (C7) and normalizes `time_ms` → canonical epoch-ns at that one boundary. Pulled in as a cargo git dependency by the **`aura-ingest`** crate - (cycle 0011) — the ingestion edge and the workspace's **external-dependency - firewall**: `aura-ingest` is the *only* crate that links `data-server` (hence - its transitive `chrono`/`regex`/`zip`), so the engine crates (`aura-core` / - `aura-std` / `aura-engine` / `aura-cli`) and the frozen deploy artifact (C13) - stay external-dependency-free. Consequence: `cargo build/test --workspace` now - resolves from a populated cargo cache (one Gitea fetch) rather than fully - offline. + (cycle 0011) — the **data-source ingestion edge**, where the `data-server` + external tree (and its transitive `chrono`/`regex`/`zip`) enters the workspace. + Under the amended C16 **per-case dependency policy** (cycle 0029), `aura-ingest` + is no longer a zero-dep *firewall* for the rest: the engine crates link + standard vetted crates where they earn their place (e.g. `serde`/`serde_json` + for the run registry, cycle 0029), with particular scrutiny for the frozen + deploy artifact (C13). Consequence: `cargo build/test --workspace` resolves + from a populated cargo cache (a Gitea fetch for `data-server` + crates.io for + the standard crates) rather than fully offline. - **RustAst (`myc`)** — `~/dev/RustAst`, Gitea `Brummel/RustAst` (`http://192.168.178.103:3000/Brummel/RustAst.git`). The predecessor DSL attempt (Foundation): **a conceptual reference, never a dependency** — its DSL authoring