ELITE INTELLIGENCE DESK - ENGINE ROADMAP signal engine producing consistently profitable, actionable NQ/ES intraday trades - index-v2.html - backtest = separate subordinate roadmap
SHADOWS 557 VALID 208 W 28 L 37 MFE +1.22R MAE -0.64R PF 0.92 NO_FILL 220
2026-05-16 audit cycle
* shipped / closed o queued / pending [] active / in-flight [] backlog ^ urgent / blocker v deferred / parked <> decision / gate <> council timeline * north-star
Filters:
0 visible
Chapters:
View:
^ NOW live execution queue - 1 hard gate
^ Bridge/data readiness is the hard external gate - dxFeed purchase + dxfeed_bridge/appsettings.json + bridge run is still the first operational unlock. Until live data flows, engine work should stay pre-bridge-safe: readiness checks, UI consolidation, sizing math, and documentation hygiene.
* NORTH STAR 6 end-state targets - today's gap - alpha hypothesis

The engine exists to produce trading signals with HIGH POSITIVE EXPECTED R, CONSISTENTLY, across regimes and over time. Not "right occasionally." Not "right on trend days." Consistently positive R, period.

* 6 end-state targets

  • E[R] at fire > 0 (every signal positive expectancy at engine's own scoring)
  • Realized mean R >= +0.5R per trade (rolling 100 closed)
  • Profit factor >= 1.5 (same window)
  • Regime stability - positive in EACH of 9 regime cells
  • Time stability - positive in EACH of last 3 rolling 4-week windows
  • No-fire discipline - zero signals when conditions don't support edge

Today's gap (2026-05-15 weekly_report on 842 fires)

  • Aggregate verdict: INSUFFICIENT_EVIDENCE
  • Mean R: -0.046R - CI [-0.116, +0.034]
  • Profit factor: 0.869 - CI [0.693, 1.097]
  • Win rate: 23.6% - CI [20.7%, 27.0%]
  • 4 PROFITABLE_CANDIDATE setups (ES ib-brk/ext L, NQ brk-retest/flow-surge L)
  • Regime stability: unknown - dayRegimeKey only logged from 2026-05-15 onward

<> Alpha hypothesis (the bet)

Execution discipline + regime-conditioned filtering + asymmetric R sizing on well-known intraday setups beats the median retail trader on NQ/ES intraday by >= +0.5R/trade over rolling 100-trade windows.

If FALSIFIED at month 6 (~2026-11-13) -> Pivot Trigger fires, architecture-pivot council session. Not "tune harder."

<> Phase A (Hot Run) <-> Phase B (Live Run)

Phase A (NOW -> ~Month 6): Hot Run - engine fires real signals - trader decides manually - substrate captures three streams (engine fires, trader takes via OK/NO buttons, outcomes).

Phase B (Month 6+): Live Run - auto-execution wired to broker - only setups graduated in Phase A's data go live.

H1 - Targets -> Phase mapping (where each target gets proven)

Each target is proven in a specific phase. Hitting early doesn't skip the phase - proof must hold through the gating window. Missing halts phase progression until resolved.

# Target Proven in Measurement Gating
1E[R] at fire > 0Phase 2 -> ongoingSubstrate ev fieldNo fire with ev < 0. Architectural in EVDecision.
2Mean R >= +0.5R (rolling 100)Phase 3 -> 4weekly_report.py + CICI lower bound >= +0.5R on >=3 windows.
3PF >= 1.5 (same window)Phase 3 -> 4weekly_report.py PF + CIPost-cost PF preferred (P4.5.5).
4Regime stability (9 cells)Phase 4Slice dayRegimeKey x volBucketPositive mean R in each cell at n>=30. Else: regime-specific, LIVE blocked.
5Time stability (3 rolling 4-wk)Phase 4 -> 5 gateweekly_report.py rollingAll 6 targets green for 3 consecutive non-overlapping 4-week windows. Box #1 of P4.5.9.
6No-fire discipline (zero negative-EV)Phase 2 -> ongoingSubstrate audit countMust be 0. Saul-level alarm if non-zero.

Phase exit criteria:

  • Exit Phase 2 when targets #1 + #6 proven (architectural correctness).
  • Exit Phase 3 when targets #2 + #3 hit on >=1 rolling 100-trade window (proof of concept).
  • Exit Phase 4 when targets #2 + #3 hold on 3 windows + target #4 holds (proof of robustness).
  • Pass Phase 5 LIVE gate when target #5 closes (all 6 green for 3 windows).

H2 - Regime taxonomy (3x3 formal definition)

The 9 cells from target #4. Each cell has canonical engine source, allowed/forbidden setups, expected expectancy profile. Unit of substrate slicing in weekly_report.py and unit of graduation decisions per setup.

Day-trajectory axis (3 archetypes):

Archetype Engine source Edge profile
TRENDdayRegimeKey ∈ {trend_up, trend_down}Continuation setups favored: ib-brk, ib-ext, brk-retest, flow-surge. Counter-trend quarantined.
CHOPdayRegimeKey ∈ {range, compression, low_liquidity}Mean-reversion / trap / fade favored: liq-grab, trap-rev, exhaust-rev. Momentum chase forbidden.
REVERSALmarketStory === 'REVERSAL' OR session bias flip OR sweep-reclaim dominantSweep+reclaim, trap-reversal, exhaustion setups favored. Late-day continuation forbidden.

Volatility axis (3 buckets):

Bucket Boundary Interpretation
LOWvolPct < 25Compressed ranges. Tighter ATR-relative stops. Range-bound setups overweighted.
NORMAL25 <= volPct < 70Default. Standard sizing + stops + full catalog.
HIGHvolPct >= 70 (EXTREME >= 95)Wider stops mandatory. Some setups quarantined (S8 evidence). Tighter sizing.

The 9 cells:

# Day Vol Favored Forbidden Notes
1TRENDLOWbrk-retest, ib-extCounter-trend fadesTight stops, multi-touch
2TRENDNORMALib-brk, flow-surge, brk-retestMean-reversion4 PROFITABLE_CANDIDATEs live here
3TRENDHIGHib-brk w/ DOM confirmNQ continuation longs (S8)Vol-ceiling rule
4CHOPLOWliq-grab, trap-revMomentum breakoutsWait for sweep + reclaim
5CHOPNORMALtrap-rev, exhaust-revib-brk, flow-surgeStandard chop
6CHOPHIGHexhaust-rev on confirmAll continuationNews-event days often here
7REVERSALLOWsweep-reclaim, trap-revLate-day continuationRare combo
8REVERSALNORMALexhaust-rev, sweep setupsContinuation in original dirLondon-sweep-then-NY
9REVERSALHIGHexhaust-rev, trap-rev on confirmChasing original moveFOMC reversal, capitulation

Why this taxonomy: the 9-cell grid is the unit of regime-stability proof (target #4). For LIVE flip via P4.5.9 box #1, every populated cell at n>=30 fires must show non-negative mean R. Measurement-driven in Phase A - engine does not block by cell; the catalog evolves as cohort evidence accumulates. Substrate fields used: dayRegimeKey + volBucket + marketStory - all canonical, no re-derivation in analysis tools.

[] NEXT clean queue - open items only

[] Ready without new market data

oNo clean build item right now. Keep this empty until a truly data-independent item is worth doing. Visual-only SD-A remains parked with the voice/render backlog.

<> Operator/data gated

<>Bridge resume - requires dxFeed purchase and appsettings.json; starts the first clean substrate week.
<>Weekly report cadence - resumes after bridge data accumulates; first meaningful run is week-2 post-resume.
<>DOM confirmation gate - verify live DOM depth quality before building a gate.
<>S1-S12 attribution surgeries - rerun on fresh substrate before any gate/catalog surgery.
<>Phase A graduation criteria - activate when setup/direction sample floors are reached.

v Blocked / do not spend now

vSD-A/SD-D voice-render bundle - refusal scene + 5-phase rewrite + Setup 1 rerender should ship together when ElevenLabs/render tooling is usable.
vFunded/cushion-aware sizing - gated on proven edge, setup graduation, and account choice.
vNOA bridge-piping / ghost equity curves / SW-3 / DOM hard rules - require clean live substrate first.
<> DECISION POINTS load-bearing calls - 5 items
<> Q1 council - Phase 3 priority + setup-family validation - target ~2026-06-14
Question + gates
"Are we building Phase 3 to fix the system's edge, or to fix last week's tape? Do the 8 setups in flight (5 legacy + 3 G-candidate) actually have alpha? Keep / quarantine / refine / promote for each."

Gated on: (1) >=2 clean weeks post-OBS-1 + post-INV-2, (2) P2.6(a) backtest harness preliminary read, (3) operator availability.
<> Pivot Trigger - month 6 (~2026-11-13) - architecture-pivot council session if no profitable rolling 4-week window appears in any regime
Outcome paths
Either (a) credible new architecture proposal restarts the phase clock, or (b) formal acknowledgment that the alpha hypothesis was wrong. Prevents sunk-cost takeover at month 9-12.
<> Month-6 External Audit (~2026-11-13) - independent eyes on alpha hypothesis, substrate-to-edge chain, risk framework, setup family
Auditor candidates
Real prop trader / paid quant consultant / senior peer from trading community / structured presentation to non-technical friend. Cost: hours of someone else's time + maybe payment. Cheap relative to months saved if they catch what we can't see.
<> P4.5.9 - Live go/no-go gate - formal 10-box checklist (tax/legal scoped OUT 2026-05-22 - operator-side concern)
The 11 boxes
All 6 north-star targets met for 3 rolling 4-week windows - Stability proof artifact signed - Position sizing + risk limits implemented - Costs model integrated (post-cost PF >= 1.5) - Live capital sizing documented - Capacity measurement ready - Bus-factor planned - Operator Manual acknowledged - Council Mode-3 + Mode-4 green light - User decides to flip.
<> Council protocol - 5 modes / 5 advisors / chair discipline
Bench + triggers
🎩 Quant (chair) synthesis + execution - 🛡 Saul risk/data-integrity - 📜 Ezra north-star + phase mandate - 🚀 Maya asymmetric upside (forbidden from "ship before data") - 👤 Frank outside trader's plain-English check - 🔨 Riva action + discipline-window slotting.

Trigger gates: money-path code change - gate logic edit - live emission flip - multi-week commitment - architectural change - user invocation ("מועצה" / "convene the council").
v LATER parked / data-gated - open items only

v Phase 3 - Tune (post-bridge)

*P3.8Entry-timing audit: NO_FILL / chase / late-EXIT separation. SHIPPED (2026-05-24) - NO_FILL/CHASE fire-time classifier + risk scores are now wired to substrate and weekly extraction.
oP3.15-validationConviction-tier validation only. Initial wiring is DONE; boundaries must be validated from post-bridge outcomes.

v Phase 4 + 4.5 - Closed loop + risk framework

oP4.1>=100 closed signals per active setup.
oP4.2Lift freezeAdaptiveParams=true once baseline forward-test produces enough data.
oP4.3Calibration Advisor: outcome-fed per-setup confidence updates.
oP4.4Decision Trace post-mortem rates.
oP4.5Regime-conditioned learning.
oP4.5.1-fundedCushion-aware funded sizing remains gated on positive edge, setup graduation, and account choice.

v Phase 5 - Live readiness

oP5.0a.5-openOptional Fear&Greed / advanced macro presentation only. Base VIX/DXY/GEX read is DONE.
oDOMDOM-based confirmation/hard rules after live DOM depth quality is verified.

v Three-clock offensive intelligence

oSW-3Promote multi-bar ARMED persistence to an EV/gate input only if SW-1 substrate proves it outperforms single-bar fires.

v Signal Demo - replay fidelity

oSD-A/DRefusal scene + 5-phase rewrite should ship with the voice/render backlog, not as a split visual-only patch.
oSD-BReal fire replay gated on at least one clean post-bridge fire.
oSD-CGuided live replay belongs after real replay proves useful.
oSD-G/HGhost equity curves and gate-stack hover drilldown are post-bridge/live-only training tools.

v Roadmap hygiene

oH4Quarterly pruning audit.
oH6Memory consolidation cadence.
* DONE RECENT/DONE roadmap queue cleanup - completed work by chapter - green + struck markers

* Chapter 3 - Tune shipped

🟢 P3.7a Step 4a multi-leg - 🟢 P3.7b Daily-ATR(14) required-RR scaling - 🟢 P3.7d Multi-day exit-rule simulation re-run post Step-4a - 🟢 P3.10/b VIX/DXY/GEX macro fire-time substrate - 🟢 P3.11 IB ATR-relative thresholds - 🟢 P3.12 IB-tier harmonious L1-L5 integration - 🟢 P3.13b Whale Tier 3b EV/sizing influence - 🟢 P3.13c Daily OI overnight-delta refactor - 🟢 P3.15 Conviction tier initial wiring + tier-4 collapse - 🟢 Phase H setup expansion + audit fixes.

* Chapter 4 / 4.5 - Risk economics shipped

🟢 HOT-run sizing fixed-% / drawdown / instrument auto-select - 🟢 effective-equity sizing ledger-adjusted account base - 🟢 all-in risk + commissions instrument-aware fees - 🟢 mixed mini+micro optimizer contract mix output - 🟢 ATR risk sizing bounded size reduction from stop/target/VWAP geometry - 🟢 Trader Journal work-readiness actual-R first-class.

* Chapter 5 - Live readiness shipped

🟢 P5.0/P5.0a UI migration - 🟢 P5.1 signal execution consolidation - 🟢 P5.2 trade-management split - 🟢 P5.3 view-state invariant audit - 🟢 P5.4 module health + readiness - 🟢 P5.5 stable row ids - 🟢 P5.6/7 plan-executability badge - 🟢 roadmap lint queue hygiene guardrail.

* Offensive intelligence / NOA shipped

🟢 SW-1 Clock 2 observability - 🟢 SW-2 HTF context extraction - 🟢 NOA Phase 1-2a cognitive OS foundation - 🟢 Trade Companion Phase 1 chart overlay + voice/mute - 🟢 NOA Thesis Companion read-only lifecycle/thesis companion - 🟢 SD-E/F/RvE demo memory/regime/retail-vs-engine proof.

* Engine Architecture Atlas

Shipped 2026-05-21. Static reference doc - full engine layer stack: substrate (7 modules) - pillar scoring (6 families) - decision layer (4 gates) - discipline framework (4 modules). Self-contained HTML.

Live: eid-atlas.pages.dev - Source: mockups/architecture_atlas.html

* dxFeed Direct Bridge

Shipped 2026-05-19. Standalone .NET 8 app (dxfeed_bridge/, 11 files) bypasses Quantower. Direct TCP - real DOM depth via OrderBookManager - volume-based contract roll (4 safety layers) - prev-day H/L persistence - 3-tier aggressor classification. JSON field-for-field compatible.

Handoff: memory/project_session_handoff_2026-05-19_dxfeed_bridge.md

* Audit Cycle 2026-05-16

13 distinct fixes across 16 files - auditor accuracy 60% - audit-the-audit caught 6 false positives + 1 iceberg (C11 HOT-mode substrate writes were dormant since flip).

Detail in claude/engine_audit_2026-05-16/audit_results_summary.md

* Phase 0 - Foundation

Persistence Tier 1+2 - bar-logger watchdog - bridge TZ fix - working-dir cleanup (95->28 items).

* Phase 1 - Clean substrate

Bridge ran continuously through week 2026-05-07->11. 557 shadows captured, 208 valid outcomes (T+S+D). Substrate gate PASSED.

* Phase E - Engine stability

14h overnight investigation. Option C: accept variance (CV=0.20-0.29 on valid-plan fires) - add bootstrap CIs to weekly_report.py - no engine touch. M5 #9 preserved. Lean has same wall-clock-coupled property as documented industry standard.

* Phase F - Risk-plan layer v1

F1-F8 shipped 2026-05-15 late night. F2 daily-loss circuit breaker - F3 RR-inflation cap Gate 9 (NQ=2.5/ES=4.0) - F6-F7 Phase 1 HTF observability + Gate 9b regime fit - F8 Phase 3a pullback-reroute observability. Session router DISABLED after OOS rejection. Enforcement OFF in Hot Run; advisory metadata captured.

* Phase G - G1-G3b setups

4 new setup families shipped: G1 NQ<->ES SMT continuation - G2 First-5-Min Gap Halfback Fade (Edgeful "strongest single-stat") - G3 Overnight Inventory Continuation (NY Fed sr917) - G3b London-Sweep-Then-NY Failed-Breakout. All use existing engine state. Per-setup graduation criteria defined.

* P3.7a - Step 4a multi-leg

Multi-leg trade plan: 50% partial at +1R + runner. buildStructuredPlan emits legs[]; evCheckOutcomes walks legs independently; trader exits captured separately. Two parallel R streams per fire (engine hypothetical vs trader real).

* P3.10 / P3.10b - Macro tags

VIX + DXY daily-delta tags as analysis-side join in weekly_report.py. Fetch via claude/fetch_macro_daily.py (Yahoo Finance, no API key). First real signal surfaced: ES brk-retest-L PROFITABLE on USD-down days, NEGATIVE_EXPECTANCY on flat. Engine-side ingestion deferred (Q-MACRO follow-up).

* P5.0 / P5.0a.1-4 - UI migration

Mockup designs (research_page_quant_faithful_v4 + signal_page_quant_opinionated) atomic-swapped into live. 40+ engine renderer IDs wired. 4 forward-looking modules shipped: SBB stats strip - overlay activity - hero meta - today-R chip. P5.0a.5 macro UI deferred (council).

* Observability (OBS-*)

OBS-1 ib-brk-L/ib-ext-L entry split (was identical, root cause of ES "9% WR" headline) - OBS-3/4/4b/4c/4d 20+ contextual dimensions per shadow (volatility - time - news - price-location - IB tier - whale - OI) - OBS-7 Conflict Zone flicker fix (render coarsening) - OBS-8 broader dashboard flicker deferred to P5.0.

* Investigations (INV-*)

INV-1/1b OI feed reliability - root cause was missing NewDayBar subscription in C# bridge - INV-1c OI confirmed daily-only, gate is no-op until Tier3b refactor - INV-2 London IB window correction (was IL 09:00-10:00, fixed to 10:00-11:00 in JS + NQ bridge + ES tracker).

* P2.6(d) + P2.7

P2.6(d) setup-overlap audit (5 REDUNDANT pairs at j>=0.5, 100% outcome agreement - "15 setups" is really ~10 distinct bets). OBS-1-Prime emission-dedup shipped same-day. P2.7 setup-theses document (~600 lines, per-family identity + theory of edge with literature backing).

* NOA Phases 1 + 1a + 1b.1 + 1b.2 + 2a - Cognitive Trading OS foundation

Shipped across 2026-05-17 (morning -> evening -> night). 6 NOA modules, ~1500 lines total, parse-clean + smoke-clean. Zero engine-logic edits - discipline lock honored.

  • Phase 1 Backbone - engine-noa-cognitive.js - memory schema + earned-silence engine + replayability + self-accountability + success metric instrumentation
  • Phase 1a Architectural protection - 6 surgical API additions enforcing doctrine as code: claimEdgeDecay() floor - surfacePreMortem() non-blocking - getAccuracyStats({regime}) - environmentMultiplier - computeEdgeScoreBreakdown() - getInfoBandwidth() slot
  • Phase 1b.1 Observability UI - NEW engine-noa-observability.js - 3 panels + inline Inspector Mode
  • Phase 1b.2 Personality layer - 3 NEW modules - engine-noa-avatar.js (5-PNG state machine) - engine-noa-voice.js (24 deterministic templates) - engine-noa-copilot.js (5-section AI Copilot panel)
  • Phase 2a Cross-Market Substrate - NEW engine-noa-cross-market.js - quiet detection + regime hash + time-decay memory (reads existing crossIndexRegime())

Doctrine: NEW memory/noa_should_not_doctrine.md (10 commandments, equal weight to MAJOR memories). All 10 respected. Phase 2b/2c/3/4/5/6 gated per design.

* NOA Guide - walkthrough propagation SHIPPED (2026-05-22 late)

mockups/noa_guide_v2.html updated with 6 new tooltip steps covering substrate fields shipped 2026-05-22. Four-surface propagation rule satisfied.

  • Ch 4 (Setup Anatomy): Conviction Tier - T1 PREMIUM / T2 STRONG / T3 STANDARD / T4 WEAK. Composite of decisionState x setupScore x marketFitScore x volBucket x chopState. Kill condition documented inline.
  • Ch 7 (Execution Surface): Decision Window (LATE/EXPIRED states) - Momentum Alignment (ALIGNED/MIXED/COUNTER, last 5 bars) - VWAP Distance (AT_VWAP/NEAR/EXTENDED/FAR in ATR units) - Extraction Instruments (freshness - RR decay - stop-to-ATR - range exhaustion - session runway - target-to-ATR).
  • Ch 9 (Mid-Trade Safety): Extraction instruments as post-entry time-horizon sensors - when session runway/range exhaustion flip from gatekeeping to exit-timing signals.
TIMELINE 12-15 month centerline - live-capital target ~2027-05
Phase Calendar target Gates on (data milestone) Confidence
* Phase 0Closed 2026-05-08TZ fix + watchdog + cleanupshipped
* Phase 1Closed 2026-05-11Resolver: T+S+D > NO_TAPE on real barsshipped
[] Phase 22026-05-12 -> 05-26Per-setup expectancy + 6 calibration-Q answersHIGH
[] Phase 32026-05-12 -> 07-21Each P3.X A/B-isolated; impact > noise (REVISED - Phase F shipped ahead)MEDIUM
o Phase 42026-07-21 -> 10-21>=100 closed signals per active setupLOW (data-rate)
<> Phase 5 LIVE2026-10-21 -> 2027-02-213 rolling 4-week windows hitting all 6 north-star targetsUNKNOWN

End-to-end estimates: upside ~9mo (~20%) - centerline 12-15mo (~50-60%) - right-tail 18+mo (~20-25%, major architecture pivot). Anchor on centerline. Live-capital window: 2027-05 to 2027-08 per centerline.

[BRAIN] NOA - Cognitive Trading Operating System category creation play - phase-gated build - doctrine-anchored
Doctrine first / transparency before personality / earned authority only

NOA is a cognitive operating layer, not a chatbot.

NOA exists to make discretionary NQ/ES decision-making cleaner, more accountable, and more repeatable. It watches the market stream, the engine stream, and the trader stream. It may explain, compare, remember, and propose. It does not trade, gate execution, modify thresholds, or override the operator.

Doctrine anchor memory/noa_should_not_doctrine.md loads before every NOA expansion.
Money path locked NOA never touches engine-pipeline.js, EV decisions, production context, or config.
Language discipline Probabilistic, cited, self-accountable, regime-aware. No certainty theater.
Silence is signal If edge is not earned, NOA gets quieter. More words are not automatically better.
Current work order

Build in this order, with no shortcuts

The next useful NOA work is not more personality. It is drillable observability first, then persona, then data-gated intelligence. Every phase must earn the right to exist by improving clarity or measured trader behavior.

  1. 1. Keep the backbone stable

    Phase 1 and 1a are infrastructure. Preserve the memory schema, silence engine, API guardrails, and replayability surface.

  2. 2. Ship observability UI next

    Build the observation log, Inspector Mode, replay viewer, suppression reasons, and gate trace before any character layer.

  3. 3. Add personality only after proof

    Avatar, voice, and AI Copilot sections are allowed only after the operator can audit every NOA claim.

  4. 4. Unlock intelligence from live data

    Phase 2+ waits for bridge resume and clean forward data. No calibration or behavioral layer ships on belief.

Phase map

Phase-gated build plan

Read each row left to right: what the phase is, what is already true or must be built, what evidence gates it, and what must not happen. This is the working order for NOA.

N1

Backbone foundation infrastructure

Invisible cognitive substrate shipped 2026-05-17 morning.

Shipped
Built

Memory schema, earned-silence engine, replayability, self-accountability, success metric instrumentation, and engine-state hooks.

Source

assets/js/engine-noa-cognitive.js with 12-function surface on window.NoaCognitive.

Rule

Infrastructure first. No visible NOA role expands until the substrate remains stable.

N1a

Architectural protection layer doctrine enforced as code

Protection APIs shipped 2026-05-17 evening so NOA cannot drift into execution control.

Shipped
Built

claimEdgeDecay(), surfacePreMortem(), getAccuracyStats(), computeEdgeScore(), computeEdgeScoreBreakdown(), and bandwidth controls.

Proof

18 exports, smoke checks passed, and canonical .bak preserved.

Hard boundary

Pre-mortems can surface risk, but the API has no blockExecution path.

N1b.1

Observability UI shipped 2026-05-17 night

Three transparent panels mounted into #journalAiPanel. Boring, drillable, citation-cited.

Shipped
Built

NEW engine-noa-observability.js - Observation Log table - Suppression Reasoning - Gate Trace - inline Inspector Mode drill-down with citations resolved to canonical engine state. 6-fn surface on window.NoaObservability.

Backbone extension

Suppression ring buffer (cap 50) + getSuppressedObservations() API. window.NoaCognitive surface 18->19.

Doctrine honored

No avatar, no charm, no modals. Refresh 2s gated by AI tab visibility - no DOM churn elsewhere.

N1b.2

Personality layer shipped 2026-05-17 night

Avatar + voice templates + 5-section AI Copilot panel - riding on top of proven transparency.

Shipped
Built (3 modules)

engine-noa-avatar.js (5-PNG cross-fade state machine, auto-derived) - engine-noa-voice.js (24 deterministic templates, sharp/concise/institutional, no LLM) - engine-noa-copilot.js (5 sections: Live Read - Memory - Pattern Lens - Decision Review - Conversation Log).

Triggering

Avatar state auto-priority: alert > speaking > excited > thinking > idle. Conversation Log auto-appends material thoughts with dedup.

Doctrine check

All 10 commandments respected. Operator hit/miss feedback wired. Voice templates open to operator veto.

N2a

Cross-Market Substrate shipped 2026-05-17 night

Quiet detection - regime hash - time-decay memory. Pure observability - no UI, no engine modification.

Shipped
Built

NEW engine-noa-cross-market.js - reads existing canonical crossIndexRegime() per Memory 3 #7 (NO new data dependency). 8-fn surface on window.NoaCrossMarket.

Three dimensions

Quiet detection (range-as-%-of-price compression across NQ/ES/YM/RTY) - regime hash (single-token state for clusterable memory callbacks) - time-decay memory (5d half-life - 0.05 floor - auto-prune).

Smoke-verified

10-day-old entry -> exactly 0.25 weight (2 half-lives x 5d). Time-decay math precise.

N2b

Cross-Market Cognition detectors + role validation

Detectors (Participation, Leadership, Tension) write into 2a memory. Three-stream observations lift their gates.

Data gated
Gate

Bridge resume around 2026-05-31 plus first 4 clean weeks of usable data.

Unlock

pattern_surfaced, divergence_detected, regime_shift, and gate_advisory observations.

Validation

Each instrument's role (NQ-velocity / ES-structure / RTY-breadth / YM-pacing) tested per regime - not hardcoded forever.

N2c

Cross-Market Integration feeds environmentMultiplier

Cross-market tension suppresses NOA observations under unstable regimes. Engine signal weighting stays untouched.

Trust gated
Gate

Phase 3 validated AND NOA accuracy >=80% on regime-indexed measurement.

Output

Cross-market chip in Inspector Mode - suppression reasoning includes cross-market source citations.

Never

Engine signal weighting stays untouched. Memory 3 sacrosanct preserved across every phase.

N2.6

NOA bridge-piping deferred - evidence-gated

Auto-pipe NOA observations to research_data/live/*_noa_*.jsonl via bridge persistence. Manual export shipped 2026-05-17 night; auto-pipe gated on it earning its seat.

Evidence gated
Shipped 2026-05-17 night

Manual export APIs: NoaCognitive.exportToJSONL() - NoaCrossMarket.exportToJSONL() - NoaCopilot.exportAllNoaState() - downloadNoaState(). 💾 Export NOA state button live in AI Copilot tab.

Currently in localStorage

noa.observations.v1 - noa.suppressed.v1 - noa.fingerprint.v1 - noa.successMetric.v1 - noa.crossMarket.memory.v1 - noa.conversationLog.v1

Gate

Manual export demonstrates correlation value during first 4 weeks post-bridge-resume. Bridge piping ships only after Saturday attribution finds NOA observations actually correlate with engine fires + outcomes in a useful way.

N2.5

Macro Bonds Context spec locked 2026-05-17 - Q-MACRO council 5/5

Advanced-mode context: VIX/DXY macro (2.5a) + future ZN/ZB bonds eval (2.5b). NOA-side consumer feeds environmentMultiplier. Engine consumer gated on 4 evidence rules.

Evidence gated
Phase 2.5a

NEW engine-noa-macro.js (NOT built tonight - spec only). Reads existing macro_daily.json, computes stress score 0-100 + macro regime hash + time-decay memory.

Phase 2.5b

ZN/ZB bonds evaluation deferred until 2.5a earns its seat. Bond-equity correlation regime-dependent - single-regime intuition will fail.

Frank's mandate

2 quarters of NOA macro observability - if macro-day cohort accuracy not better than baseline -> layer REMOVED, not tuned harder.

Engine consumer gate

All 4 must pass: lock lifted - Phase 3 validated - macro-day NOA accuracy >=80% - decision-flip evidence on substrate.

Full spec

docs/QMACRO_SPEC.md (authored 2026-05-17 night by council convene).

N3

Calibration Advisor propose, never self-modify

NOA may propose threshold changes only after enough outcomes and enough proven NOA accuracy.

Hard gate
Gate

n>=100 closed signals per setup and NOA accuracy >=80%.

Build

Proposal surface, explicit operator confirmation, and proposal audit trail.

Never

No autonomous threshold edits. Engine logic remains sacrosanct.

N4

Behavioral Guardrails soft-touch only

Behavioral feedback becomes allowed only if Phase 3 is validated and markers are accurate.

Precision gated
Gate

Phase 3 validated plus >=80% precision on behavioral markers.

Build

Advisory withdrawal, calmer UI states, optional pre-mortems, and setInfoBandwidth('reduced'|'withdrawn').

Never

No punishment, lockouts, forced cool-downs, or compliance workflow.

N5

Market-breaking layer advanced clarity tools

Advanced NOA intelligence stays parked until the earlier layers prove actual edge.

Later
Gate

Phase 4 must demonstrate edge over at least 3 rolling 4-week windows.

Possible tools

Decision latency, calibration contracts, operator self-model, null hypotheses, edge decay, uncertainty, rehearsal, and trust budget.

Killer question

Does this improve clarity, or merely increase cognitive mass?

N6

CTOS multi-user do not build now

Multi-user cognitive transfer belongs only after solo edge is proven.

Parked
Window

Year 2-3, post solo-edge proof.

Concept

Privacy-preserving federated learning and anonymous cross-operator pattern transfer.

Now

Memory schema already supports it. No retrofit needed, and no build should start yet.

Success criterion

Phase 1 must move one measurable needle within 4 weeks of bridge resume: trader take-rate on PROFITABLE_CANDIDATE setups week over week. Track it through NoaCognitive.getSuccessMetric(). If the needle does not move, Phase 2 pauses for honest reassessment. Without this metric, NOA is journal theater.

Architecture discipline

  1. NOA stays observer until it earns an operator-facing role.
  2. Every claim must carry citations back to canonical engine state.
  3. Every proposal requires explicit human approval.
  4. More cognitive surface is rejected unless it improves decision clarity.
🧭 OPERATOR MANUAL trader's role in the system - cadence + runbooks

Weekly cadence

  • Sun PM: bridge supervisor running - dashboard launches via .bat - scan last week's blotter
  • Mon AM: overnight + Asia substrate check - anomaly flag
  • Tue->Fri: bridge babysit + observation (no engine edits)
  • Sat AM: the work window - weekly_report.py - council if ready to ship - engine ships in batch
  • Sun: rest

Monthly review (last Sat of month)

  • What shipped this month?
  • PF trend (week-over-week from weekly_report)
  • On the 12-15 month centerline?
  • Any unscheduled scope creep?
  • Council Mode-3 if any answer concerning

Bridge runbook (when supervisor auto-restart fires)

  • Check nq_elite_bridge_*.log for failure reason
  • Verify bridge process up: tasklist | findstr python
  • Verify dashboard reconnected (BRIDGE pill green)
  • Verify substrate continuity in today's JSONL
  • Outage > 30min RTH: flag day as partial in Saturday's resolver run

Psychological transition (SHADOW -> LIVE)

  • Paper-trade parallel (Phase 4.5 + early Phase 5): 2-4 weeks before live, simulate execution manually
  • Micro-account warmup (Phase 5 entry, first 4 weeks): smallest practical size, $2-5K, 1 micro per trade
  • Sizing-up plan (Phase 5 month 2+): after 4 weeks clean execution, scale per P4.5.4 rules

Graceful abandon path

At month 18 (or 6 months post Pivot Trigger reset), if no profitable rolling 4-week window in any post-pivot architecture, project exits as "unable to find edge with current operator + current resources." Preserve substrate + tooling. Document the negative result.

Not defeatist - trader-survival rule. Prevents sunk-cost continuation past month 24.

User lifecycle continuity

If life happens (illness - family - job change - relocation): stop bridge - archive state - preserve memory + substrate. System can sit idle indefinitely. On resumption: Mode-3 council to re-anchor + assess substrate freshness + restart from current Phase or pivot.

Hard rule: do NOT try to keep things running through life disruption. Divided attention on discipline-sensitive system is worse than clean pause.

Audit methodology - scenario-driven (locked 2026-05-17)

Regional file-by-file audits miss cross-file integration gaps by construction. Scenario-driven audits trace one signal flow end-to-end and catch the gaps regional sweeps don't see. Two cycles ran 2026-05-16/17 with different outcomes: regional cycle 13 fixes + ~40% false-positive rate - scenario redo found 2 NEW bugs both prior audits missed.

Standing protocol: (1) define 5 canonical scenarios upfront - (2) trace each end-to-end - (3) run audit-the-audit pass - (4) pause-and-restore correctness fix protocol on state-restoration paths - (5) .bak canonical overwrite default - (6) Layer 2 attribution tool output for each cycle.

Past cycles: project_session_handoff_2026-05-16_audit_cycle.md + project_session_handoff_2026-05-17_audit_redo.md.

NOA observer-only protocol (locked 2026-05-17)

NOA is a disciplined cognitive infrastructure layer for discretionary trading, NOT an AI assistant. Three boundaries: observer until earned - never touch money-path files - Memory 3 #7 canonical sources enforced architecturally.

Before any NOA expansion: load memory/noa_should_not_doctrine.md (10 commandments). If a proposed feature violates a commandment -> rejected regardless of who proposed it.

Operator workflow: hard-refresh after substrate field landings - AI Copilot tab top section for persona drill - click row in Observation Log -> Inspector Mode -> citations resolve to canonical engine state - 💾 Export NOA state at EOD -> save to research_data/live/ for Saturday attribution.

Falsification rule (always active): if cohort accuracy not better than baseline after 2 quarters OR trader take-rate needle doesn't move in 4 weeks post-bridge-resume -> layer is removed, not "tuned harder."

🔒 DISCIPLINE LOCK - POST-STEP-4a authored 2026-05-16 late++ - M3 re-anchor - audit cycle + GEX integration bypassed by user override

State as of 2026-05-16 late++: today shipped FOUR substrate-affecting changes - Hot Run flip - 99-field substrate - OBS-1-Prime dedup - Step 4a multi-leg.

The problem: engine that produced last week's measurements is not the engine that will produce next week's. Adding a fifth gate change before measuring the first four = confounded comparison week. PF-0.92 lesson is law - calibrating thresholds from intuition before observing distribution = repeat of exact mistake.

The lock: NO engine-logic edits between 2026-05-16 late++ and 2026-06-14 (~2 weeks post-bridge-resume, earliest). Exception: correctness fixes only (bug repair, definitional fixes, broken-data-source fixes). NOT gate tuning. NOT new setups. NOT classifier refactors.

Audit-cycle exception (2026-05-16): user explicitly overrode the lock for the 14-cluster audit cycle on the rationale "data contamination doesn't matter - we restart collection after fixes." The 13 audit-cycle ships landed under this carve-out. Lock conceptually restored after the audit closes.

GEX integration exception (2026-05-21): user explicitly overrode the lock for GEX+VIX+DXY full engine integration. Ships: 2 dashboard tiles (engine-sbb-stats-strip.js), 13 substrate fields (engine-pipeline.js), RR wall/regime modifier (engine-rr-confluence.js). All research-constrained (GEX modifiers gated on CALM/NORMAL VIX per FlashAlpha 8yr validation). Max RR adjustment capped at ±0.40R. Lock conceptually restored for remaining deferred items.

Instrumentation exception (2026-05-22): user overrode lock for LATE/EXPIRED decision-window states + shadow BLOCKED substrate instrument. Both are OBSERVABILITY - add measurement dimensions without changing signal-firing logic. Gate logic, thresholds, setup catalog untouched. LATE/EXPIRED: structural price definitions (price > entry+1R = LATE, price past stop/target = EXPIRED). Shadow BLOCKED: high-quality blocked signals logged with full enrichment parity for retroactive would-have-been outcome measurement.

Gate 9 enforcement exception (2026-05-22): correctness fix - RR_CAP_CONFIG.enabled flipped false->true in config.js. The cap (NQ 2.5R / ES 4.0R) was built 2026-05-15 but enforcement was off since day 1. 711-fire audit confirmed >2.5R NQ fires produce mean R -0.219R to -0.568R with 0-1% target hit rate; <=2.5R fires are positive EV. Thresholds unchanged - this is enabling an existing rule, not tuning a parameter.

5-WIRE enrichment override (2026-05-22 late): user override - "old data is from broken system, starting fresh when bridge connects; wire maximum information now, prune later." 5 wiring jobs touch money-path decisions (RR floor, stop width, target selection, position sizing, exit timing). Rationale: engine computes 40+ quantitative signals but only 5 were wired into financial decisions. The remaining 35+ were used for gates/display/narrative only. W1: delta/CVD/DOM -> RR profiler. W2: runway score -> target preference. W3: flow -> stop adjustment. W4: conviction tier -> sizing. W5: session-close exit with actual R.

Specifically deferred to >= 2026-06-14: BE-on-runner refinement, Phase G G4-G7. P3.7b shipped 2026-05-24.

What CAN advance: analysis-side tooling - backtest harness - P4.5 risk framework draft - Operator Manual - hygiene - macro UI cluster - journal enrichment.