Fix #5 — SACS Scale Expansion applies this formula to existing SACS values:
50 + (70.43-50)×1.8 = 50 + 36.77 = 86.77. Exactly what we see for LLY across v1 vs Sandbox.
| Sheet | LLY SACS | Has Fix #5? | Math check |
|---|---|---|---|
| v1 (1HEmRev) | 86.77 | ✅ YES (1.8× applied) | 50 + (70.43 − 50) × 1.8 = 86.77 ✓ |
| V2 SACS Sandbox (1HtMOd) | 70.43 | ❌ NO (raw value) | This IS the input to Fix #5 |
| Production (1cosuFr) | ~50.99 INTC top | n/a — different scale entirely | 0-55 range, different formula |
Conclusion: v1 and Sandbox are NOT showing different conviction levels — they're showing the same underlying conviction at two different points in an upgrade chain. Sandbox is the testbed before Fix #5; v1 is after. Both are valid; v1 is the next step.
Production's scale is genuinely different — uses Sam's older 13-weight Composite (0-55 effective range) with tristate Flow (28/44/76 only). It's a different lineage.
| Fix # | What it changes | Why it matters | Sheets where applied |
|---|---|---|---|
| 1 | RR_13W: wrap in IFERROR + MAX(denom, 0.01) | Kills phantom AMGN=58,340,000 / DHR=48,270,000 from divide-by-near-zero | Unknown — verify by checking AMGN row in v1 |
| 2 | RiskGate: change from Risk%≤2.5% → Shares≥1 | UNLOCKS LLY, AMD, MRVL, NVDA from WATCH→ADD eligibility. Was the #1 critical bug in V11 teardown. | Unknown — v1's "ACTIONABLE TODAY (0)" output suggests not yet applied |
| 3 | ATR Floor: Shares=0 if stop < 0.5% of price | Prevents SGOV/SCHR/TLT generating 1,700+ share orders (Master v11.0f had this bug catastrophically) | Unknown |
| 4 | ZScore: verify returns-based not price-level | Z-score should normalize day's % move vs sector mean, not raw price levels | v1 shows "+2σ Up" Compression label → Z-score IS upgraded in v1 |
| 5 | SACS 1.8× scale expansion | Breaks the 70.4 ceiling so top conviction names reach ADD threshold (60+) | ✅ APPLIED in v1 (LLY=86.77 confirms) |
| 6 | New Close_vs_Open% column | Catches Gap-and-Trap (opens strong, closes weak = distribution) | Unknown |
| 7 | Catalyst: exponential decay (Earnings k=0.07, Macro k=0.35, Fed k=0.14) | Linear decay can go negative; exponential approaches 0 cleanly | Unknown |
| 8 | Dashboard: Pool Starvation indicator (⛔ DARK if <5 qualifying) | Tells you when to NOT trade — system goes dark in poor regimes | Unknown |
Action: Run runSACSUpgrade from v1's MIS Tools menu. The function logs to SACS_Upgrade_Log tab showing which fixes are DONE / SKIPPED / ALREADY_APPLIED. That single run answers all the "Unknown" cells above.
v1's email I patched Friday surfaces ACTIONABLE = Lean In + In Sync. Currently shows 0. But v1's Top Conviction shows ABBV/LLY/AMT/GD/PEP all as Lean In setups with SACS 66-86. The bottleneck is the actionFlag === '✅ In Sync' filter. The actionFlag is defined as ≥42 In Sync per legend. After Fix #5's 1.8× expansion, scores like 86.77 should EASILY clear actionFlag — but the actionFlag uses the Composite (not the post-expansion SACS) so it's still the old scale.
Verdict: Fix #5 expanded SACS but didn't expand the actionFlag threshold. Asymmetric upgrade. Need to either (a) lower actionFlag threshold, or (b) compute actionFlag from post-expansion SACS, or (c) don't tie Actionable to actionFlag at all — tie it to FinalState=ADD from Snapshot's 5-gate pipeline directly.
You asked specifically about Test_Entry. It exists in Architect V11 Microservices (1MU_Ni) as Test_Entry tab. Content per Drive snippet:
📱 MIS MOBILE SANDBOX ENTER TICKER: Category, No usable data / invalid ticker SACS Score Live Price Model Size Stop Loss Target Downside % Upside % Risk $ Target $ Reason Blocks Headline Check
It's a SCHEMA only — placeholder cells with no live data. Never wired. Per the Mobile Command Center vision Sam discussed with Gemini, this was supposed to be the "type ticker → get answer" mobile pattern. It exists; it's not connected.
Sam dropped scripts/mobile_command_center.js today — checkbox-driven controls for Dashboard tab cells Z1-Z5. Zero sheets currently have these checkboxes. The code is a DESIGN, not a deployment. Adding it requires:
~10 minutes of setup. Not done yet.
The Microservices Playbook_Dashboard shows DUOL/IBIT/GD with SACS 100/100/97. SACS=100 doesn't appear anywhere else. v1 max was 86.77 (LLY). Production max was 50.99 (INTC). Either:
Without reading its bound script 1mSbzO directly (which the runSACSUpgrade context implies is older code), can't confirm. This is the third independent SACS scale. Three in production = bad.
v1's Recent Trade History shows: 46125, 93947.00%, 95519.00% — that's date as serial number, prices as percentages. Same bug Sam's V11 teardown flagged. Inherited from production. Cell format issue, not formula. 2-minute fix in each sheet's Trade_Log tab.
Reviewed one of the 14 screenshots in the new screenshots/ subfolder. They show the MIS Morning Brief email rendered on phone — Mag 7 panel with prices, percentages, prev close + 30-Day Charts (mentioned tickers) with embedded TradingView/Yahoo chart links. This is Sam's reference visual for what the email should look like. The current v1 email already has both sections. Visual format is consistent.
| Subdir | Contents | Tracked? |
|---|---|---|
screenshots/ | 14 PNG iOS + browser screenshots from Apr 28 / Apr 30 / May 1 | ✅ committed |
scripts/ | 5 .js automation files (auto_triggers, mobile_command_center, runSACSUpgrade, trigger_power_system, MIS_ARCHITECT_COMPLETE_FIXED) | ✅ committed |
audits/ | 3 forensic teardown MDs + MIS_Genesis_Context.docx + SACS_ZScore_Analysis.docx | ✅ committed |
src/ | Production clasp project (Code.js + emailDailySnapshot.js + appsscript.json) — bound to 1cosuFr | ✅ tracked |
MIS-v1-script/ | v1 clasp project — bound to 1HEmRev | ⚠️ now gitignored (clasp-only) |
archive/ + data/ + files/ + python/ + docs/ | Pre-existing subdirs | per .gitignore patterns |
| Root | README.md, .clasp.json, .gitignore, .claspignore, appsscript.json, handoff briefs (.txt), Schwab CSV, gitignored .xlsx files | mixed |
Open script 1mSbzO (Architect V11 Microservices) → Triggers tab → DELETE ALL TRIGGERS. That stops the weekend "MIS Power Hour" emails. 60 seconds.
v1 script 1yBMzt → paste runSACSUpgrade.js into a new Apps Script file → save → from MIS Tools menu run "Run SACS Upgrade (V2)" → check SACS_Upgrade_Log tab to see what changed. 5 min. This applies all 8 fixes including the critical RiskGate fix that unlocks LLY/AMD/MRVL.
Per workspace policy (CLAUDE.md): rename in Drive, don't trash. Suggestions:
MIS_DEAD_excel-roundtrip_2026-05-03MIS_SANDBOX_pre-fix5_2026-05-03| Option | Pros | Cons |
|---|---|---|
| A. v1 (1HEmRev) as primary | SACS upgrade applied; my BLUF/Actionable/Earnings-filter patches deployed; clean 5-gate pipeline | Production's Schwab API integration not yet ported; 200+ logged runs of intelligence lost; no closed_trades log |
| B. Production (1cosuFr) as primary, port v1's improvements | Schwab live; 200+ logged runs of telemetry; mature data layer | Plaintext credentials must be rotated FIRST; SACS upgrade work needs porting; UI patches need re-applying |
| C. Microservices (1MU_Ni) as primary | Cleaner architecture per its name; lighter weight; better Power Hour format | Tiny sheet; tab structure incomplete; uses unknown 3rd SACS scale; would need rebuild |
Recommendation: Option B with strict sequencing — (1) rotate credentials, (2) port v1's runSACSUpgrade + email patches into production, (3) retire v1 to sandbox. This preserves your 200+ logged runs of intelligence and the Schwab pipeline while gaining the v1 improvements.
If you want phone-driven control: paste mobile_command_center.js into chosen primary script + add 5 checkboxes in Dashboard. ~10 min. The Test_Entry tab in Microservices is a placeholder — wire it up only after primary engine is chosen.
| Layer | Logic fit | Notes |
|---|---|---|
| SACS scoring math | ✅ CONSISTENT | v1=Sandbox×1.8 expansion. Production uses different lineage but internally consistent. |
| 5-gate pipeline (RiskGate / GradeGate / SACS_Gate / FlowGate / FinalGate) | ⚠️ PARTIAL | RiskGate is wrong everywhere until Fix #2 applied. SACS_Gate threshold (60) doesn't match post-expansion scale (max 92). |
| Email render (Morning Brief / Power Hour / Playbook) | ✅ FIXED Friday | BLUF + ACTIONABLE/SETUP split + Earnings filter all live in v1 since Friday. |
| Macro panel (Gold/Oil/USD/BTC/ETH) | ✅ FIXED Friday | Code-side fix at line 4342 of v1 emailDailySnapshot.js. Run misSendMorningBrief to verify. |
| Trade_Log formatting | ❌ BROKEN ACROSS | Date serial numbers, prices as percentages — needs cell-format fix in each sheet. |
| Sector classifications (BTCUSD as Utilities, etc.) | ❌ BROKEN | Sam's teardown documented; not yet fixed. |
| Plaintext credentials | ❌ EMERGENCY | Production sheet KEY_VALUE tab. Rotate now. |
| Trigger management | ❌ 3 ENGINES FIRING | Production (uncertain) + v1 (active) + Microservices (firing weekends). Consolidate to one. |