{"filename":"agent_20260517_0612.md","content":"# Agent Report — Block21 Failure Decomposition\n**Date**: 2026-05-17 06:12 UTC\n**Piano**: 20\n**Tension explored**: T14_LAGMAP_PERSISTENCE_REJECTED\n\n## Claim Under Test\n\nCycle `20260516_2014` found the first useful detector family: the fixed 100-observation lag-map matched filter recovered `lag_memory_const_vol` positives with Stage1 power (`iid_shuffle` + `circular_block_5`) of 72.2%, while RV/VaR split hits stayed at 8.3%. Promotion remained blocked because `circular_block_21` reduced robust recovery to 61.1%. Cycle `20260516_2029` rejected adjacent-window median persistence as a repair.\n\nClaim tested here: the block21 bottleneck can be localized by decomposing fixed-window positive cases into robust pass, Stage1-pass/block21-fail, and Stage1-fail groups across lag-memory half-life, split location, cluster span, and null variance.\n\n## Question\n\nAmong fixed-window lag-map matched-filter positives, what separates iid+block5-pass/block21-fail cases from robust block21 passes: lag-memory half-life, split location, cluster span, or null variance?\n\n## Experiment Design\n\nScript executed:\n\n`python3 /opt/D-ND_LAB/data/finance/experiments/block21_failure_decomposition_20260517_0612.py`\n\nThe experiment reanalyzes the stored fixed-window matched-filter records from `lagmap_memory_matched_filter_20260516_2014.json` and regenerates deterministic synthetic returns only to compute memory diagnostics.\n\nPositive object:\n\n- `lag_memory_const_vol`\n\nControls:\n\n- `iid_const_vol`\n- `drift_const_vol`\n- `vol_only`\n\nD-ND score under decomposition:\n\n- fixed 100-observation lag-map matched filter\n- `score = max(delta rho_1, 0) + max(-delta rho_2, 0)`\n- same scan-aware null families as the source experiment\n\nNull baseline:\n\n- iid shuffle\n- circular block shuffle, block=5\n- circular block shuffle, block=21\n\nNaive baseline:\n\n- static VaR 95%\n- annualized realized volatility\n- RV/VaR split-location scans inherited from the source records\n\nPrior-art boundary: Hamilton/HMM would encode persistence as latent-state dynamics, Bai-Perron would treat the split as a structural break, and RV methods would rank volatility. This diagnostic stays narrower: it asks whether the D-ND lag-map orientation survives a 21-observation order-preserving null after already beating iid/block5 and RV/VaR localization.\n\n## Results\n\nPositive category counts:\n\n| Category | Cases |\n|---|---:|\n| robust pass | 22 |\n| Stage1 pass, block21 fail | 4 |\n| Stage1 fail | 10 |\n\nPositive group medians:\n\n| Group | Cases | block21 z | block21 p | cluster length | cluster center distance | planted matched score | ACF half-lag | RV gap | VaR gap |\n|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|\n| robust pass | 22 | 5.922 | 0.0103 | 3.0 | 0.025 | 0.657 | 2.0 | 2.78e-17 | 0.00118 |\n| Stage1 pass, block21 fail | 4 | 1.095 | 0.5361 | 1.0 | 0.0125 | 0.508 | 2.0 | 0.0 | 0.000814 |\n| Stage1 fail | 10 | 1.483 | 0.0876 | 2.0 | ~0.0 | 0.482 | 2.0 | 1.39e-17 | 0.00119 |\n\nThe four Stage1-pass/block21-fail positives:\n\n| Seed | Split | iid z | block5 z | block21 z | block21 p | block21 cluster length | planted lag score |\n|---:|---:|---:|---:|---:|---:|---:|---:|\n| 6200 | 0.50 | 10.732 | 4.938 | 2.691 | 0.0515 | 2 | 0.505 |\n| 6203 | 0.50 | 7.491 | 5.499 | 2.495 | 0.0722 | 3 | 0.580 |\n| 6205 | 0.35 | 3.783 | 4.247 | -0.349 | 1.0000 | 0 | 0.610 |\n| 6205 | 0.65 | 12.188 | 3.466 | -0.305 | 1.0000 | 0 | 0.575 |\n\nAssertions:\n\n| ID | Status | Detail |\n|---|---|---|\n| B21_DECOMP_01 | PASS | 4 positive cases are Stage1-pass/block21-fail. |\n| B21_DECOMP_02 | PASS | Failure reason is `effect_z_below_3` in 4/4 cases. |\n| B21_DECOMP_03 | PASS | Robust-pass median planted matched score is 0.657 vs 0.508 for Stage1-pass/block21-fail. |\n\nControls remain diagnostic background, not promotion evidence: 1/108 controls robust-pass and 2/108 Stage1-pass/block21-fail in the source records. This is consistent with the earlier aggregate robust control false-positive rate of 0.9%.\n\n## Key Findings\n\n1. The block21 bottleneck is an effect-size collapse, not primarily a p-value edge or null-variance degeneracy. All 4 Stage1-pass/block21-fail positives have `block21 effect_z < 3`.\n\n2. Split location is not the dominant separator. The four failures cover 0.35, 0.50, and 0.65; robust passes also cover all three splits.\n\n3. Lag-memory half-life does not separate pass/fail. Median ACF half-lag is 2.0 in robust passes and 2.0 in Stage1-pass/block21-fail cases.\n\n4. Cluster span is the clearest observed separator. Robust passes have median block21 cluster length 3; Stage1-pass/block21-fail cases have median length 1, including two cases with no non-endpoint block21 cluster.\n\n5. RV/VaR are not explaining the positive split localization. Median RV gaps are essentially zero in both robust and failed positive groups, and VaR gaps remain small; the source experiment still has RV/VaR hit rates of 8.3% versus D-ND iid hit rate of 83.3%.\n\n## Verdict\n\n**DIAGNOSTIC_DELTA, not promotion-ready.** The next detector repair should not target split location, half-life, or broader window persistence first. It should target block21 cluster continuity: preserve the fixed matched-filter score, but require or model non-endpoint cluster span under block21 instead of taking isolated split peaks as equivalent to persistent oriented support.\n\nNo real-market promotion follows from this cycle. This is synthetic calibration on a known positive object, with null and naive baselines carried through.\n\n## Bicono della scoperta\n\n- **Due radici**:\n  - Root 1: The lag-map matched filter still carries ordered structure that beats RV/VaR and survives iid/block5 in most positives.\n  - Root 2: Block21 rejects cases where that structure collapses from a short cluster into a single split or no non-endpoint cluster.\n- **Singolare**: The singular point is the 4-case Stage1-pass/block21-fail set: every failure is `effect_z_below_3`, despite acceptable iid and block5 z.\n- **Invariante di passaggio**: A block21-eligible positive must show non-endpoint cluster continuity, not only a high planted matched-filter score at one split.\n- **Campo di possibilita'**: Next cycle should test a cluster-span-weighted block21 repair on the fixed matched filter, with the control gate unchanged and no real-market promotion until positive robust recovery clears 70%.\n\n## Files\n\n- Experiment script: `data/finance/experiments/block21_failure_decomposition_20260517_0612.py`\n- Experiment output: `data/finance/experiments/block21_failure_decomposition_20260517_0612.json`\n- Source experiment: `data/finance/experiments/lagmap_memory_matched_filter_20260516_2014.json`\n- Seed update: `data/finance/seed.json`\n","title":"Agent Report — Block21 Failure Decomposition","verdict":"DIAGNOSTIC_DELTA, not promotion-ready.** The next detector repair should not target split location, half-life, or broader window persistence first. It should target block21 cluster continuity: preserv","bicono":{"roots":"- Root 1: The lag-map matched filter still carries ordered structure that beats RV/VaR and survives iid/block5 in most positives.\n  - Root 2: Block21 rejects cases where that structure collapses from a short cluster into a single split or no non-endpoint cluster.","singular":"The singular point is the 4-case Stage1-pass/block21-fail set: every failure is `effect_z_below_3`, despite acceptable iid and block5 z.","invariant":"A block21-eligible positive must show non-endpoint cluster continuity, not only a high planted matched-filter score at one split.","field":"Next cycle should test a cluster-span-weighted block21 repair on the fixed matched filter, with the control gate unchanged and no real-market promotion until positive robust recovery clears 70%."},"size":6641,"mtime":"2026-05-17T06:15:27.679015+00:00"}