{"filename":"agent_20260517_0626.md","content":"# Agent Report — Adaptive Lag-Map Aggregation Test\n**Date**: 2026-05-17 06:38 UTC\n**Piano**: 24\n**Tension explored**: `TRAJECTORY_APPLY_20260517_0618 / T16_BLOCK21_ADMISSION_REPAIR_REJECTED`\n\n## Claim Under Test\nAfter block21 continuity admission failed, the remaining repair hypothesis was that the fixed 100-observation lag-map matched filter fragments true local evidence. Adaptive split/window aggregation might recover the same `lag_memory_const_vol` positive object if the score combines nearby windows and split jitters before the block21 null is applied.\n\n## Question\nDoes adaptive split/window aggregation lift the lag-map matched filter above the block21 robust gate while keeping the same positive object, controls, and scan-aware null families?\n\n## Experiment Design\nScript executed:\n\n`python3 data/finance/experiments/adaptive_lagmap_aggregation_20260517_0626.py`\n\nThe executed run used:\n\n- seeds: all 12 calibration seeds\n- planted splits: 0.35, 0.50, 0.65\n- variants: `lag_memory_const_vol`, `iid_const_vol`, `drift_const_vol`, `vol_only`\n- cases: 432 total, 36 positives per score mode and 108 controls per score mode\n- shuffles per null: 48\n- null families: `iid_shuffle`, `circular_block_5`, `circular_block_21`\n- baseline score: `fixed_100`\n- adaptive scores: `jitter_window_mean`, `jitter_window_top3_mean`\n- adaptive windows: 79, 100, 126 observations\n- split jitters: -21, 0, +21 observations\n\nThe base local score remains the lag-map matched filter:\n\n`max(delta rho_1, 0) + max(-delta rho_2, 0)`\n\nThe adaptive modes compute that score over the 3 x 3 local window/jitter family, either averaging all 9 scores or averaging the top 3 values. The same aggregation procedure is applied to every ordered series and every null surrogate. With 48 shuffles, the smallest attainable empirical p-value is 1/49 = 0.0204, so the p<=0.05 gate remains testable.\n\nNaive baseline: static 95% VaR, annualized realized volatility, and RV/VaR split-location scans on every synthetic variant.\n\nPrior-art boundary: Hamilton/HMM would model latent persistence, Bai-Perron would test a structural break, and RV/VaR would rank risk scale. This cycle tests only whether local M-orientation aggregation survives a scan-aware null better than the fixed matched filter.\n\n## Results\n| Score mode | Positive Stage1 iid+block5 | Positive robust all-null | Control Stage1 | Control robust | Positive iid split hit | RV hit | VaR hit |\n|---|---:|---:|---:|---:|---:|---:|---:|\n| `fixed_100` | 26/36 = 72.2% | 19/36 = 52.8% | 6/108 = 5.6% | 3/108 = 2.8% | 33/36 = 91.7% | 8.3% | 8.3% |\n| `jitter_window_mean` | 25/36 = 69.4% | 21/36 = 58.3% | 2/108 = 1.9% | 2/108 = 1.9% | 29/36 = 80.6% | 8.3% | 8.3% |\n| `jitter_window_top3_mean` | 21/36 = 58.3% | 15/36 = 41.7% | 1/108 = 0.9% | 1/108 = 0.9% | 27/36 = 75.0% | 8.3% | 8.3% |\n\nPositive `lag_memory_const_vol` medians:\n\n| Score mode | Median iid z | Median block5 z | Median block21 z | Median planted score |\n|---|---:|---:|---:|---:|\n| `fixed_100` | 8.435 | 8.860 | 4.360 | 0.567 |\n| `jitter_window_mean` | 8.718 | 8.452 | 4.737 | 0.511 |\n| `jitter_window_top3_mean` | 5.363 | 7.348 | 3.273 | 0.594 |\n\nNo mode reached the positive robust recovery gate. The mean aggregation gave the best robust positive rate, 58.3%, but it also reduced Stage1 power from 72.2% to 69.4%. `fixed_100` slightly exceeded the 5% Stage1 control ceiling in this 48-shuffle rerun, while both adaptive modes kept controls below the ceiling.\n\nAssertions:\n\n| ID | Status | Detail |\n|---|---|---|\n| `ADAPTIVE_AGG_01` | FAIL | No mode reached the 70% robust positive recovery gate; best robust positive was `jitter_window_mean` at 58.3%. |\n| `ADAPTIVE_AGG_02` | PASS but insufficient | `jitter_window_mean` improved robust positive recovery from 52.8% to 58.3%, still far below 70%. |\n| `ADAPTIVE_AGG_03` | PASS | `jitter_window_mean` kept control Stage1 and robust rates at 1.9%/1.9%. |\n| `ADAPTIVE_AGG_04` | PASS | `jitter_window_mean` iid split hit was 80.6% vs RV/VaR 8.3%/8.3%. |\n\n## Key Findings\n1. Adaptive split/window aggregation does not repair block21 fragility. The best adaptive mode reaches only 58.3% robust positive recovery, below the 70% gate.\n\n2. The robust gain from `jitter_window_mean` is paid for by lower Stage1 power: 69.4% vs 72.2% for `fixed_100`. It is not a promotion-grade repair.\n\n3. The more permissive `jitter_window_top3_mean` fails harder. It keeps the raw planted score near fixed_100, but robust recovery falls to 41.7% and median block21 z falls to 3.273.\n\n4. The naive baseline remains beaten on localization: all D-ND modes exceed RV/VaR 8.3%/8.3%, with `fixed_100` at 91.7% and `jitter_window_mean` at 80.6%. The failure is not RV/VaR collapse; it is insufficient robust ordered-vs-block21 recovery.\n\n5. This full 12-seed run resolves the Plan 24 question for this score family. Because neither adaptive mode approaches 70%, expanding the same local aggregation family is low-yield unless the statistic changes materially.\n\n## Verdict\n**NO_DELTA_REPAIR.** Adaptive split/window aggregation should not be promoted as the block21 repair for the current lag-map matched filter. When the null receives the same window and split-jitter freedom, the best adaptive mode reaches only 58.3% robust positive recovery; the more permissive top-3 mode falls to 41.7%.\n\nThe next useful direction is not broader local aggregation. The detector needs a different block-aware statistic or a different positive object; local window flexibility around the same matched-filter score is now a negative constraint.\n\n## Bicono della scoperta\n- **Due radici**:\n  - Root 1: The fixed lag-map matched filter still contains ordered structure on `lag_memory_const_vol`: Stage1 = 72.2%, iid split hit = 91.7%, with RV/VaR only 8.3%.\n  - Root 2: Adaptive local freedom can slightly lift block21 survival, but not enough to offset lost Stage1 power or clear the 70% robust gate.\n- **Singolare**: The singular point is the split between `jitter_window_mean` and `jitter_window_top3_mean`: mild averaging reaches 58.3% robust recovery, while more permissive top-3 aggregation falls to 41.7%.\n- **Invariante di passaggio**: Any future repair must improve ordered-vs-block21 separation after the same freedom is granted to the null; raw score gain is not evidence.\n- **Campo di possibilita'**: Stop expanding the current matched-filter geometry by window/jitter aggregation. Test a materially different block-aware statistic, or redesign the positive object so block21 survival is endogenous rather than recovered by local smoothing.\n\n## Files\n- Experiment script: `data/finance/experiments/adaptive_lagmap_aggregation_20260517_0626.py`\n- Experiment output: `data/finance/experiments/adaptive_lagmap_aggregation_20260517_0626.json`\n- Report: `data/finance/reports/agent_20260517_0626.md`\n","title":"Agent Report — Adaptive Lag-Map Aggregation Test","verdict":"NO_DELTA_REPAIR.** Adaptive split/window aggregation should not be promoted as the block21 repair for the current lag-map matched filter. When the null receives the same window and split-jitter freedo","bicono":{"roots":"- Root 1: The fixed lag-map matched filter still contains ordered structure on `lag_memory_const_vol`: Stage1 = 72.2%, iid split hit = 91.7%, with RV/VaR only 8.3%.\n  - Root 2: Adaptive local freedom can slightly lift block21 survival, but not enough to offset lost Stage1 power or clear the 70% robust gate.","singular":"The singular point is the split between `jitter_window_mean` and `jitter_window_top3_mean`: mild averaging reaches 58.3% robust recovery, while more permissive top-3 aggregation falls to 41.7%.","invariant":"Any future repair must improve ordered-vs-block21 separation after the same freedom is granted to the null; raw score gain is not evidence.","field":"Stop expanding the current matched-filter geometry by window/jitter aggregation. Test a materially different block-aware statistic, or redesign the positive object so block21 survival is endogenous rather than recovered by local smoothing."},"size":6805,"mtime":"2026-05-17T06:44:05.657199+00:00"}