Files
Brummel f95de8fcc2 fieldtest: milestone verb-dissolution — 3 scenarios, 8 findings
Milestone-close fieldtest for "Verb dissolution" (#210), authored from the
public interface only. Three end-to-end scenarios over the real GER40/USDJPY
2025 archive:
  1. all four dissolved verbs on the r-sma real path (sweep via blueprint;
     generalize/walkforward/mc via --strategy) — correct + deterministic;
  2. reach-through — `aura generalize` auto-registers a campaign+process
     document and `aura campaign run <id>` reproduces worst_case byte-for-byte;
  3. a hand-authored 2-instrument × 2-window × 2-regime matrix (8 cells → 4
     generalizations) no verb can express — regimes compared, never argmax'd.

Result: 0 bugs; the core promise holds empirically (behaviour preservation,
campaign-substrate reach-through, and the risk-regime axis all confirmed).
Residual findings are discoverability/ergonomics follow-ups, filed as #216
(risk-axis discoverability), #217 (verb knob asymmetry), #218 (no-project
store litter). The friction-and-bug spec stays a git-ignored working file.
2026-07-07 10:48:17 +02:00

4 lines
9.0 KiB
JSON

{"campaign":"18844db5ee31af117fa9f3ed405a11e62f8d99f9795097d22e4f8b4002c4317e","process":"87851fd8c2fd1a42fe48f921c44db6026b67d67a50d3a708783e454552f677ce","run":0,"seed":0,"cells":[{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"GER40","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"18844db5-0-GER40-w0-r0-s0-0","selection":{"winner_ordinal":0,"params":[["fast.length",{"I64":5}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"expectancy_r","n_trials":1,"raw_winner_metric":0.020714763278940063,"mode":"Argmax"}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"USDJPY","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"18844db5-0-USDJPY-w0-r0-s0-0","selection":{"winner_ordinal":0,"params":[["fast.length",{"I64":5}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"expectancy_r","n_trials":1,"raw_winner_metric":-0.02015289368686083,"mode":"Argmax"}}}]}],"generalizations":[{"strategy_ordinal":0,"window_ordinal":0,"regime_ordinal":0,"generalization":{"selection_metric":"expectancy_r","n_instruments":2,"worst_case":-0.02015289368686083,"sign_agreement":1,"per_instrument":[["GER40",0.020714763278940063],["USDJPY",-0.02015289368686083]]},"winners":[["GER40",[["fast.length",{"I64":5}],["slow.length",{"I64":20}]]],["USDJPY",[["fast.length",{"I64":5}],["slow.length",{"I64":20}]]]]}]}
{"campaign":"18844db5ee31af117fa9f3ed405a11e62f8d99f9795097d22e4f8b4002c4317e","process":"87851fd8c2fd1a42fe48f921c44db6026b67d67a50d3a708783e454552f677ce","run":1,"seed":0,"cells":[{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"GER40","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"18844db5-0-GER40-w0-r0-s0-1","selection":{"winner_ordinal":0,"params":[["fast.length",{"I64":5}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"expectancy_r","n_trials":1,"raw_winner_metric":0.020714763278940063,"mode":"Argmax"}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"USDJPY","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"18844db5-0-USDJPY-w0-r0-s0-1","selection":{"winner_ordinal":0,"params":[["fast.length",{"I64":5}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"expectancy_r","n_trials":1,"raw_winner_metric":-0.02015289368686083,"mode":"Argmax"}}}]}],"generalizations":[{"strategy_ordinal":0,"window_ordinal":0,"regime_ordinal":0,"generalization":{"selection_metric":"expectancy_r","n_instruments":2,"worst_case":-0.02015289368686083,"sign_agreement":1,"per_instrument":[["GER40",0.020714763278940063],["USDJPY",-0.02015289368686083]]},"winners":[["GER40",[["fast.length",{"I64":5}],["slow.length",{"I64":20}]]],["USDJPY",[["fast.length",{"I64":5}],["slow.length",{"I64":20}]]]]}]}
{"campaign":"9a10a79992c81520f9fbb3e01c43651f89f1caa4ffeb8f16b7821c0e78bc808a","process":"d68e747465a7e0ccde2fc1ea425119bd2f2bc26c43a3001a71c7ee0b6ac6a901","run":0,"seed":42,"cells":[{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"GER40","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-GER40-w0-r0-s0-0","selection":{"winner_ordinal":1,"params":[["fast.length",{"I64":3}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":0.10148439699175255,"mode":"Argmax","deflated_score":-0.08114854473066763,"overfit_probability":0.34665334665334663,"n_resamples":1000,"block_len":5,"seed":42}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"GER40","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-GER40-w0-r1-s0-0","selection":{"winner_ordinal":1,"params":[["fast.length",{"I64":3}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":0.08616357801435585,"mode":"Argmax","deflated_score":-0.10805573667334291,"overfit_probability":0.4775224775224775,"n_resamples":1000,"block_len":5,"seed":42}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"GER40","window_ms":[1719792000000,1735689600000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-GER40-w1-r0-s0-0","selection":{"winner_ordinal":0,"params":[["fast.length",{"I64":3}],["slow.length",{"I64":12}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":-0.04076578974816012,"mode":"Argmax","deflated_score":-0.22196079259088028,"overfit_probability":0.993006993006993,"n_resamples":1000,"block_len":5,"seed":42}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"GER40","window_ms":[1719792000000,1735689600000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-GER40-w1-r1-s0-0","selection":{"winner_ordinal":0,"params":[["fast.length",{"I64":3}],["slow.length",{"I64":12}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":-0.04041165246874232,"mode":"Argmax","deflated_score":-0.2402782956052792,"overfit_probability":0.986013986013986,"n_resamples":1000,"block_len":5,"seed":42}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"USDJPY","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-USDJPY-w0-r0-s0-0","selection":{"winner_ordinal":3,"params":[["fast.length",{"I64":5}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":-0.08851495715635345,"mode":"Argmax","deflated_score":-0.2397838721442369,"overfit_probability":1.0,"n_resamples":1000,"block_len":5,"seed":42}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"USDJPY","window_ms":[1735689600000,1751328000000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-USDJPY-w0-r1-s0-0","selection":{"winner_ordinal":3,"params":[["fast.length",{"I64":5}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":-0.12040461736026072,"mode":"Argmax","deflated_score":-0.28156217867888617,"overfit_probability":1.0,"n_resamples":1000,"block_len":5,"seed":42}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"USDJPY","window_ms":[1719792000000,1735689600000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-USDJPY-w1-r0-s0-0","selection":{"winner_ordinal":1,"params":[["fast.length",{"I64":3}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":0.08358080475399424,"mode":"Argmax","deflated_score":-0.07173920660059865,"overfit_probability":0.40559440559440557,"n_resamples":1000,"block_len":5,"seed":42}}}]},{"strategy":"546f4838aca6b0bf67140b5868b4aba18fdc53be57e6cca28bf23588fbf68027","instrument":"USDJPY","window_ms":[1719792000000,1735689600000],"stages":[{"block":"std::sweep","family_id":"9a10a799-0-USDJPY-w1-r1-s0-0","selection":{"winner_ordinal":1,"params":[["fast.length",{"I64":3}],["slow.length",{"I64":20}]],"selection":{"selection_metric":"sqn_normalized","n_trials":4,"raw_winner_metric":0.07752903615301221,"mode":"Argmax","deflated_score":-0.09653911415964003,"overfit_probability":0.5074925074925075,"n_resamples":1000,"block_len":5,"seed":42}}}]}],"generalizations":[{"strategy_ordinal":0,"window_ordinal":0,"regime_ordinal":0,"generalization":{"selection_metric":"expectancy_r","n_instruments":2,"worst_case":-0.02015289368686083,"sign_agreement":1,"per_instrument":[["GER40",0.022214720124996902],["USDJPY",-0.02015289368686083]]},"winners":[["GER40",[["fast.length",{"I64":3}],["slow.length",{"I64":20}]]],["USDJPY",[["fast.length",{"I64":5}],["slow.length",{"I64":20}]]]]},{"strategy_ordinal":0,"window_ordinal":0,"regime_ordinal":1,"generalization":{"selection_metric":"expectancy_r","n_instruments":2,"worst_case":-0.019030434830470302,"sign_agreement":1,"per_instrument":[["GER40",0.013069073372316402],["USDJPY",-0.019030434830470302]]},"winners":[["GER40",[["fast.length",{"I64":3}],["slow.length",{"I64":20}]]],["USDJPY",[["fast.length",{"I64":5}],["slow.length",{"I64":20}]]]]},{"strategy_ordinal":0,"window_ordinal":1,"regime_ordinal":0,"generalization":{"selection_metric":"expectancy_r","n_instruments":2,"worst_case":-0.006927220530948696,"sign_agreement":1,"per_instrument":[["GER40",-0.006927220530948696],["USDJPY",0.022075569990904518]]},"winners":[["GER40",[["fast.length",{"I64":3}],["slow.length",{"I64":12}]]],["USDJPY",[["fast.length",{"I64":3}],["slow.length",{"I64":20}]]]]},{"strategy_ordinal":0,"window_ordinal":1,"regime_ordinal":1,"generalization":{"selection_metric":"expectancy_r","n_instruments":2,"worst_case":-0.004675086476808556,"sign_agreement":1,"per_instrument":[["GER40",-0.004675086476808556],["USDJPY",0.013826491137629468]]},"winners":[["GER40",[["fast.length",{"I64":3}],["slow.length",{"I64":12}]]],["USDJPY",[["fast.length",{"I64":3}],["slow.length",{"I64":20}]]]]}]}