docs: close the verb-dissolution milestone — ledger status 4/4 + glossary sugar note

The verb-dissolution STATUS paragraph read "cycle 0110 dissolved the first verb
… Remaining: generalize, walkforward, and mc's R-bootstrap path" — stale at HEAD,
where all four verbs are dissolved. The per-cycle audits were each scoped to
their own commit range, so the cumulative status line lagged; the milestone
close fieldtest (#210, 2026-07-07) surfaced the drift.

Refresh the paragraph to the completed state, and record the per-verb
dissolved-form asymmetry as intended scope (ratify): for sweep the dissolved
form is the blueprint file (`<bp.json> --real`) while `aura sweep --strategy
r-sma --real` stays the inline built-in path — the built-in `--strategy` demo
surface is #159's hard-wired-harness retirement target, not the dissolution's;
for generalize/walkforward/mc the dissolved form is `--strategy r-sma --real`.

Glossary: note in the sweep and walk-forward entries that the CLI verbs are now
thin sugar over the campaign path.

Milestone closed 2026-07-07 on a green end-to-end fieldtest (0 bugs). Forward
findings filed: #216 (risk-axis discoverability), #217 (verb knob asymmetry),
#218 (no-project store litter).

refs #210
This commit is contained in:
2026-07-07 10:48:17 +02:00
parent f95de8fcc2
commit b761b3c9c2
2 changed files with 20 additions and 9 deletions
+18 -7
View File
@@ -2348,13 +2348,24 @@ the project layout and docs-by-role are open (#192 context).
"Verb dissolution" (#210)**: the fork triage of 2026-07-04 decided its design (dissolve
the real-data blueprint branches only, built-in/synthetic branches stay verb-wired until
#159; generated documents auto-registered; full behaviour parity modulo the recorded
additive instrument stamp), and cycle 0110 dissolved the first verb — `aura sweep
<bp.json> --real …` now runs as sugar over a generated, content-addressed campaign
document through the one executor, enabled by the `std::sweep` selection group becoming
optional (all-or-nothing, selection-free = terminal-stage-only; wire form and every
stored content id unchanged). Ad-hoc sweep intent no longer evaporates into shell
history — the #188 diagnosis's cure applied to the verbs themselves. Remaining there:
generalize, walkforward, and mc's R-bootstrap path (#210 decision 7 order).
additive instrument stamp), and the verb set dissolved in the #210-decision-7 order: cycle 0110 took `aura sweep
<bp.json> --real …` (enabled by the `std::sweep` selection group becoming optional —
all-or-nothing, selection-free = terminal-stage-only; wire form and every stored content
id unchanged), then generalize, walkforward, and mc's R-bootstrap path, each now sugar over
a generated, content-addressed campaign document through the one executor, plus a structural
risk-regime axis (`CampaignDoc.risk: [RiskRegime]`, sole `vol{length,k}` variant — the stop
compared as a matrix dimension, stamped into every member manifest, never argmax-swept).
Ad-hoc verb intent no longer evaporates into shell history — the #188 diagnosis's cure
applied to the verbs themselves. **The dissolved form is per-verb, by intended scope**
(ratified at milestone close, fieldtest 2026-07-07): for sweep it is the blueprint file
(`<bp.json> --real`), while `aura sweep --strategy r-sma --real` stays the inline built-in
path (its member lines carry no instrument/topology_hash/selection stamp and register no
campaign document) — the built-in `--strategy` demo surface is #159's hard-wired-harness
retirement target, not the dissolution's; for generalize/walkforward/mc the dissolved form
is `--strategy r-sma --real`. Milestone closed 2026-07-07 on a green end-to-end fieldtest
(0 bugs; behaviour preservation, campaign-substrate reach-through, and the risk-regime axis
all confirmed); residual findings are discoverability/ergonomics follow-ups (#216 risk-axis
discoverability, #217 verb knob asymmetry, #218 no-project store litter).
- **Inferential honesty of the World — family-selection without false-discovery
control (tracked: milestone "Inferential validation (defend against false
discovery at sweep scale)", #144 / #145 / #146; adjacent #139).** The World's
+2 -2
View File
@@ -285,7 +285,7 @@ The harness's structural parameterization — which strategy, instrument(s), bro
### sweep
**Avoid:** param-sweep, parameter sweep
An orchestration axis varying tuning params (grid or random) within a fixed structure. The inner, param-tuning loop, distinct from the structural experiment matrix. On a loaded blueprint every open knob (`--list-axes`) is **required** — a subset is refused with the missing knob named; pin an unwanted knob with a single-value axis (`--axis name=<one-value>`), there is no default. `aura sweep --axis` takes the `--list-axes`-printed, root-composite-wrapped name (e.g. `graph.fast.length`) — not the raw `param_space` name (`fast.length`) that `graph introspect --params` and a campaign document's axes use; the CLI strips exactly one leading wrapper segment (#210).
An orchestration axis varying tuning params (grid or random) within a fixed structure. The inner, param-tuning loop, distinct from the structural experiment matrix. On a loaded blueprint every open knob (`--list-axes`) is **required** — a subset is refused with the missing knob named; pin an unwanted knob with a single-value axis (`--axis name=<one-value>`), there is no default. `aura sweep --axis` takes the `--list-axes`-printed, root-composite-wrapped name (e.g. `graph.fast.length`) — not the raw `param_space` name (`fast.length`) that `graph introspect --params` and a campaign document's axes use; the CLI strips exactly one leading wrapper segment (#210). The `aura sweep` CLI verb is now thin sugar over the `campaign document` path — its blueprint form (`<bp.json> --real`) translates to a generated, content-addressed campaign run through the one executor (#210); `aura sweep --strategy …` stays the inline built-in-demo path (#159's hard-wired-harness retirement target).
### tap
**Avoid:** —
@@ -301,7 +301,7 @@ The **optional** documented pre-trade-gate seam in the execution chain (`stop-ru
### walk-forward
**Avoid:** —
An orchestration axis: rolling in-sample optimize + out-of-sample test across moving windows, stitched into one out-of-sample verdict plus parameter stability. As with `sweep`, every open knob named by `--list-axes` is **required** on a loaded blueprint — a subset is refused with the missing knob named; pin one with a single-value axis, there is no default.
An orchestration axis: rolling in-sample optimize + out-of-sample test across moving windows, stitched into one out-of-sample verdict plus parameter stability. As with `sweep`, every open knob named by `--list-axes` is **required** on a loaded blueprint — a subset is refused with the missing knob named; pin one with a single-value axis, there is no default. The `aura walkforward --strategy r-sma --real` CLI verb is now thin sugar over the `campaign document` path — translated to a generated campaign (`std::sweep → std::walk_forward`) run through the one executor (#210).
### World
**Avoid:** —