Files
Aura/docs
Brummel 3a03617d6b audit: cycle close generalize dissolution — drift-clean (#210)
Second verb dissolution (#210) closed drift-clean. Architect: no ledger drift.

What holds (architect, verified against the diff + a live test run):
- Byte-parity proven, not assumed — the exact-grade anchor runs green through
  the dissolved path; {"family_id":"generalize-0"} survives (the per-cell Sweep
  families take a distinct campaign-prefixed name).
- C18 stamping preserved — the member runner maps cell.regime -> StopRule::Vol
  and stamps manifest.instrument; the anchor confirms regime-seam R == former
  grid-axis R.
- run_campaign_returning/present_campaign split is behaviour-preserving — the
  run record is written inside execute, so the sugar path (bypassing the
  presenter) still records it.
- Q4 is not drift — the +2 per-instrument Sweep families are the executor's
  uniform, reproducible audit artifacts (sweep-dissolution precedent,
  C18-consistent); stdout unchanged; the relaxed family pin is faithful.

Regression: cargo test --workspace green (every crate 0 failed);
clippy --workspace -D warnings clean.

Drift resolution:
- [medium] no-window generalize grades over symbols[0].full_window (one shared
  window) vs the inline path's per-instrument windows. RATIFIED: a single shared
  window is the campaign model's natural expression, the explicit-window path
  (both e2e + the exact-grade anchor) is byte-identical, and symbols[0] is a
  pragmatic pick; no value pin because a full-archive grade is fragile against
  archive growth. Deferred design reconsideration filed as #213.
- [low] two #[allow(too_many_arguments)] in verb_sugar.rs — carry-on; the
  arg-bundling refactor is best done once the remaining verbs dissolve (#214).

Spec + plan removed at cycle close (git-tracked in this project).

refs #210
2026-07-06 18:09:19 +02:00
..