audit: cycle 0102 tidy (drift-clean after two ledger-mirror alignments)

Architect review of d7c935d..HEAD. What holds: C13/C16 separation
verified by diff (descriptor in aura-core::project, loader entirely in
aura-cli::project, aura-engine gains only the additive provenance
field); the C-tier-before-Rust-tier discipline is enforced in load()
(magic -> version -> stamps, fn pointers touched only after Ok);
C17/C24/invariant-9 hold (paths-only Aura.toml, injected merged
resolver, charter at the one seam); outside-a-project byte-identity
confirmed by the full green suite incl. every golden-bearing test.

Regression: cargo build --workspace rc=0; cargo test --workspace 862
passed / 0 failed (cli_run 133, project_load 7 e2e); clippy
--workspace --all-targets -D warnings rc=0; cargo doc --workspace
--no-deps 0 warnings. No baselines exist to move, so nothing to
ratify.

Drift resolved in this commit: two stale project-as-crate ledger
mirrors — the C24 status paragraph still calling the layer
sequencing-coupled/unbuilt, and the #109 open-thread bullet naming it
an unbuilt half — rewritten to record the landed load boundary (the
aura new scaffolder and the experiment-builder API stay open).

Carried holds (plan-prescribed bytes, cosmetic): the unreachable
rsplit fallback in node_name, the unreachable! build closure in one
aura-core test.

Ephemeral cycle artifacts removed per convention: spec 0102, plan 0102.

refs #180
This commit is contained in:
2026-07-02 18:20:23 +02:00
parent 4928e289f7
commit b672a37903
3 changed files with 13 additions and 1884 deletions
+13 -8
View File
@@ -1983,10 +1983,13 @@ the project-as-crate layer lands (#159, paired with #157's data-authoring surfac
(deliberate; fails clean as `UnknownNodeType`, never a silent wrong graph): recording
sinks (capture an `mpsc::Sender` — runtime identity, not param-generic data, C19) and
construction-arg builders (`LinComb` / `CostSum` / `SimBroker` / `Session`
structural-axis args, a C20 concern), additively addable later (#156). Still
sequencing-coupled to the **project-as-crate authoring layer** (`aura new` /
`Aura.toml` / `cdylib` loading, C16/C17) and the **composable-orchestration** thread
(#109): topology-as-data is the substrate both stand on.
structural-axis args, a C20 concern), additively addable later (#156). The
**project-as-crate load boundary landed in cycle 0102** (`Aura.toml` discovery +
`cdylib` loading + merged project std vocabulary — see the C13 realization
note); of the two layers this paragraph used to name as sequencing-coupled,
what remains open is the `aura new` scaffolder (the milestone's next cycle) and
the **composable-orchestration** thread (#109): topology-as-data is the
substrate both stand on.
**Op-script grammar (`aura graph build`, the #157 wire surface).** The construction
op-script is a JSON **array of ops**, each object internally tagged by `"op"`,
@@ -2080,12 +2083,14 @@ artifact, and any run is deterministic once instantiated" (C1).
schema was settled paths-only in cycle 0102 (data archive root, runs dir —
see the C13 realization note); the load boundary itself shipped there.
- **The analysis meta-level — composable orchestration + project-as-crate authoring
(tracked: #109).** aura's differentiator (C21) has two unbuilt halves: (1) the
(tracked: #109).** aura's differentiator (C21) had two unbuilt halves: (1) the
orchestration axes (sweep / Monte-Carlo / walk-forward) becoming *composable tools*
a user wires into an analysis workflow, rather than today's hard-wired CLI verbs
(`sweep_family` / `walkforward_family` in `aura-cli`); and (2) the project-as-crate
authoring layer above (the `aura new` / experiment-builder API / `Aura.toml` thread
+ cdylib loading, C16/C17). On the meta-level, authoring a strategy is *wiring
(`sweep_family` / `walkforward_family` in `aura-cli`) — still open; and (2) the
project-as-crate authoring layer above — its **load boundary landed in cycle 0102**
(`Aura.toml` discovery + cdylib loading + merged vocabulary, C13 realization note;
the `aura new` scaffolder and the experiment-builder API remain open, C16/C17).
On the meta-level, authoring a strategy is *wiring
existing nodes* (C9 composition) + *defining the analysis framework* (C21), not
writing new nodes; the user wants it driven via the CLI, later the interactive
server / playground (C14/C22). **Resolved (2026-06-29) → C24.** The fork was