Files
Aura/fieldtests/m1-self-description/s3_vocabulary_breadth
claude 9124275bf3 fieldtest: m1-self-description — 5 examples, 1 bug / 3 friction / 3 spec-gap
Binary-only milestone fieldtest for milestone 36 (self-description): a
fieldtester agent bootstrapped from the release binary (d26f0c8) alone —
no engine sources, no repo docs, no bootstrap card — and drove five
end-to-end scenarios: cold bootstrap -> author -> validate (green,
synthetic + real EURUSD, 3944 trades), execution semantics +
latch/edge-pulse idiom (green), vocabulary breadth (33 nodes / 7 folds /
17 metrics / 6+6 blocks, every entry with a meaning), document ramp from
a bare {} (green, 3 members), trace/measurement path (dead-ends,
tracked).

Verdict: the bootstrap card (#267, closed as superseded) is empirically
redundant for the bootstrap->author->validate spine. Two seams keep the
promise short of end-to-end, both tracked outside M1: the declared-tap
drop on the registration path (#327, the missing mechanism of #312/M6)
and the sugar<->document axis namespace (#328, prerequisite of the #319
retirement). Friction routed: #329 #330 #331; evidence comments on #312
and #324. Milestone 36 closed with this adjudication; the fieldtest spec
remains the usual git-ignored working file.

refs #267, refs #312, refs #319
2026-07-24 11:06:22 +02:00
..

s3 — vocabulary self-description breadth

Protected property: every closed-vocabulary entry class the binary exposes is reachable and carries a non-empty one-line meaning, and no entry's meaning is a byte-identical (non-discriminating) duplicate of a sibling in the same class.

breadth_probe.sh drives only aura introspection output; breadth_probe.out is its captured result. Run with AURA=<path-to-release-aura> bash breadth_probe.sh.

Result (see breadth_probe.out)

  • 33/33 node types resolve via graph introspect --node <T> with a "<Name> — <meaning>" schema. PASS.
  • 7/7 folds, 6/6 process blocks, 6/6 campaign blocks, 17/17 metrics reachable and carry a meaning (metrics also carry applicability tags). PASS.
  • One blemish: three distinct node types — CarryCost, ConstantCost, VolSlippageCost — share the byte-identical one-liner "cost-model node: charges its cost in R from position geometry, at close or accrued per held cycle". From --vocabulary (the primary discovery surface) a consumer cannot tell them apart; the distinguishing detail (the param carry_per_cycle vs cost_per_trade vs slip_vol_mult, and the extra volatility input) lives only in --node and in the campaign cost slot prose. The one-liner exists (C29 satisfied) but is not entry-specific.