Hookstreet Business OS — Cross-Workbook Handoff
Source: Two cloud Excel sessions (Financial OS + Operating OS) on 2026-05-12, co-authored. Pasted into desktop Claude Code session 33 by Sam. Saved verbatim per Step 7 instruction.
You are the desktop Claude Code session working on the local repo HookStreet-Business-OS. Two cloud Excel sessions just completed a coordinated cleanup across two workbooks. This is your full briefing.
The two workbooks
- Monthly Obligations.xlsx — Financial OS — canonical financial-truth source (debt, obligations, cashflow, STR signals, Wife_View, Sources_&_Provenance). 31 tabs.
- HookStreet_Operating_OS_v1.xlsx (may be renamed — check filename) — Operating OS — full operating map per option (a): governance + STR + Mildred + Hookstreet Services + briefings + action queue + calendar + people. 12 tabs (March 2026 build).
Step 0 — read the in-workbook briefings FIRST
Both workbooks now have Usage_Guide (purple/Meta, position 2) and Cross_Workbook_Briefing (purple/Meta) tabs. Open each workbook locally and read those tabs before doing anything else. Usage_Guide tells you per-tab purpose, who inputs, cadence, reports out, Apps Script candidate. Cross_Workbook_Briefing has the live cross-state.
The Monthly Obligations.xlsx workbook also has a Claude_Code_Prompt tab containing this exact prompt — use that as your in-workbook reference.
Step 1 — your three pending artifacts (do or confirm)
- v1 Google Sheets sharing audit: Drive MCP
get_file_permissionson file ID1L_rxCSOnc.... List every account with any access. Recommend revocations for non-Sam. Save asv1-sharing-audit.json. - Pull the 11 v1 archived obligation rows to CSV (from v1's Archive tab, cleanup-2026-04-26). Save as
outputs/2026-05-12_v1-archived-rows.csv. Sam will paste into Financial OS Archive tab. - Grep v1 Code.js for secrets:
sk-,api_key,ANTHROPIC,OPENAI,client_secret. Move any matches to PropertiesService. Save findings asv1-secrets-grep-result.txt.
Step 2 — the 8 locked decisions (don't relitigate)
- Migrate 11 v1 archived rows → Financial OS Archive tab. YES.
- BIWEEKLY_SEND → fold into WEEKLY_SEND.
- v1 Trading rules → move to
docs/TRADING_RULES.md(out of workbook). - OPS_SUMMARY_SEND → belongs in Operating OS, not Financial.
- Action_Master merge: union v1 (37 rows) + Financial Action_List (25 rows), source-tag, dedupe.
- Wife_View → separate Google Sheet with IMPORTRANGE pulling only safe cells. Privacy fails closed.
- Apps Script project → bound to new Sheet, single project containing BOTH v1-ported functions AND Operating OS's 4 functions.
- Parallel-shadow recipient:
sam+v3@hookstreetcapital.comfor 30 days before cutover.
Step 3 — Apps Script dedupe (already half-done)
Operating OS has 4 functions: syncCalendar, scanEmailForActions, sendOpsDigest, markDone. Full bodies live in the Operating OS workbook's APPS_SCRIPT tab. The Operating OS side has ALREADY applied sendDailyDigest → sendOpsDigest to avoid colliding with v1's DAILY_SEND.
Your remaining script work:
- Rename v1's
DAILY_SEND→sendFinancialDigestduring the port. - Drop
refreshCalendarSummary_. Operating OS'ssyncCalendarreplaces it. If a summary is needed, build it as a derived view on top ofCALENDAR_RAW. - Other ~48 v1 functions port forward as planned. About 50 of 118 v1 functions survive; ~68 are utility/migration cruft.
Step 4 — sheet structure for v3
Financial OS (31 tabs): every data range is a named Table (9 total: Provenance, ActionList, Obligations, AmazonOrders, Installments, SavingsGoals, TripsTable, ArchiveLog, SnowballPlan). Address by table name in Apps Script. All 20 orphan named ranges purged (v3_* + _xlfn.*) — do not re-introduce. New tabs added 2026-05-12: Cashflow_Projection (20-month forward), Snowball_Plan (avalanche), Cross_Workbook_Briefing, Usage_Guide, Claude_Code_Prompt.
Operating OS (12 tabs): 7 Tables: tbl_CalendarRaw, tbl_ActionTracker, tbl_WaitingOn, tbl_MeetingPrep, tbl_Projects, tbl_People, tbl_StaleArchive. DASHBOARD has 5 sections (rows 4/12/19/34/48). NOT wrapped as a Table. Apps Script must address DASHBOARD by absolute range or named range.
Uniform format spec (both workbooks): title row A1 merged fill #2C3E50 white bold 14pt; subtitle row A2 merged fill #F4F1EA italic #5D6D7E 11pt; table-header row fill #34495E white bold; table style TableStyleMedium2 banded rows.
Tab color convention (Sharing_Map): Grey=Sam-only, Yellow=Wife, Blue=Mildred, Green=All, Purple=Meta. Drive Protected Ranges from these.
Step 5 — migration sequence (3 phases)
- Phase 1 (3-4 hrs): build new Google Sheet from Financial OS structure. Port 4 v1-only items: 20-month Cashflow Projection (already built in Financial OS, port as-is), Snowball (already built), Pay-This-Week (v1 only), Calendar overlay (v1 only).
- Phase 2 (6-8 hrs): port ~50 v1 Apps Script functions into the bound project. Apply renames. Drop
refreshCalendarSummary_. - Phase 3 (30 days): parallel-shadow to
sam+v3@hookstreetcapital.com. Compare daily for a month. Cutover. Archive v1.
Step 6 — open loops (Sam owns these, not you)
Financial OS: [P0] Memorial Day STR pricing (this week); [P0] Wife_View B6/B8 placeholders; [P0] Obligations_Master ~6 zero-balance Active=TRUE rows need flipping to Active=FALSE ($69K KPI gap); [P1] Rocket_Reconcile 35+ yellow rows; [P1] Investments asset values $0; [P1] Cashflow_Assumptions B34 $2,687/mo Uncategorized; [P2] Arievim/Camp Agudah status reconcile.
Operating OS: read the Operating OS Usage_Guide tab Section 5.
Step 7 — what to do with this document
- ✅ Save this prompt as
docs/briefings/2026-05-12.mdin the repo. Future briefings follow same pattern (YYYY-MM-DD.md). - Update
docs/ARCHITECTURE.mdto reflect Financial OS vs Operating OS scope split + v3 Apps Script single-project convention. - Create
docs/TRADING_RULES.mdwith v1 trading rules (per decision 3). - When you've completed Step 1, tell Sam so he can paste artifacts into the relevant workbooks.
Lessons captured
- Tables for any Apps-Script-addressable range.
Obligations[Balance]survives migration;B2:B44does not. - Purge
_xlfn.*and version-prefixed (v3_*) named ranges before migration. They resolve to#REF!and crash scripts. - ISO datetime strings silently fail in
DATEDIF. Convert to serial dates on intake. - Sharing_Map color convention drives Protected Ranges — apply tab colors uniformly.
- Wife_View as separate Sheet with IMPORTRANGE (privacy fails closed, not open).
- Multi-section dashboards can't be Tables — address by range or named range.
- When two Claude sessions touch overlapping function names: different names if different scopes (
sendOpsDigestvssendFinancialDigest); same name with dedupe if same scope (syncCalendarreplacesrefreshCalendarSummary_). Apply renames proactively on the side that owns the code.
Co-authored by Financial OS + Operating OS cloud Excel sessions on 2026-05-12. Saved into local repo by desktop Claude Code session 33.
Local file paths (resolved)
- Monthly Obligations.xlsx →
C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH\Monthly Obligations.xlsx - Operating OS →
C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH\HookStreet_Operating_OS_v1.xlsx - v1 Sheet ID →
1L_rxCSOnc...(Drive) - v1 Code.js →
HookStreet-Business-OS/sheets/src/Code.js