{"filename":"agent_20260517_1050.md","content":"# Agent Report - Rejected Lag-Memory Map\n**Date**: 2026-05-17 10:54 UTC\n**Piano**: 26\n**Tension explored**: `TRAJECTORY_APPLY_20260517_1018 / PLAN26_REJECTED_POSITIVE_MAP`\n\n## Claim Under Test\nThe validated precondition\n\n`matched_filter_score_at_candidate_split >= 0.55`\n\nadmits a denser recoverable subset of `lag_memory_const_vol` positives. The unresolved claim is whether the rejected positives are a separate recoverable class that deserves a new repair operator, or whether they define the current family limit under the current null contract.\n\n> Post-falsifier correction: the 0.55 gate is an operational promotion threshold, not a hard evidence boundary. Below-gate robust survivors exist (2/10 in this run), so sub-gate cases are excluded by policy until a separate mechanism is specified; they are not declared impossible or evidence-free.\n\n## Question\nAmong true `lag_memory_const_vol` positives, do gate-rejected cases form a diagnosable recoverable subclass, or do they remain non-promotable under block21 despite carrying local lag-memory traces?\n\n## Experiment Design\nScript executed:\n\n`python3 data/finance/experiments/rejected_lag_memory_map_20260517_1050.py --write --json`\n\nScope:\n\n- cases: 144 total\n- positives: 36 `lag_memory_const_vol`\n- controls: 108 across `iid_const_vol`, `drift_const_vol`, `vol_only`\n- seeds: `6240..6251`\n- planted splits: 0.35, 0.50, 0.65\n- shuffles per null: 48\n- null families: `iid_shuffle`, `circular_block_5`, `circular_block_21`\n- gate: `matched_filter_score_at_split >= 0.55`\n\nAdditional pre-admission diagnostics:\n\n- local matched-filter score at the planted split\n- area gap at split\n- lag1 delta, negative lag2 delta\n- sign-flip shift\n- distance between best split-profile score and true split\n- iid/block5/block21 effect z\n\nNull baseline: the same split-profile detector is evaluated against iid shuffle, circular block5, and circular block21 surrogates.\n\nNaive baseline: this is not an exposure or price-prediction test. VaR/RV are not used for admission; the local volatility ratio stays close to 1.0 for both admitted and rejected positives, so the measured separation is not a volatility-only result.\n\nPrior-art boundary: Hamilton/HMM would model latent regimes, Bai-Perron would test structural breaks, RV-based regimes would rank volatility, and classical autocorrelation change detection / block-bootstrap null testing / threshold classifier calibration would describe much of the observed mechanism. This cycle tests a narrower D-ND calibration boundary: whether M-orientation traces rejected by the gate still survive null baselines strongly enough to justify another detector repair.\n\nData card: provider `synthetic`; source `lag_memory_precondition.variant_returns/evaluate_case`; retrieval timestamp `2026-05-17T10:54:30.225712+00:00`; n_obs 768.\n\n## Results\n| Cohort | Cases | Selected | Stage1 iid+block5 | Robust all-null | Median score | Median block21 z | Median lag1 delta | Median -lag2 delta | Median split distance |\n|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|\n| Admitted positives | 26 | 26/26 | 25/26 = 96.2% | 21/26 = 80.8% | 0.662 | 8.073 | 0.519 | 0.181 | 0.000 |\n| Rejected positives | 10 | 0/10 | 5/10 = 50.0% | 2/10 = 20.0% | 0.504 | 2.651 | 0.455 | 0.020 | 0.000 |\n| Controls | 108 | 0/108 | 2/108 = 1.9% | 1/108 = 0.9% | 0.071 | -0.206 | -0.004 | -0.012 | 0.200 |\n\nSeparation checks:\n\n| Comparison | Metric | AUC | Median A | Median B |\n|---|---|---:|---:|---:|\n| Rejected positives vs controls | matched-filter score | 0.996 | 0.504 | 0.071 |\n| Rejected positives vs controls | lag1 delta | 1.000 | 0.455 | -0.004 |\n| Rejected positives vs controls | block21 z | 0.805 | 2.651 | -0.206 |\n| Admitted positives vs rejected positives | matched-filter score | 1.000 | 0.662 | 0.504 |\n| Admitted positives vs rejected positives | negative lag2 delta | 0.865 | 0.181 | 0.020 |\n| Admitted positives vs rejected positives | block21 z | 0.738 | 8.073 | 2.651 |\n\nFinite-sample intervals, Wilson 95%:\n\n- admitted robust positives: 21/26 = 80.8%, interval 62.1%-91.5%\n- rejected robust positives: 2/10 = 20.0%, interval 5.7%-51.0%\n- controls robust all-null: 1/108 = 0.9%, interval 0.2%-5.1%\n- positive selection by gate: 26/36 = 72.2%, interval 56.0%-84.2%\n\nRejected survivor note: the 2/10 robust rejected positives are real exceptions under this finite run. They prevent a hard impossibility claim and define a follow-up falsification target if a future cycle proposes a sub-gate mechanism.\n\nAssertions:\n\n| ID | Status | Detail |\n|---|---|---|\n| `REJECT_MAP_01` | PASS | Rejected positives are visibly not null controls on local lag traces: lag1 AUC = 1.000 and score AUC = 0.996 vs controls. |\n| `REJECT_MAP_02` | FAIL_FOR_PROMOTION | Rejected positives recover robustly 2/10 = 20.0%; this is below the current promotion threshold, but the raw survivor count must remain visible. |\n| `REJECT_MAP_03` | PASS | Controls remain mostly suppressed: 0/108 selected, 1/108 robust all-null. |\n| `REJECT_MAP_04` | PASS | Admitted positives remain the only promotion-grade cohort in this synthetic calibration block: 21/26 = 80.8% robust. |\n\n## Key Findings\n1. Gate-rejected positives are not indistinguishable from controls. They keep a strong local lag1 trace and are usually localized near the true split.\n\n2. That trace is not enough for promotion under the current contract. Rejected positives have 2/10 robust all-null survivors, median block21 z = 2.651, and median negative lag2 delta = 0.020. Split localization is not the dominant missing component by median, but 3/10 rejected positives have nonzero split-profile distance and should be isolated before generalizing.\n\n3. Admitted positives retain the useful calibration region: 26/36 selected, 21/26 robust, 0/108 controls selected. This strengthens the gate as a promotion threshold but does not make rejected cases generally recoverable.\n\n4. The family limit is sharper than the previous report: below the 0.55 matched-filter gate there may be real synthetic lag-memory trace, but it remains operationally non-promotable under the current null contract unless a new mechanism targets those survivors directly.\n\n## Verdict\n**FAMILY_LIMIT.** Rejected `lag_memory_const_vol` positives are structurally above controls but not a promotion-grade recoverable subclass. Do not add another repair layer for rejected cases inside the same matched-filter family. The next valid move is either:\n\n- keep the 0.55 gate and test only admitted cases with any new block-aware statistic; or\n- replace the positive object/target variable before trying to recover rejected cases.\n\nNo real-market promotion is authorized.\n\n## Bicono della scoperta\n- **Due radici**:\n  - Root 1: The rejected cohort is not empty noise; it keeps local lag-memory geometry (`lag1_delta` median 0.455 vs controls -0.004).\n  - Root 2: The same cohort usually fails the null contract; robust all-null recovery is 2/10 and median block21 z remains below the admitted-positive regime, while the surviving 2/10 stay visible as exceptions.\n- **Singolare**: The singular point is the interval just below the gate: median score 0.504 is close to 0.55, but negative lag2 support collapses to 0.020 and block21 survival does not follow.\n- **Invariante di passaggio**: The gate is not merely a classifier threshold; in the current finite-sample contract it marks the minimum local orientation strength required before block21 evidence can be promoted.\n- **Campo di possibilita'**: Future cycles may use the gate as a provisional promotion boundary. Rejected positives should not receive more tuning unless a new measurable mechanism is specified before testing, and that mechanism must account for the 2/10 robust rejected survivors.\n\n## Files\n- Experiment script: `data/finance/experiments/rejected_lag_memory_map_20260517_1050.py`\n- Experiment output: `data/finance/experiments/rejected_lag_memory_map_20260517_1050.json`\n- Report: `data/finance/reports/agent_20260517_1050.md`\n","title":"Agent Report - Rejected Lag-Memory Map","verdict":"FAMILY_LIMIT.** Rejected `lag_memory_const_vol` positives are structurally above controls but not a promotion-grade recoverable subclass. Do not add another repair layer for rejected cases inside the ","bicono":{"roots":"- Root 1: The rejected cohort is not empty noise; it keeps local lag-memory geometry (`lag1_delta` median 0.455 vs controls -0.004).\n  - Root 2: The same cohort usually fails the null contract; robust all-null recovery is 2/10 and median block21 z remains below the admitted-positive regime, while the surviving 2/10 stay visible as exceptions.","singular":"The singular point is the interval just below the gate: median score 0.504 is close to 0.55, but negative lag2 support collapses to 0.020 and block21 survival does not follow.","invariant":"The gate is not merely a classifier threshold; in the current finite-sample contract it marks the minimum local orientation strength required before block21 evidence can be promoted.","field":"Future cycles may use the gate as a provisional promotion boundary. Rejected positives should not receive more tuning unless a new measurable mechanism is specified before testing, and that mechanism must account for the 2/10 robust rejected survivors."},"size":7969,"mtime":"2026-05-17T10:59:55.290905+00:00"}