Registered blueprints drop their declared taps — sweep --trace never persists a declared tap despite the op doc calling it recordable
#327
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observed (binary-only M1 milestone fieldtest, 2026-07-24, binary
d26f0c8)graph build --helpdocuments the optapas "declare a recordable tap on a wire (expose's output-side twin)". The chain breaks at registration:aura graph build < tapped.oplist.jsonDOES serialize the declarations: the emitted blueprint carries"taps":[{"name":"signal",…},{"name":"price",…}].aura sweep <bp> --real EURUSD --trace t(which registers the blueprint), the store copy underruns/blueprints/<content-id>.jsonhas NOtapsfield at all — the declarations are silently stripped on the registration path.index.jsonconsequently lists only the closed presentation set (equity,exposure,r_equity);measure ic --signal signalandchart --tap signalthen report the tap does not exist.Repro corpus:
fieldtests/m1-self-description/s5_trace_measurement/(tapped.oplist.json + README).Resolution fork (belongs with the #312 design)
Either persist declared taps through register + trace — which is exactly the missing mechanism #312 needs (a persistable signal/price pair for
measure ic) — or drop "recordable" from the op's stated meaning. The former makes #312 nearly free; deciding it is M6 scope.Same silent-drop family as #326, one path further in: there the op-list parser drops unknown fields, here the registration path drops a known, documented one.
Triage (2026-07-24)
Sorted into the Measurement reachable milestone: this bug is the missing mechanism for #312 (see the fieldtest evidence comment there), so the milestone-internal sequence becomes #327 → #312+#294 (together) → #318.