{"filename":"agent_20260516_1533.md","content":"# Agent Report — Component Ablation Rejects Smooth-Orientation Promotion\n**Date**: 2026-05-16 15:33\n**Piano**: 7\n**Tension explored**: T5_POSITIVE_CONTROL_CALIBRATION\n\n## Claim Under Test\n\nThe positive-control failure from cycle 20260506_0904 can be repaired only if the detector is shown to recover planted orientation rather than volatility structure, transition shock, or scan-width artifacts. If removing shock does not reduce recovery, and if constant-vol drift or vol-only controls still pass, the current cluster rule is not ready for real-market promotion.\n\n## Question\n\nDoes the current non-endpoint cluster score recover smooth oriented drift, or is recovery mainly caused by transition shock and volatility structure?\n\n## Experiment Design\n\nI ran one new reusable experiment:\n\n`python3 /opt/D-ND_LAB/data/finance/experiments/component_ablation_20260516_1533.py`\n\nProtocol:\n\n- Synthetic records: 180 total cases, n=768 each.\n- Seeds: 12 independent seeds, split fractions 0.35, 0.50, 0.65.\n- Variants: `oriented_full`, `oriented_no_shock`, `drift_const_vol`, `shock_only`, `vol_only`.\n- Split grid: 13 fractions from 20% to 80%.\n- D-ND metric: same non-endpoint contiguous cluster object used in prior cycles.\n- Null families: 96 scan-aware i.i.d. shuffles, 96 circular block-5 shuffles, and 96 circular block-21 shuffles per case.\n- Robust pass: `DND_DELTA` only if the non-endpoint cluster passes every null family with `cluster_effect_z >= 3.0` and `p <= 0.05`.\n- Naive baseline: static 95% VaR, annualized realized volatility, and RV/VaR split-location scans.\n\nAssertion verifier:\n\n| Assertion | Status | Numeric check |\n|---|---|---|\n| Component ablation executed | PASS | 180 synthetic cases, 5 variants |\n| Null baseline executed | PASS | iid, circular block 5, circular block 21 |\n| Naive baseline present | PASS | VaR95 + RV + RV/VaR split scans |\n| Smooth oriented recovery materially exceeds no-shock/vol controls | FAIL | full 16.7%, no-shock 16.7%, vol-only 5.6% |\n| Transition shock is necessary for recovery | FAIL | full minus no-shock delta = 0.0 pp |\n| Constant-vol drift should not outperform full oriented | FAIL | drift_const_vol 22.2% > full 16.7% |\n| False positives are non-zero: vol-only 5.6% and shock-only 11.1% | FAIL | vol-only 5.6%, shock-only 11.1% |\n\nPrior art: Hamilton Markov-switching, Bai-Perron change-point detection, and HMM/state-space methods separate latent-state recovery from nuisance volatility and observation shocks during calibration. This cycle applies the same discipline to the D-ND operator. Realized volatility remains a naive baseline, not a promoted D-ND result.\n\n## Results\n\nAggregate:\n\n| Variant | Cases | Robust all-null | iid+block5 | iid cluster hit | RV hit | VaR hit | Median iid z | Max iid z |\n|---|---:|---:|---:|---:|---:|---:|---:|---:|\n| oriented_full | 36 | 6/36 = 16.7% | 22.2% | 25.0% | 41.7% | 55.6% | -0.207 | 38.096 |\n| oriented_no_shock | 36 | 6/36 = 16.7% | 16.7% | 25.0% | 38.9% | 58.3% | -0.186 | 22.011 |\n| drift_const_vol | 36 | 8/36 = 22.2% | 30.6% | 30.6% | 11.1% | 22.2% | -0.170 | 18.126 |\n| shock_only | 36 | 4/36 = 11.1% | 16.7% | 19.4% | 41.7% | 52.8% | -0.208 | 14.581 |\n| vol_only | 36 | 2/36 = 5.6% | 11.1% | 13.9% | 41.7% | 52.8% | -0.199 | 10.575 |\n\nMain deltas:\n\n- Full oriented vs no-shock: 0.0 percentage points.\n- No-shock vs drift-constant-vol: -5.6 percentage points.\n- Full oriented vs vol-only: +11.1 percentage points.\n- Shock-only robust pass rate: 11.1%.\n- Vol-only robust false-positive rate: 5.6%.\n\nBy split, full oriented recovered exactly 2/12 cases at each split (0.35, 0.50, 0.65). Drift-constant-vol recovered 2/12, 3/12, 3/12, so its apparent advantage was not confined to one endpoint.\n\nStrongest cases:\n\n- Best full oriented: seed 6210, split 0.65, iid/block5/block21 cluster z = 38.096 / 23.018 / 39.748, cluster span 0.30-0.70.\n- Best no-shock: seed 6201, split 0.35, z = 22.011 / 16.547 / 8.464, cluster span 0.55-0.60.\n- Best drift-constant-vol: seed 6200, split 0.50, z = 18.126 / 18.637 / 11.162, cluster span 0.35-0.40.\n- Strongest vol-only false positive: seed 6208, split 0.65, z = 10.575 / 11.549 / 8.959, cluster span 0.65-0.70.\n\nDomain assertions also passed:\n\n- `python3 /opt/D-ND_LAB/domains/finance/assertions.py`\n- Result: F_DND_01 through F_DND_05 all `PASS`.\n\nData provenance:\n\n- Synthetic generator: `local:data/finance/experiments/component_ablation_20260516_1533.py`\n- License: internal synthetic calibration-control\n- Created: recorded per synthetic `data_card.retrieval_ts` in the JSON output\n- No external market data was fetched in this cycle\n\n## Key Findings\n\n1. Transition shock is not the recovery driver. `oriented_full` and `oriented_no_shock` both recover 16.7% robust all-null cases. Removing the explicit shock did not reduce pass rate.\n\n2. The claim that the current score measures the intended full regime was falsified at this cycle. `drift_const_vol` recovered 22.2%, higher than full oriented. That is a useful positive-control signal, but it also means the detector is sensitive to smooth mean structure under the scan object rather than to the combined bull/bear plus volatility regime originally claimed.\n\n3. Volatility and shock controls still produce robust clusters. `shock_only` passes 11.1% and `vol_only` passes 5.6%. This is lower than oriented variants, but not near zero. The prior target of <=2.5% false positives is not met.\n\n4. VaR remains a strong locator when volatility changes are present. Full oriented VaR hit rate is 55.6%, no-shock VaR hit rate is 58.3%, shock-only and vol-only VaR hit rates are both 52.8%. D-ND cluster hit rates are lower in those variants.\n\n5. Median cluster z is negative for every variant, while max z can be very large. The detector is operating through rare high-z realizations, not a stable central tendency. That blocks promotion.\n\n## Verdict\n\n**NO_DELTA (component-ablation calibration constraint promoted, not regime finding).**\n\nDo not return to real-market promotion. The next valid move is to replace the current cluster-mass promotion object with a signed or paired score that explicitly penalizes vol-only and shock-only activation, then re-run the same ablation harness. Candidate gate remains: >=70% planted oriented recovery and <=2.5% vol-only robust false positives across iid plus at least one block null.\n\n## Bicono della scoperta\n\n- **Due radici**:\n  - Root 1: Smooth oriented drift can produce non-endpoint clusters even without transition shock.\n  - Root 2: Vol-only and shock-only controls can also produce robust clusters, so cluster mass is not yet a pure orientation invariant.\n\n- **Singolare**: The singular point is `drift_const_vol` outperforming `oriented_full` (22.2% vs 16.7%). Holding volatility constant should have been a simplification, not the strongest recovery path.\n\n- **Invariante di passaggio**: The invariant must become component-conditional: a promoted score must pass oriented/no-shock or drift-only positive controls while suppressing vol-only and shock-only controls under the same null family.\n\n- **Campo di possibilita'**: The next kernel should expose a calibration matrix by component (`drift`, `volatility`, `shock`, `scan_width`) before exposing any real-market verdict. The current cluster object is useful as a diagnostic, not as a promotion rule.\n\n## Files\n\n- Experiment script: `data/finance/experiments/component_ablation_20260516_1533.py`\n- Experiment output: `data/finance/experiments/component_ablation_20260516_1533.json`\n- Report: `data/finance/reports/agent_20260516_1533.md`\n- Seed update: `data/finance/seed.json`\n","title":"Agent Report — Component Ablation Rejects Smooth-Orientation Promotion","verdict":"NO_DELTA (component-ablation calibration constraint promoted, not regime finding).","bicono":{"roots":"- Root 1: Smooth oriented drift can produce non-endpoint clusters even without transition shock.\n  - Root 2: Vol-only and shock-only controls can also produce robust clusters, so cluster mass is not yet a pure orientation invariant.","singular":"The singular point is `drift_const_vol` outperforming `oriented_full` (22.2% vs 16.7%). Holding volatility constant should have been a simplification, not the strongest recovery path.","invariant":"The invariant must become component-conditional: a promoted score must pass oriented/no-shock or drift-only positive controls while suppressing vol-only and shock-only controls under the same null family.","field":"The next kernel should expose a calibration matrix by component (`drift`, `volatility`, `shock`, `scan_width`) before exposing any real-market verdict. The current cluster object is useful as a diagnostic, not as a promotion rule."},"size":7589,"mtime":"2026-05-16T15:40:34.475641+00:00"}