# EAGLE — Audit Review → Incidents/Enhancements Quick Wins (EST)  
**Model/Provider:** GPT-5.4 / OpenAI  
**Generated:** 2026-05-27 02:17 EST  

## Source Evidence Used (from repo/docs)
- `audit_dashboard/incidents.html` (Incidents + Enhancements dashboard; includes P0/P1/P2 items and component pointers)
- `ENHANCEMENTS.md` (remaining gaps post-copilot audit; missing data backfill + HF validator recalibration + conviction tier persistence)
- `reports/asset_class_90day_plan_EQUITY_2026-05-15.md`
- `reports/asset_class_90day_plan_CRYPTO_2026-05-15.md`
- `tools/eagle_dedupe_incident_enhancement_paths.py` + `deduped_incident_enhancement_md_paths.txt` (deduped path list)

## Dedupe Output (non-duplicated MD list)
- `deduped_incident_enhancement_md_paths.txt`

---

# 1) Top Quick Wins (Prioritized P0/P1 PR list)
These are the fixes most likely to unlock “profitable-but-filtered” learning *without* weakening safety gates.

## P0 (Do first)
1. **Create a “Profitable-but-filtered / profitable-but-quarantined” observational lane**
   - **Why:** `audit_dashboard/incidents.html` P0 notes no durable lane for picks that later would have won; hides false negatives and blocks learning about gate over-filtering.
   - **What to implement (observational only):**
     - store per-pick: asset_class, strategy, symbol, direction
     - store: first_failed_gate (name + threshold snapshot), and later resolved outcome (WON/TP/SL/LOST/etc) + pnl
     - publish as per-asset-class rollups + PF/WR for the rejected-then-won set
   - **Files likely:** `audit_trail/quality_gates.py`, `audit_trail/dashboard_generator.py`, dashboard payload builders.
   - **Expected win:** identify which gate(s) create false negatives that “would have won big”.

2. **Missing data backfill wiring (elite_score/ml_score/risk_reward/strategy/conviction tier)**
   - **Why:** `ENHANCEMENTS.md` states 70–90% of active picks missing critical fields causing gates/scoring to be inert.
   - **What to implement:**
     - ensure `missing_field_backfiller.py` runs before gate evaluation
     - persist backfilled fields (so UI “High Conviction” isn’t computed but not saved)
   - **Files likely:** `audit_trail/dashboard_generator.py`
   - **Expected win:** “High Conviction” becomes meaningful; ML/risk gates stop acting on NaNs/empties.

3. **Trust / HC overlay reproducibility (trust_score NULL bug on closed picks)**
   - **Why:** Incidents P0: trust_score NULL on ~99.99% of closed picks → HC overlay is not verifiable.
   - **What to implement:**
     - backfill `trust_score` for closed picks from strategy registry / stored trust-tier derivation
     - if not possible immediately: mark HC overlay as “UNVERIFIABLE” rather than silently using NULLs
   - **Files likely:** payload build + any `trust_score` derivation modules.
   - **Expected win:** HC filtering becomes consistent and auditable.

4. **Fix “WON status rows show avg pnl_pct = -41.1%” labeling contradiction**
   - **Why:** Incidents P0 says WON labeling bug.
   - **What to implement:**
     - re-label legacy `status='WON'` based on recomputed pnl_pct sign + exit_reason mapping
     - add a CHECK/constraint going forward.
   - **Files likely:** historical relabeler / DB integrity scripts used by the dashboard refresh.
   - **Expected win:** prevents false “edge” narratives; improves learning loop credibility.

## P1 (Next tranche)
5. **HC JS ↔ Python parity contract (one canonical definition)**
   - **Why:** Incidents P0 notes HC eligibility differs between `audit_dashboard/hc_filter.js` and `tools/dashboard_hc_rules.py`.
   - **What to implement:**
     - unify thresholds + confidence handling
     - add a parity test corpus to detect disagreements
   - **Expected win:** same pick qualifies consistently no matter which surface.

6. **Smart Picks confidence inversion remediation (re-weight confidence / switch primary signal)**
   - **Why:** Incidents P0 indicates confidence-derived quality weighting inverts ranker.
   - **What to implement:**
     - invert crypto confidence contribution or use trust_score as primary
   - **Expected win:** reduces systematic false positives.

7. **Fix “signal time” bug in Smart Picks feed payload**
   - **Why:** Incidents P1: Smart Picks “Signal Time” shown as file age.
   - **What to implement:** populate `signal_time = trading_picks.created_at`.
   - **Expected win:** correct user-facing age/freshness auditing.

8. **Resolver / ML crypto exclusion gap (95% excluded)**
   - **Why:** `reports/asset_class_90day_plan_CRYPTO_2026-05-15.md` flags `ml_crypto_pred` exclusion behavior mismatch (resolver gaps).
   - **What to implement:** audit forward-validator/resolver paths for ML crypto.
   - **Expected win:** stops “hidden rot” and improves gate learning.

---

# 2) Per-Asset-Class: “What got filtered out but should have won?”
This section is a hypothesis map explicitly designed to feed the observational lane (Quick Win #1).

## EQUITY
- **Likely false negatives from gates:**
  - penny/meme contamination in main EQUITY sleeve → regime/tier logic rejects winners when universe is mixed
  - VIX regime edge exists in research but may be soft/inconsistent in prod unless wired
- **Exemption candidate policy (bounded, audited):**
  - allow “VIX-regime + clean large-cap momentum” to bypass only the *staleness* constraint (not score threshold) once a hot-streak audit trail is proven.
- **Primary “win-big” candidate strategy:**
  - VIX-regime filtered large-cap momentum (research PF lift is large; this should show up in the observational lane once wired)

## CRYPTO
- **Likely false negatives from gates:**
  - high-volume broad scanners generate many low-liq noise picks → quarantine may block true wins in BTC/ETH majors due to shared logic with alts
  - confidence inversion + missing trust_score can cause eligibility mismatch
- **Exemption candidates:**
  - BTC/ETH/SOL “liquid majors” lane with stricter liquidity gating but *looser* confidence inversion handling (do not weaken safety—fix signal inversion + trust_score reproducibility)
- **Primary “win-big” candidate strategies:**
  - liquid core (BTC/ETH + top L1) with on-chain/funding overlays and UTC hour filters

## FOREX / COMMODITY / ETF / BOND / FUTURES / PENNY (initial guidance from incidents dashboard)
- **FOREX:** incidents indicate broad loser aggregation hides winner sleeve; observational lane should isolate per-sleeve gate failures.
- **COMMODITY:** incidents indicate COT aggregation contradictions; observational lane helps distinguish strategy-level vs class-level signal.
- **ETF:** “sector rotation + VIX gating” is repeatedly emphasized; gate failures likely come from regime mismatch.
- **BOND:** at least one P0 indicates near-zero WR with “kill emission”; observational lane should confirm whether any “filtered but would win” exists before re-enabling.
- **FUTURES:** taxonomy/reporting mismatch makes auditing unreliable; observational lane will still help, but taxonomy cleanup is required.
- **PENNY:** incidents show penny detector not wired / gate 0 blocks; observational lane can prove if those rejections are false negatives.

---

# 3) Incidents/Enhancements Dashboard Itemization (what to render)
To match your dashboard intent, render rows with consistent columns:

## Incidents (bugs/data-quality/outages) — top subset
- Profitable-but-filtered lane missing (P0)
- HC JS/Python parity drift (P0)
- Confidence inversion / Smart Picks ranker inversion (P0)
- trust_score NULL on closed picks (P0)
- WON status labeling contradiction (P0)
- Resolver gaps causing ML exclusion / “hidden rot” (P0)

## Enhancements (scoring/gates/data feed/UI proposals) — top subset
- Missing data backfill wiring (P0)
- Trust_score backfill for HC overlay reproducibility (P0)
- Signal oscilliation detector + sure-thing detection (P1/P2 candidate)
- Pick-funnel rejection visibility from main /audit page (P1)
- Hot-streak bounded exemption contract with audit trail (P0/P1 candidate)

---

# 4) Database Table Proposal (Incidents/Enhancements → overall roadmap)
Proposed table: `incidents_enhancements`

**Purpose:** store evidence + linkage so your dashboard can render per asset-class + per gate-failure learning.

### Schema (minimal)
- `id` (PK)
- `entry_type` ENUM('INCIDENT','ENHANCEMENT')
- `title` TEXT
- `asset_class` ENUM('EQUITY','ETF','CRYPTO','FOREX','COMMODITY','BOND','FUTURES','PENNY_MEME','IPO','UNKNOWN')
- `strategy` VARCHAR(255) NULL
- `symbol` VARCHAR(64) NULL
- `direction` ENUM('LONG','SHORT') NULL
- `gate_name_first_failed` VARCHAR(255) NULL
- `status` ENUM('OPEN','TRIAGED','IN_PROGRESS','RESOLVED','SUPERSEDED')
- `severity` ENUM('P0','P1','P2','P3')
- `impact_summary` TEXT
- `evidence_json` JSON NULL (WR/PF, sample sizes, pnl snapshots)
- `expected_fix` TEXT
- `linked_pr` VARCHAR(255) NULL
- `related_dashboard_url` TEXT NULL
- `created_at` TIMESTAMP
- `resolved_at` TIMESTAMP NULL
- `owner` VARCHAR(128) NULL
- `priority_rank` INT (for roadmap ordering)

### Why this fits your review questions
- Lets you query: “profitable-but-filtered where first_failed_gate=X”
- Lets you implement and audit: “exempt only after N clean wins and until expiry”

---

# 5) Remaining Items (not executed yet)
- Full per-asset-class strategy deep-dive for all 9 asset classes (this EAGLE focuses on the most certain P0/P1 engineering deltas)
- Hot-streak bounded exemption contract implementation (P0/P1 enhancement)
- Signal oscillation detector analytics + safe detector gating (analytics first)
- Walk-forward harness “anti-leakage” CI guard (if not already live in your pipeline)
- Trust_score + conviction_tier persistence if still not fully wired

---

## Appendix: Non-duplicated MD refs list used for later deep reads
- `deduped_incident_enhancement_md_paths.txt` (1719 unique normalized md refs)
