From 71c8f6ed24ffd0b055d2c54f27ce45a338219fc2 Mon Sep 17 00:00:00 2001 From: Brummel Date: Wed, 3 Jun 2026 12:19:30 +0200 Subject: [PATCH] audit: cycle 0002 tidy (clean) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Architect drift review over 724ad66..77a1d26 (node-contract-and-ctx): no code drift. The shipped node contract matches the ledger: - C8: Node = schema() + eval(ctx) -> Option; engine-provided zero-copy financial-indexed Window per input via Ctx; None = not-warmed-up. Sma authored in the downstream aura-std crate genuinely exercises the cross-crate contract. - C7: Ctx accessors take the wiring-checked typed column once (as_*) then hand a zero-copy Window — no dyn Any, no per-event alloc; panic-once-at-access matches "type check paid once at wiring". - C5: run_count freshness primitive untouched and still canonical. - Glossary: Node/Ctx/NodeSchema/InputSpec introduce no nomenclature competing with the canonical `node` entry or any Avoid list. One advisory item (resolution: carry-on, no ledger edit): Architect noted NodeSchema.output is a non-optional single ScalarKind, which structurally forbids the zero-output sink arm of C8/C22. This is honestly deferred in spec 0002 ("Out of scope: sinks / no-output nodes"). Resolution: the ledger records the contract (the full C8 target), not implementation status; building the producer arm first is normal incremental progress, and the deferral's home is the spec + forward queue, not the C8 contract text. Annotating C8 with "this arm is unimplemented" would conflate contract with status and require per-cycle upkeep. No code fix scheduled. Regression gate: profile regression list empty — architect is the sole gate, and it is clean. Next direction: the sim-loop / freshness slice (C4/C5).