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":
setupBriefTriggerswas 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=setcostapplied — 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=schwabtxshipped — 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 pushre-run (629 facts refreshed +project_vm_operatormemory 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 disagreements —
Snapshotcol 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 verify — subject:"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)
- Recon money condition (Sam, 7/1): any Fidelity gap >5% persisting after a fresh import = data bug — fix before trusting portfolio dollars. (7/1: mechanism fixed; residual REDs = prev-close drift, self-clearing.)
- META concentration: ~47–49% of account 600, margined — the #1 book risk, un-trimmed; advisory trim plan stands. Today's +8.8% made it bigger, not smaller.
- Tomorrow-AM verification: did the FIXED import (meta capture) fire clean at 6:10 PM 7/2 (check
fn=runlogformisV2ImportHoldings_ meta captured), did recon go GREEN on a quiet day, did the 22:00 snapshot fire, did recoscore fill its first 1d returns.
DISSOLVED / ALREADY-EXISTS LEDGER (so these stop resurfacing as "open")
- Signal_View →
fn=signals· Momentum_Digest →fn=digest· Entry_Pad/green-light →fn=entry+fn=sizeprotect· Command-Center trade calculator →fn=whatif· Broker trade-fill import →misV2ImportTrades_(TRADE_LOG live) · broker cost import →fn=importbroker/fn=loadcosts· FINAL_STATE_HISTORY → live (906 rows) · movers →fn=topmovers· regression fixtures (NVO/AAPL) → superseded by the #15A/#15B baseline system · Catalyst_Engine feed → deliberately dead (EventImpact_v2 doctrine: no factor without a live, freshness-tested feed) · Command-Center ticker-search → Sam's own 5/01 verdict "didn't really pan out"; cockpit/watchlist supersede · emoji verdict vocab → replaced by ADD/STARTER/HOLD/WATCH/TRIM/REJECTED/EXIT · Mildred 4-field entry → dissolved into zero-field broker-email auto-import (phone-dictate residual rides #042) · 16 UPPERCASE dupe tabs / REPORT_SNAPSHOTS heavy HTML / HIST_MOMENTUM table-ify → v1-sheet era, retired with the sheet · v11 forensic bug list → cured in v2 (only plaintext creds carried → 0.2) · GH #3–#9 CLOSED.
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.