Files
Aura/fieldtests/m1-self-description/s5_trace_measurement/README.md
T
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

40 lines
2.1 KiB
Markdown

# s5 — trace / measurement path
**Protected property:** from the surfaces a consumer can discover which verbs
persist per-cycle traces and reach a signal-quality measurement — the milestone's
own headline being "signal quality is measured in R".
## What the surfaces say
`aura --help`: "Traces: `sweep --real --trace` / `walkforward --real --trace`
record per-cycle taps under runs/, consumed by `aura chart` and `aura measure`."
`aura measure ic --help`: "Information Coefficient of a **signal** tap against
forward returns of a **price** tap" — requires `--signal <SIGNAL>` and
`--price <PRICE>`.
## What actually happens
- Discovery works: `runs families` lists the traced families; `measure ic`'s
`<RUN>` is the member path **relative to** `runs/traces/`
(`<family>/<instr-window>/<param-combo>`); the missing-tap error is clear and
lists available taps. `measure ic` runs green on the persisted taps.
- **Dead-end for the intended inputs.** The only taps any surface-reachable verb
persists are the closed presentation set `equity` / `exposure` / `r_equity`
(`net_r_equity`) — execution-side R/pip curves, **not** the strategy's bias
signal nor the instrument price. So `measure ic` can only be fed, e.g.,
`--signal exposure --price equity`, which is not a signal-vs-price IC at all
(result ≈ noise, 0.0019).
- **Declared taps are silently dropped.** `graph build --help` documents the op
`tap` as *"declare a **recordable** tap on a wire"*. `tapped.oplist.json` (this
dir) declares `tap bias.bias as signal` and `tap fast.value as price`, yet after
`sweep --real --trace` the persisted set is still `["equity","exposure",
"r_equity"]`; both `measure ic --signal signal` and `chart --tap signal` report
the tap does not exist. There is no surface-documented path to persist a genuine
signal or price tap, so `measure ic`'s stated contract is unreachable end-to-end.
## Evidence (verbatim)
```
$ aura measure ic --signal signal --price price <tapped-run>
aura: run '…' has no tap 'signal' (taps: ["equity", "exposure", "r_equity"])
$ aura chart 010f8afa-0 --tap signal
aura: no family member has a tap named 'signal' (exit 0)
```