Files
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

2.1 KiB

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)