697d81dd22
Milestone-close gate for milestone 37 (data-authorability boundary,
#310/#317/#271): source-blind consumer fieldtest against the release
binary at eb2b0a1, scenarios derived top-down from the milestone
promise rather than per-cycle axes.
- m37_1: NY Session authored via args + fold-selected taps, run e2e
over US500 (default and --tap plans; summaries correct, unlisted
tap inert).
- m37_2: London anchor registered by name, spliced via use into a
consumer with open SMA lengths, swept over GER40, reproduced 2/2
bit-identical (v2 propagates through the splice).
- m37_3a-e: five-way boundary-refusal battery; all exit 1 with
actionable prose, escalation path named for namespaced types.
Gate verdict: green — all three boundary mechanisms deliver the
promise; genuinely-new logic is turned away toward Rust. Findings
routed: fold-summary read-back absorbed into #309, cross-run tap-file
lifecycle evidence onto #311, bare-refusal escalation-pointer parity
onto #341 (refs #309, refs #311, refs #341).
32 lines
1.9 KiB
JSON
32 lines
1.9 KiB
JSON
[
|
|
{"op": "doc", "text": "NY first-session-bar momentum: SMA(5)-SMA(20) sign, traded only on the first 09:30 America/New_York 15m session bar"},
|
|
{"op": "source", "role": "price", "kind": "F64"},
|
|
{"op": "add", "type": "SMA", "name": "fast", "bind": {"length": {"I64": 5}}},
|
|
{"op": "add", "type": "SMA", "name": "slow", "bind": {"length": {"I64": 20}}},
|
|
{"op": "feed", "role": "price", "into": ["fast.series", "slow.series"]},
|
|
{"op": "add", "type": "Sub", "name": "sub"},
|
|
{"op": "connect", "from": "fast.value", "to": "sub.lhs"},
|
|
{"op": "connect", "from": "slow.value", "to": "sub.rhs"},
|
|
{"op": "add", "type": "Sign", "name": "sgn"},
|
|
{"op": "connect", "from": "sub.value", "to": "sgn.value"},
|
|
{"op": "add", "type": "Session", "name": "sess",
|
|
"args": {"tz": "America/New_York", "open": "09:30"},
|
|
"bind": {"period_minutes": {"I64": 15}}},
|
|
{"op": "feed", "role": "price", "into": ["sess.trigger"]},
|
|
{"op": "add", "type": "EqConst", "name": "isfirst", "bind": {"target": {"I64": 1}}},
|
|
{"op": "connect", "from": "sess.bars_since_open", "to": "isfirst.value"},
|
|
{"op": "add", "type": "Const", "name": "flat", "bind": {"value": {"F64": 0.0}}},
|
|
{"op": "feed", "role": "price", "into": ["flat.clock"]},
|
|
{"op": "add", "type": "Select", "name": "gate"},
|
|
{"op": "connect", "from": "isfirst.value", "to": "gate.cond"},
|
|
{"op": "connect", "from": "sgn.value", "to": "gate.then"},
|
|
{"op": "connect", "from": "flat.value", "to": "gate.otherwise"},
|
|
{"op": "add", "type": "Bias", "name": "bias", "bind": {"scale": {"F64": 1.0}}},
|
|
{"op": "connect", "from": "gate.value", "to": "bias.signal"},
|
|
{"op": "tap", "from": "sub.value", "as": "spread"},
|
|
{"op": "tap", "from": "isfirst.value", "as": "first_bar"},
|
|
{"op": "tap", "from": "gate.value", "as": "gated_signal"},
|
|
{"op": "tap", "from": "slow.value", "as": "slow_ma"},
|
|
{"op": "expose", "from": "bias.bias", "as": "bias"}
|
|
]
|