68317ec95d
Cycle-close audit for the stop-default cycle (af8564dRED +2102305GREEN). Architect review: what holds — the argv extractors and the campaign member runner default to the same single-sourced regime constants; the multi-value refusal and the C10/C20 regime semantics survive; manifests stamp the resolved stop (C18). Three drift items, all resolved fix-path here: - generalize's default path was shipped untested; added the generalize_args_from_defaults_missing_knobs_to_the_regime unit test mirroring mc's sibling. - The None=>default / Some=>parse+single-value stop block recurred 4x across the walkforward/mc extractors; extracted into the generic stop_knob_or helper (refusal strings byte-identical; generalize's typed unwrap_or extractor deliberately not unified — no parsing there). - Ledger stop-defaulting note now records the two default representations: sweep binds no regime (late-resolved by the member runner), the three verbs bind the default eagerly into the document — same R behaviour, deliberately different content ids. Regression gate green, no baseline moved: full workspace suite 0 failures across all test-result groups; clippy -D warnings clean; cargo doc 0 warnings. No spec/plan working files existed (tdd entry path — the committed executable spec is the contract). refs #217