Blueprint-data family-verb polish: sweep-side closed error, mc reproduce seed label, mandatory-open-knobs doc #178

Closed
opened 2026-07-01 17:02:16 +02:00 by Brummel · 0 comments
Owner

Three low-severity polish items on the blueprint-data family-verb surface,
surfaced by the World/C21 milestone fieldtest (detail per finding in
docs/specs/fieldtest-milestone-world-c21-blueprint-data-families.md):

  1. sweep-side closed error is terse where the mc-side equivalent is exemplary.
    sweep <closed bp> --axis <knob>UnknownKnob("<knob>") — the knob exists
    but is bound out, so "UnknownKnob" is technically-true-but-misleading. The
    inverse mc <open bp> says "mc requires a closed blueprint; N free knob(s) —
    bind them or use aura sweep --axis". Give the sweep side the symmetric "this
    blueprint is fully bound; nothing to sweep (use --list-axes)" message.

  2. mc reproduce lines omit the seed. MC reproduce prints
    <fam>-0 member reproduced: bit-identical with a BLANK member label — a
    consumer cannot tell which seed reproduced (sweep/walkforward echo their
    params). The mc run output carries "seed":N; only the reproduce line drops
    it. Label MC reproduce lines with seed=N.

  3. Doc-gap: every open knob is MANDATORY on sweep/walkforward. --list-axes
    presents the open knobs, but sweeping a SUBSET fails with MissingKnob(...)
    a sweep binds the blueprint's ENTIRE open param-space (no default; consistent
    with C19's value-empty leaf, but that consequence is nowhere in the family-verb
    docs). The ledger/glossary frame --list-axes as "discover sweepable knobs"
    and say the names are "exactly what --axis binds" — true, but silent that they
    are ALL required. Tighten the docs (state that a subset needs the rest bound out
    at authoring time or pinned via single-value axes). Optionally: error at parse
    time listing all missing knobs at once, not one-at-a-time.

refs #170

Three low-severity polish items on the blueprint-data family-verb surface, surfaced by the World/C21 milestone fieldtest (detail per finding in docs/specs/fieldtest-milestone-world-c21-blueprint-data-families.md): 1. **sweep-side closed error is terse** where the mc-side equivalent is exemplary. `sweep <closed bp> --axis <knob>` → `UnknownKnob("<knob>")` — the knob *exists* but is bound out, so "UnknownKnob" is technically-true-but-misleading. The inverse `mc <open bp>` says "mc requires a closed blueprint; N free knob(s) — bind them or use `aura sweep --axis`". Give the sweep side the symmetric "this blueprint is fully bound; nothing to sweep (use `--list-axes`)" message. 2. **`mc reproduce` lines omit the seed.** MC reproduce prints `<fam>-0 member reproduced: bit-identical` with a BLANK member label — a consumer cannot tell which seed reproduced (sweep/walkforward echo their params). The `mc` run output carries `"seed":N`; only the reproduce line drops it. Label MC reproduce lines with `seed=N`. 3. **Doc-gap: every open knob is MANDATORY on sweep/walkforward.** `--list-axes` presents the open knobs, but sweeping a SUBSET fails with `MissingKnob(...)` — a sweep binds the blueprint's ENTIRE open param-space (no default; consistent with C19's value-empty leaf, but that consequence is nowhere in the family-verb docs). The ledger/glossary frame `--list-axes` as "discover sweepable knobs" and say the names are "exactly what `--axis` binds" — true, but silent that they are ALL required. Tighten the docs (state that a subset needs the rest bound out at authoring time or pinned via single-value axes). Optionally: error at parse time listing all missing knobs at once, not one-at-a-time. refs #170
Brummel added the idea label 2026-07-01 17:02:16 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Aura#178