4acea45519
Cycle-close audit for the verb-axis-generalization cycle (a2294c7,e7efe1f,b849bb7). Architect drift review: what holds — all four verbs route through the one validate_and_register_axes seam into the campaign executor; RGrid gone workspace-wide; zero too_many_arguments allows in verb_sugar.rs; no r_sma_open embed at the verb dispatch sites (the aura-graph default embed survives by design). Five drift items found, all resolved fix-path in this commit: - README (blueprint-verbs section + mc row), glossary (walk-forward entry), and ledger (verb-dissolution passage) reconciled to the shipped generic grammar; the ledger HISTORY note now separates the two supersessions correctly (#159 retired the built-in --strategy demo surface; #220 de-welded the verbs) instead of mis-attributing the weld removal to #159. - Four stale characterization doc-comments in cli_run.rs reworded: the retired welded grammar is now named as the pinned grades' provenance, not the current spelling; one dangling reference to a deleted test repointed to the live anchor. - The quadruplicated dispatch blocks extracted into two shared helpers beside validate_and_register_axes: exit_axis_register_error (the AxisRegisterError exit-map, byte-identical stderr + exit codes) and campaign_window_ms (from_choice -> full_window -> unix-ms clip); generalize's explicit unclipped (Some, Some) passthrough arm is untouched — only its fallback arm, which already ran the identical mechanics, calls the helper. Regression gate green, no baseline moved (nothing to ratify): cargo test --workspace exit 0, 62 test-result groups, 0 failures; clippy --workspace --all-targets -D warnings clean; cargo doc --workspace --no-deps 0 warnings. Spent cycle spec + plan working files discarded per lifecycle. refs #220