בס״ד

MIS OPEN REGISTER — every unfinished item, one honest list (LIVING doc)

docs/MIS_OPEN_REGISTER.md · last changed 2026-07-02 · rendered from GitHub master

MIS OPEN REGISTER — every unfinished item, one honest list (LIVING doc)

Built 2026-07-01 ~8:30 PM ET by the MIS engine-fix session from a 3-agent full sweep: the MIS repo/docs/audits/issues + every workspace briefing/doc/memory mentioning MIS since the beginning + the Excel workbooks' embedded Claude notes (rebuild build, v7.1 gemini-fixes handoff, v8 Mindblown) — then cross-checked against the live Code.gs/sheet so "never built" claims that actually exist under another name got struck (find-it-first discipline).
Rule: this is THE tracker for MIS open items. Close items here when done (strike + date + evidence). Don't re-derive this list — extend it.
Context: the 2026-07-01 fix window (deploys @126–@135) closed: RS_Sector horizon · SACS expansion+clamp · absolute-score knots · 898 recon · ATR floor · per-name RR · recoscore loop · scale to 237 · import meta-parse rewrite · SPAXX double-count · recon-tab rebuild · snapshot-trigger rearm. Scoring freeze LIFTED (Sam sign-off). None of that is listed below.


✅ EXECUTED 2026-07-01 PM (deploys @136–@137, same evening as the register was built)

  • 0.1 DONE — wash-sale is now a GATE in misV2VerdictFor_ (buy verdicts inside a window → WATCH/WASH_BLOCKED) + SELL fills below basis auto-write their own Wash_Sale row on import.
  • 0.4 DONE — Hebcal-backed quiet gate (cached monthly; the hardcoded list had missed Shavuos) now covers ALL push rails (brief, gap-pulse, movers, heartbeat, relay) AND the auto-imports (holdings + trades; multi-day search windows catch up next run).
  • NEW: kid-accounts directive (Sam 2026-07-01) DONE — KID/youth accounts (4073/5378) count for money-truth (equity/recon/book) but no longer drive the ACTIVE lane: held-status, HELD_LOSS/REDUCE, overlap gate, "why hold X" pulses. Verified live: SPCX/ORCL/AMT/ABBV now held=N (they live only in kids' accounts).
  • 6.7 DONE — LEVERAGED_CLASS gate (TQQQ/NVDL/TMV/TBT/TBF/UVIX/UVXY → WATCH, never entry candidates).
  • 1.7 STRUCK (find-it-first) — partial-fill parsing was already fixed 6/12 against real SPCX emails (code comment documents it).
  • 1.8 DONE — import-integrity check (email row-sum vs the email's own Total, same basis) logs WARN on mismatch.
  • 3.6 DONE — import completion/failure now pushes via the /mis/notify Telegram relay (MailApp had failed silently for weeks); quiet-day aware.
  • 1.1 PARTIAL — Schwab per-position averagePrice now auto-fills GAPS in Position_Costs on every import (never overwrites broker-bulk numbers). Fidelity side still wants the one-time positions-CSV export (Sam).
  • 1.6 PARTIAL — Holdings-freshness health row live (the asOf stamp is finally READ; GREEN ≤3d). Per-position Broker_Qty divergence check devalued by the daily full rewrite — downgraded, not closed.
  • 6.1 DONE — risk/factor/VaR/backtest analytics now read the LONG Price_History (ticker-keyed, ≥20 closes qualify; coverage grows daily toward 237). Health threshold now scales with universe.
  • 6.2 DONE — SURFACE_CONFLICT_CHECK self-heals + a quadratic-compute bug it exposed was fixed (execution-scoped shadow memo @137 — per-ticker verdict callers no longer recompute the whole universe).
  • 6.3 PARTIAL — news refresh + Market spot (gold/BTC/ETH — 4.2 DONE) now chained into the daily 4:20 PM run. Crosscheck/Integrity still manual.

✅ EXECUTED 2026-07-02 AM (@138)

  • PRE-MARKET READ shipped (Sam: "premarket coloring is interesting — I wanted something better"): misV2PreMarket_ pulls live Schwab EXTENDED quotes (index proxies + active-lane held + FSE shortlist, kids excluded), honest basis label + timestamp. Cockpit shows it as a gold strip before 9:30 with an explicit "cards below = last regular session" note; the pushed brief LEADS with it pre-open. fn=premarket / fn=premarketpush. Verified + pushed to Sam 9:15 AM.
  • 3.1 PARTIAL → MIS-owned brief rail ARMED — root cause of "I didn't get my briefing": setupBriefTriggers was never re-armed after the Jun-2 kill (parked as Brain-lane). Now armed: 7:00 AM + 4:15 PM daily, quiet-gated, via the notify relay; the 7:05 watchdog now watches the brief + nightly-snapshot triggers too. Brain's bot "MIS BRIEF" live-routing remains its own lane (3.1 stays open for that half).
  • Overnight verification: 22:00 snapshot fired ✓ (rearm held) · 6:20 Finnhub 40/40 ✓ (170 names still backfilling) · warm 30-min ✓.

✅ EXECUTED 2026-07-02 late-AM (@139–@141)

  • LIVE TAPE v2 — company names · positions block w/ mv-weighted P&L-vs-cost + engine verdict per line · engine shortlist · whole-universe Schwab movers (the old topmovers used GF regular-session % = prior-session moves when off-hours) · session-aware header, identical basis pre/regular/after · cockpit gold strip now ALWAYS-ON with the off-hours honesty note · fn=tape.
  • 2.5% CLOCK v2 — dollars-first both ways (BASE→NOW, EARNED $+%, TARGET $+%, TO GO $+% of base, ~$/day × days) · meta-aware nets (was reading the static control!) · Bucket-B Joint line now VISIBLE, labeled "no clock by thesis design" (Sam's scope question answered from his own thesis: PRESERVE/KID never clocked) · July base reseeded to the true 6/30 close $13,976 — the −$508 MTD was a mis-seeded baseline; real July = flat.

✅ EXECUTED 2026-07-02 midday — the Fidelity transactions CSV (Sam upload; archived MIS/data/Accounts_History_2025-07_2026-07.csv, gitignored-local by design)

  • 1.2 SPCX basis DONE — $161.76 (son 4073, bought 6/12; the Joint's 2.176 sold 6/18 @175.70, realized +$32). fn=setcost applied — SPCX P&L renders from tonight's join.
  • 1.5 MRVL SOLVED — Sam DID sell, at SCHWAB 898 (last: 1 sh @ $168.74 on 5/11/26 + serial sells through 2025, per the 6/3 Schwab export). "No email evidence" = the trade-import watches a 7-day window and didn't exist yet. STRUCK.
  • Wash check on the full year: CLEAN — every loss-sale's 31-day window expired (latest ORCL 5/27 → 6/27). No blocks owed.
  • 12-mo Fidelity realized (in-window FIFO): ≈ −$848 — ASML +862 · GOOG −823 · PYPL −634 · AVGO −219 (*pre-window shares, basis unknown — Fidelity-side full-history basis still wants the POSITIONS CSV, not just transactions). Open-lot basis table computed + archived.

✅ EXECUTED 2026-07-02 afternoon — Schwab via API, no export (@142)

  • fn=schwabtx shipped — per-account Schwab transactions straight off the Trader API (365-day max window). Pulled + archived (MIS/data/schwab_tx_api_365d_2026-07-02.json): 898 = 127 trade legs, 12-mo FIFO realized ≈ −$507 (ORCL −574 the big one; MU +83; MRVL +47) · 4436 = 11 legs, ≈ −$12. Live basis for current 898 holdings (GOOG 3 @371.17, AAPL 1 @299.25, bought 6/16) already auto-feeds via the API gap-fill. Caveats: in-window FIFO (pre-window shares = partial), and transfers/journals aren't in types=TRADE — the FIFO "open lots" ghost a few names (AFRM/LYFT/SLV) the live API says are gone.
  • 🔴 IBIT WASH-BLOCKED until 7/9 — the sweep caught a 6/9 loss-sale (10 sh @ 34.64, −$16.20); block written to Wash_Sale → the verdict gate now stops any IBIT buy this week. (Sam had eyed IBIT for BTC exposure — the gate exists for exactly this.)
  • 1241 (TV) confirmed NOT under this Schwab API login — accountNumbers returns 898 + 4436 only. 1241 is a separate (entity) login → closes the "why is 1241 invisible" half of 1.4; visibility needs its own auth or stays manual.
  • Bot staleness root-caused + fixed — the bot told Sam "VM not provisioned" hours after the VM texted "operator online": the D1 brain hadn't been re-synced since before 1 AM. brain-sync.py push re-run (629 facts refreshed + project_vm_operator memory added). Standing gap for the Brain lane: brain-sync needs a schedule/hook, not manual runs.

🆕 CAPTURED 2026-07-02 (Sam's iteration asks — not yet built)

  • 4.9 Cockpit v3 narrative reshape + design pass (twin-engine mockups first) — Sam's specifics from the live walkthrough: top-sector must show WHICH stocks · "The One Move" must be a specific actionable recommendation (what/how much/at what), not a pointer · regime line needs VIX day-% + day high/low · macro/micro + market-wide read + good-news panel · desktop has dead side-space — use it · coloring: current blue reads "briefing," wants "stock-terminal"; light mode "extremely white" — proper dark-terminal palette for this APP surface (allowed; forced-light is for briefings) · watchlist: company names if width allows, a touch more space between % and price, search/find + sort-by-name toggles · keep the explanatory wording for now (training wheels he'll shed).
  • 4.10 "Too-busy" proactive mode — when he doesn't check in, MIS decides WHEN he should know and pushes: your book + market + macro WHY + holdings news; Jewish news = keep in the Brain personal brief, not the MIS rail (recommended split — confirm with Sam).
  • 4.11 Realized vs unrealized MTD split on the clock — transactions CSV now in hand; July realized so far = +$3.23 (KO dividend). Needs the monthly-realized feed wired into the tracker.
  • 4.12 Take-a-trade SCOPE page rethink — verify it pulls the full MIS formula logic; Sam wants volatility (maybe implied vol), day high/low, volume/high-low-volume context on the entry surface. Own review session.

  • NEW ITEM → 6.14: the conflict check's first real run logged 92 disagreementsSnapshot col AS "FinalState" is a live independent classifier (the old formula cascade, no shock/extended/RR/leveraged gates). FSE law says no surface self-classifies: retire the column or repoint it at FSE. (It feeds nothing in code — display-only — but it sits in the sheet looking authoritative.)

P0 — SAFETY / SECURITY (do first; all freeze-safe or Sam-side)

# Item Source Status
0.1 Wash-sale gate INSIDE misV2VerdictFor_ — the guard exists everywhere EXCEPT the one verdict path all surfaces read; Proposed verdict can still say ADD on a wash-blocked name. Also: auto-detect losses in misV2ImportTrades_ → write Wash_Sale rows. The single highest-leverage undone engine item; explicitly freeze-safe-authorized since 6/12. ROADMAP §2#1 · MIS_OPERATOR locked rules · wash-sale memory NOT BUILT — partial: misV2VerdictFor_ DOES annotate wash (wash_blocked_until/wash_note added 6/11) but annotation ≠ gate: the ACTION still reads ADD/STARTER. Promote warn→gate.
0.2 ~~v1 plaintext Schwab/Finnhub creds in retired sheets~~ STRUCK 2026-07-01 ~9:50 PM — VERIFIED CLEAN, the claim had rotted. Full-tab scans of BOTH retired workbooks (Drive xlsx export + masked secret-scan): 1cosuFrU… "MIS_ARCHIVE_production" (43 tabs) — no cred labels, KEY_VALUE tab already deleted; 1HEmRev… "MIS_PRIMARY_2026-05" (81 tabs) — Control rows 12–19 have the labels (SCHWAB_CLIENT_ID/SECRET/REFRESH_TOKEN/EARNINGS_API_KEY) with ALL VALUES EMPTY; zero token-shaped strings in either. Old Schwab refresh tokens self-expire in 7d regardless. fn=revokev1 still scope-blocked (currentonly) — moot now. verified live 7/1 ~~DONE~~ (doc-rot: the cleanup predated the roadmap note).
0.3 RUN_TOKEN rotation — hardcoded in 5 locations (peek.html, 3 python importers, mis-bridge.gs) + git history of 2 private repos. ROADMAP §5b · 6/12 handoff Needs its own coordinated window.
0.4 Shabbos / Yom-Tov no-push + no-auto-import gate — now URGENT: the morning brief went cloud/auto (Brain, 7/1) with no chag gate. Hebcal-driven quiet window on every push rail + auto-import. ROADMAP §5.6 · V2_NEXT_STEPS NOT BUILT. MIS owns the gate even though push rails are Brain-lane.
0.5 MIS repo history scrub decision — private broker screenshots in history (a83cc3c); code-only branch before any publish. SCOPE_BACKLOG G4 DECISION PARKED.

P1 — MONEY-TRUTH (the 2.5% clock + P&L stay dark until these)

# Item Source Status
1.1 Cost-basis/P&L path partial → performance tiles render "pending" — cockpit Realized P&L + 1/2/3-mo (real+unreal) hardcoded pending; month-end "extract $X / keep $Y compounding" recommendation never computed (thesis render #5, acceptance Q1's dollar answer). Schwab-lot FIFO bug (ASML txn-weighted vs broker avg) blocked on Sam's Schwab Positions CSV export (898+436). 6/25 live-read B1/B2 · thesis · punchlist PARTIAL — Fidelity costs joined (113 rows, auto-join on import; SPCX the 1 miss). Schwab lots + realized-tile wiring open.
1.2 SPCX cost basis missing — held in 2 accounts, P&L blank. One broker number. 7/1 tab audit SAM-SIDE (or next Schwab/Fidelity lot export).
1.3 Interactive Brokers = 3rd brokerage, not in the ledger/account map at all. SCOPE_BACKLOG PM-1 / GH #32 NOT BUILT.
1.4 Accounts 1241 (TV) / 4436 (SWPF) invisible — PORTFOLIO_CONTROL_ holds only 898 of the Schwab set; classifier loose-matches 4436, misses 1241. SACS module §A/§3.3 OPEN (balances near $0 today — low money impact, real completeness gap).
1.5 MRVL discrepancy — Sam says sold; zero email evidence. Reconcile. SCOPE_BACKLOG 6/19 UNRESOLVED data-truth loop.
1.6 Per-position Broker_Qty freshness check (misV2HoldingsFreshness_, B.75 lineage) — per-{acct,ticker} qty divergence DIVERGENT/STALE/FRESH, propose-not-write. The asOf stamp in HOLDINGS_CLEAN col J is written but read by nothing. SACS module §B.75/§C-MUST NOT BUILT (meta-parse fix @133 ≠ this).
1.7 Partial-fill Gmail query verifysubject:"Order Execution" may miss "Order Partially Filled" (the literal ABBV case). Verify against a real Fidelity partial-fill email before editing. SACS §5.6 UNVERIFIED.
1.8 Recon control = prev-close marks (verified 7/1 vs Schwab live: the 5:31 PM email carries the prior close) — consider a same-basis import-integrity check (email row-sum vs email Total at load) so big-move-day REDs are labeled drift, not alarm. 7/1 session finding LABELED honestly @134; same-basis check = nice-to-have.

P2 — TRACK-B / WINDOW-GATED (evidence in hand; needs a Sam-opened window — scope-gate law stands)

# Item Source Status
2.1 Flow z-term contaminates Trend (10% weight; drove all the ±2–4 scale jitter + the SPCX flip). Candidate: absolute-Flow variant for the Trend blend. 7/1 evidence, FREEZE_FIX_LIST QUEUED, evidence captured.
2.2 Knot-map saturation → proposed-layer thresholds over-grade strong new names (ADD 51/237). Recalibrate bands vs the 237 distribution + module acceptance suite A–I. Until then the legacy SACS≥60 shortlist (6 names) is the calibrated funnel. 7/1 evidence QUEUED.
2.3 Weight calibration — explicitly LAST, after churn data at scale. SACS module GATED.
2.4 Production swap: legacy FinalState → proposed synthV2 — still MIGRATION_MODE dual-verdict; needs parallel-run + full acceptance suite + Sam sign-off. SACS module §4 GATED (the big intentional-drift step).
2.5 Horizon/intent-aware verdict — synthV2 takes no horizon; the "NVDA REJECTED-but-fine-5yr-core" catch. Pairs with the empty Position_Intent tab (5.1). ROADMAP §2#8 NEEDS WINDOW.
2.6 Min-history gate (INSUFFICIENT_HISTORY) — SPCX's day-1 verdict on ~4h of data proved it. ROADMAP §5b.4 NEEDS WINDOW (gate change).
2.7 MacroBias is a constant +4 — Composite compares Reference_Rules B2(14)<B3(19.5): two static params, always true. Uniform offset (no ranking effect) but a placeholder that rode from the Excel build; wire to live VIX or zero it. Verified still-live 7/1 in Code.gs. Excel handoff r87 CONFIRMED LIVE QUIRK.
2.8 SACS-band predictive validation — does ≥60 actually precede good moves? recoscore (wired 7/1) accrues the raw material from tomorrow; the band study (≥65 vs 45–65) is the analysis on top, ~2–4 weeks of data away. Acceptance-suite D. v11 teardown "A+ item" DATA ACCRUING.
2.9 HOLD must EMERGE + gate redesign formalization (module Track-B seq) — largely superseded by the shipped synthV2 bands; keep only as part of 2.2/2.4 calibration. SACS module FOLDED INTO 2.2/2.4.

P3 — DELIVERY (Brain / #042 / ops-api lane — MIS must NOT double-build; verify what the 7/1 parallel session already shipped)

# Item Source Status
3.1 Daily MIS brief on Sam's phone (bot "MIS BRIEF" live, not stale snapshot) — "the central felt gap" since Apr 17. Brain's 7/1 cloud morning brief now carries a MIS block — VERIFY with Sam whether that satisfies it or the dedicated bot route is still wanted. 6/30 honest review · ROADMAP §2#5 BRAIN LANE — verify post-7/1.
3.2 /mis/brief + /mis/tile composed endpoints → flip the live cockpit + home tile off the stale shell. Data foundation (/mis/quotes, /mis/history, D1) shipped 7/1 by the parallel session; the composed endpoints were STAGED. OPSAPI_CONTRACTS · 6/30 review BRAIN LANE — staged, verify deploy.
3.3 CF-Access the keyed pages (schwabsetup/sizeprotect/rearm behind Sam's Google login instead of a baked key). 6/30 review BRAIN LANE.
3.4 DONE/DEFER-from-Claude-Code inbox write bug (returns "?"). Sunday #8 COMMAND-INBOX LANE.
3.5 VM 100.79.23.85 = empty host (no workspace/memory/MCP). 6/30 review INFRA LANE.
3.6 Import confirmation email silently failing (MailApp try-swallowed; no "holdings refreshed" mail in 2+ days while the import ran fine). Route through /mis/notify relay instead. 7/1 session finding SMALL FIX, either lane.

P4 — RENDER / THESIS PROMISES not yet on a surface

# Item Source Status
4.1 Account mandate labels everywhere — Growth/Safe/Son/Daughter/Trading instead of raw numbers (mandates exist in recon; the book/brief still lead with numbers). Sunday #7 PARTIAL.
4.2 Crypto/gold LIVE with dollar levels + freshness stamp; ADD ETH — Market tab now has real gold+BTC (Coinbase); ETH absent; brief-side freshness stamps not standard. Sunday #5 · live-ops lessons PARTIAL.
4.3 News-WHY inside the pushed daily brief (incl. the mandatory dilution/secondary-offering catch) — the on-demand skill exists; brief integration doesn't. Sunday #6 OPEN (pairs with 3.1/3.2).
4.4 Bucket allocation A/B/C vs target (acceptance Q5) — theoretical below $30K (all-A by thesis); becomes real at $250K+. thesis BY-DESIGN DORMANT — keep on register so Q5 isn't silently unanswerable forever.
4.5 Sector-exposure visual (pie/bars) + multi-window momentum view (10/22/65d) — thesis renders #6/#7; cockpit has text roll-ups only. thesis NOT BUILT (cosmetic tier).
4.6 Thesis-cadence rotating "why do you hold X" check — pairs with Position_Intent (5.1). Sunday #9 NOT BUILT.
4.7 Bucketed-collapsible 237 universe UX (ADD/STARTER open; WATCH/REJECTED collapsed) — now relevant post-scale. SCOPE_BACKLOG 39c-11 PARKED.
4.8 Mildred view-only MIS review snapshot (confirm/flag, no edit). SCOPE_BACKLOG 42-6 PARKED (privacy scoping applies).

P5 — THE DISCIPLINE LAYER (promised in every Excel generation; never carried to v2)

# Item Source Status
5.1 Position_Intent — per-position thesis/horizon/bucket. Tab exists EMPTY. The INTENT dimension the verdict doctrine itself wants (feeds 2.5). v2 scaffold · doctrine EMPTY SCAFFOLD — highest-value quick fill (9 held names).
5.2 Behavior/discipline scoring — per-trade Followed_Plan / Risk_Aligned / Exit_Disciplined → rolling Discipline_Score. Distinct from recoscore (which grades the ENGINE, not Sam). v8 + gemini-v2 workbooks NEVER CARRIED.
5.3 Blind Side Analysis — gut-check held names against their own scores; prompts reconsideration on misalignment. Schema existed in two workbooks. workbooks NEVER CARRIED (the proposedstate TEST #11/#12 partially covers the spirit).
5.4 Personal setup hit-rate — "what setups have worked for ME" off TRADE_LOG. V2_NEXT_STEPS Phase 3 NOT BUILT.
5.5 Held-vs-churned trade quality — "if you'd held MU/NKE vs what you rotated into, you'd be at X vs Y" (Sam's flagged v1 must-have; mocked in cockpit-v2 synthesis). 6/25 synthesis NOT BUILT.
5.6 Ticker_Memory (ever-held / past verdicts / do-not-buy / re-entry zones) — empty scaffold; re-entry zones also wanted by the wash-sale doctrine (0.1). v2 scaffold EMPTY SCAFFOLD.
5.7 Portfolio open-risk headroom — v8's Max_Open_Risk 10% cap with Headroom_$ ("room to add risk") + staged-trade accounting; v2 has a bookRisk WARNING only. Regime factor (1.2/1.0/0.8/0.6/0.5) is DISPLAYED in briefjson but not APPLIED to sizing. v8 workbook PARTIAL — the sizing math exists in two halves that never met.

P6 — PLUMBING / HYGIENE (small, cite-backed, freeze-safe)

# Item Source Status
6.1 6 analytics fns (risk/VaR/factors/backtest/btnet/stress) still read the 16-ticker misV2HistColMap_ instead of the long Price_History (now 237-wide daily). Health gate phN>=16 threshold also stale. SACS §C-MAY REAL at 237 — the analytics see 7% of the book's universe.
6.2 SURFACE_CONFLICT_CHECK tab MISSING from the live sheet (32-tab dump) → the FSE conflict check silently no-ops (try-swallowed). Recreate tab or log loudly. 7/1 tab audit CONFIRMED.
6.3 NEWS_CACHE + Data_Crosscheck + Integrity_Check unscheduled (all last fed Jun 3); Integrity's "Weight≥12" check permanently false-FAILs (half the Setup weights are <12 by design) — retire it into fn=health or recalibrate. 7/1 tab audit STALE FEEDS.
6.4 Data_Health refresh-ORDER race — engine should wait universe-ready before FSE build (refillmeta was the symptom fix). SCALING_RESTRUCTURE C OPEN (matters more at 237).
6.5 Universe 237 → 250 — the stated "powerful" bar; +13 names with the scale machinery (fn=scale) once Finnhub backfill catches up. ROADMAP §2#7 EASY NEXT STEP.
6.6 Finnhub metadata backfill for the 210 new names (~5 days @40/day) → until done, EARNINGS_RISK gate is blind on new names. Consider a temporary bigger burst. 7/1 scale step IN PROGRESS (trigger).
6.7 UVIX/leveraged-vol non-tradeable class — SACS 100 on a 2× VIX product pollutes shortlist surfaces; v11's phantom-ticket lesson wants an explicit class exclusion from ADD/STARTER surfaces (keep for regime info). 7/1 histogram OPEN.
6.8 Tickers B–E static values (AAPL $291 vs live $294) — cosmetic; Beta the one consumer-visible field (fn=refillmeta refreshes). EARNINGS_MASTER vestigial; History wide-tab archive after a clean week of 237 appends; CONTROL still says "v2-phase1". 7/1 tab audit COSMETIC BATCH.
6.9 Recon rollup names only the worst RED in text; brief-visible second RED can hide. + misV2Cleanup_ Sectors-delete guard + DoD absence-test (null one ticker → surfaces say "unavailable", never silent legacy fallback) + margin language leaking onto no-margin accounts (generic "borrow against yourself" hint). ROADMAP §2#12 HYGIENE BATCH.
6.10 Doc-rot — MIS/README.md banner still says "Phase 2 cutover not started"; MIS_SYSTEM_STATE.md sessions behind; SACS §6 GATE-4-rewrite needs a SUPERSEDED marker (it's dissolved). GH issue #10 (sheet-to-bones audit) — answerable by THIS register + the 7/1 tab audit; close it. ROADMAP §2#13 DOC BATCH.
6.11 Warm-cache trigger — RUN_LOG shows misV2WarmDashboard_ firing every 30 min ✓ CONFIRMED INSTALLED. Struck. ~~SCALING order #1~~ ~~DONE~~ (evidence: RUN_LOG 7/1, 13 firings).
6.12 Gate D CLOSED-branch after-hours header — one post-close observation pending to call it fully verified. ROADMAP §5b VERIFY-ONLY.
6.13 EARNINGS_DEPTH tab absent from live sheet (fn=earndepth exists; INTC/NVDA-era rows gone). Recreate on next earndepth run or drop the feature deliberately. 7/1 tab audit DECIDE.

🔩 HARDCODED-VALUES INVENTORY (Sam 7/2: "anything hardcoded has to be noted — I don't want numbers that don't move")

Hardcode Where Status
PORTFOLIO_CONTROL_ account nets/cash/margin Code.gs table ✅ DEFUSED — HOLDINGS_META (daily broker email) overrides it; table = fallback only
MTD baseline Script Property per month by design (month-start snapshot); resettable fn=setmtdbase
NYSE holidays 2026 · chag fallback list Code.gs ⚠ ANNUAL ROT — dies each Jan (chag now Hebcal-backed w/ static fallback; holidays list needs a 2027 refresh or an API)
ABS_KNOTS_ score maps Code.gs FROZEN BY DESIGN (that's the absolute-score contract; recalibration = Track-B)
LEVERAGED_CLASS_ list · UNI_META_ sectors · MIS_UNIVERSE_ Code.gs static lists — fine, but additions must edit code (fn=scale reads them)
Reference_Rules weights · gate thresholds (SACS 60, Flow 75, RR 1.5, 8% stop cap, 0.5% ATR floor) Sheet + Code.gs doctrine dials — changes are Track-B, with proof
MIS_SETUP_KEY Code.gs constant rotation rides the RUN_TOKEN window (0.3)
Cockpit "pending" tiles (Realized, 1/2/3-mo) hardcoded placeholder text ⚠ THE one Sam means — real numbers exist now (TXN_LEDGER); wiring = top of next window

STANDING WATCHES (not builds)

DISSOLVED / ALREADY-EXISTS LEDGER (so these stop resurfacing as "open")


Cadence: re-sweep this register at each MIS window open; strike with evidence; the 3-agent sweep method is repeatable (MIS repo · workspace briefings/memory · workbooks).

🔑 COST-BASIS RECONCILIATION — DONE 2026-07-02 ~00:30 (Fable session; Sam handed the lane after losing the MIS session)

Read outputs/2026-07-01_23-45_audit_cost-basis-reconciliation.html FIRST. Compressed: quantities GREEN all 5 accounts (CSV baseline + email-verified fills = Jul-1 position summaries = live book, incl. cash). Basis fixes needed in the book: MIS blends one basis/symbol across accounts — NVDA 5692 shows +37.6% but the real lot is 2 @ $212.36 (Jun 15) ≈ −5.8%; SPCX 4073 basis null (true 1.854 @ $161.76). Jun-18 "moved shares" decoded: 4 in-kind transfers (KO+COST 0600→5692; META 0.455+GOOG 1.0 5692→0600), basis carries. Stale doc claims killed: SPCX joint = ROUND-TRIP (+$32.40, not held) · IBIT 10 SOLD Jun 9 @ 34.6401 · MU = Schwab sale 1 @ 1,029.755 Jun 16 · META = TWO buys (8.449 @ ~591.75 + 6 @ 565.55). MRVL: still ZERO evidence anywhere — possibly the IBKR relationship (only price alerts seen; account scope unknown). 8 unresolved items; one fresh Fidelity basis CSV + one Schwab realized-gain export closes 5 of them.

Source trail · docs/MIS_OPEN_REGISTER.md @ master · rendered 2026-07-02 7:23 PM EDT by scripts/build-docs.py · the .md in the repo is the truth; this page is the phone-readable view