# BOS REPO AUDIT + SCRIPT × SHEET CONNECTION MAP

> **Generated:** Tue Apr 28 2026 · 11:30 PM EDT (NY)
> **Scope:** Two GitHub repos (`HookStreet-Business-OS`, `hookstreet-bos-sheets`) + cross-script data-flow registry
> **Working dir:** `C:\Users\ztrei\OneDrive\2. Hook Street\05. 2026 BH`

---

## Q1: Are the two BOS repos duplicates? → NO. They're PARENT + NESTED CHILD.

Local folder `HookStreet-Business-OS/` is git-pointed at `zee78900/HookStreet-Business-OS` (outer). It has a nested git repo at `sheets/` that's git-pointed at `zee78900/hookstreet-bos-sheets` (inner). The outer gitignores the inner.

| | Outer: `HookStreet-Business-OS` | Inner: `hookstreet-bos-sheets` |
|---|---|---|
| **Purpose** | Workspace umbrella + frozen Next.js app + xlsx archive | Active Apps Script for BOS-v1 |
| **Disk** | 563 KB | 205 KB |
| **Created** | 2026-03-11 | 2026-03-20 |
| **Last push** | 2026-04-27 | 2026-04-27 |
| **Visibility** | Private | Private |
| **Live code?** | `command-center/` (Next.js — **FROZEN** per CLAUDE.md) | YES — bound to BOS-v1 script `1_cgriwCQ...` |
| **Active dev?** | Stale | Active |

### Three options for cleanup (NONE EXECUTED — all need your go)

| Option | What it does | Pros | Cons |
|---|---|---|---|
| **A. Status quo** | Keep both. Document relationship better in CLAUDE.md. | Zero risk. clasp keeps working. | Two repos to push. Outer is mostly dead weight. |
| **B. Merge into one** | Kill nested `.git`, make `sheets/` a regular subfolder of outer repo. Set `rootDir` in `.clasp.json`. | One repo. Single push. Cleaner GitHub view. | Lose 1 month of `hookstreet-bos-sheets` history (or merge w/ subtree). Some clasp friction. |
| **C. Trim aggressive** | Move `command-center/` → `archive/graveyard/` (frozen, no reactivation date). Optionally archive xlsx files. Leave outer repo as just a workspace umbrella. | command-center is dead weight — getting it out of working tree is sanity. | Destructive (graveyard mv only — recoverable). |

**My recommendation: A + C.** Keep two repos (don't merge yet — `sheets-v2/` will eventually need its own repo too, and three nested clasps in one outer repo gets messier). But **move `command-center/` to `archive/graveyard/2026-04-28_command-center-frozen/`** since it's frozen indefinitely per the operational compression rule. The xlsx files in `archive/` are already in the right place.

**Don't do B yet.** Merging history and reorganizing clasp paths is exactly the kind of "let me organize first" trap the 3-agent critique called out. Defer until there's a concrete benefit.

---

## Q2: Cross-script × sheet connection map (the "where does it pull from" question)

### Complete inventory — every Apps Script in the workspace and what it reads/writes

| Script | Script ID | Bound to (script lives inside this sheet) | Reads from (via openById) | Writes to | Triggers |
|---|---|---|---|---|---|
| **BOS-v1** (`hookstreet-bos-sheets`) | `1_cgriwCQ...` | Monthly Obligations (`1L_rxCSOnc...`) | • operatingOS `1LWsKTLLm2VQvX2-Iq6qtNvxAtS09qSFPdP5Cm5UaaaM` (line 396, 413) <br> • dailyTracker `1ZGADlm...` (line 397, 470) <br> • Quick Capture form responses `1Wp4Opb...` (settings, line 1047) <br> • ⚠ `OPS_IDS.hsUnified` referenced at lines 495 + 533 BUT removed from OPS_IDS at line 395 — **likely broken** | Bound sheet tabs: GROCERY_LIST, IDEAS, PERSONAL_REPORT_INPUT, BUSINESS_REPORT_INPUT, CALENDAR_SUMMARY_INPUT | Time-based: Daily Snapshot Mon-Fri 7:40 AM · Operations Summary Sun 7:05 AM · Weekly Review Sun 7:53 AM · PROCESS_QUICK_CAPTURE every 30 min |
| **BOS-v2** (clasp-only, no GitHub repo) | `1ROnmAAhtTYE...` | Monthly Obligations v2 (`1qNYUbb...`) | Bound sheet only (per memory) | Bound sheet | Hookstreet OS WEEKLY (Monthly Overview) Sun ~7:54 AM |
| **MIS** (`zee78900/MIS`) | `1r9vWL1Ds...` | MIS sheet (`1cosuFrU...`) | Bound sheet tabs | Bound sheet | Morning Brief 9:53 AM Mon-Fri · Trade Action 2:05 PM Mon-Fri · Power Hour 3:00 PM Mon-Fri · Sunday Week-Ahead 6:05 PM |
| **CM Invoice** (`zee78900/CM_Invoice_System`) | `106wdSg6lMTsq...` | CM Invoice System v2 (`1nMTEl_eYpAsQ...`) | Bound sheet | Bound sheet + Drive folder `HS_CM Invoice System` (`1JjMGPe8...`) | NONE installed yet (daily AR digest + weekly summary frozen until 15-test validation) |
| **Voice Intake** (`zee78900/hookstreet-voice-intake`) | NOT YET DEPLOYED | n/a | Gmail `[INTAKE-V1]` label | Monthly Obligations sheet (`1L_rxCSOnc...`) — same as BOS-v1 | Every 5 min when deployed |

### 🚨 Bug discovered while building this map

`HookStreet-Business-OS/sheets/src/Code.js` line 395 says:

```js
const OPS_IDS = {
  // hsUnified removed — defined here historically but never referenced anywhere in code
  operatingOS:  '1LWsKTLLm2VQvX2-Iq6qtNvxAtS09qSFPdP5Cm5UaaaM',
  dailyTracker: '1ZGADlm5WIAAxuJX8q1jiZ8GGL2D1vKYxFFzsI1ylHWI'
};
```

But lines 495 and 533 still call `SpreadsheetApp.openById(OPS_IDS.hsUnified)` — for the STR section + Transportation/Jobs section of the Operations Summary email.

**Effect:** Those two sections of the Operations Summary email likely throw runtime errors or silently render empty. The "No STR bookings recorded this month" / "No jobs recorded this month" placeholder text at lines 519, 553 may be permanently displayed regardless of actual data.

**Fix:** Either restore `hsUnified: '1qDqEMI-sudCcCqWybs19M_0-ynq6qs8156vsYqgY36E'` to OPS_IDS (the ID is in the README), OR delete the STR + Jobs sections entirely (Rule 4: minimum viable).

Logged as new CURRENT_STATE row.

---

## Q3: Frozen items still on the list — confirmed

You asked: *"validation passes, the 277 column, things like that — had to have it in there."*

✅ **Confirmed nothing is killed. Everything is queued, just gated by order.** Status of each item you mentioned:

| Item | Where it lives | Status | Gate |
|---|---|---|---|
| 15-test validation pass | `CM_Invoice_System/CM_VALIDATION_PLAN.md` + CURRENT_STATE 🔴 NOW row | Queued | Sam runs, after sacrificial-test mode fixes land |
| 277-col denormalized export schema | CURRENT_STATE 🟡 THIS WEEK row "Mom Invoice — Scope confirmation on `_INVOICE_EXPORT_VALUES`" | Queued | After 15/15 validation passes |
| Dropdowns in pop-ups (UX) | CURRENT_STATE 🔴 NOW row "🐛 BUG #2: Pop-up prompts have no dropdowns" | Queued (Bug fix #2) | Will be addressed by **killing the prompts entirely** — Invoice_Entry tab cells become only entry path. No HtmlService modal needed. |

**The freeze is a SEQUENCE rule, not a kill rule.** Phase 8+ features get built — just AFTER Phase 1-7.5 actually work.

---

## Q4: Bang-for-buck recommendation for next session

You have three live work-fronts. Ranked by ROI:

| # | Front | Effort | Return | Recommendation |
|---|---|---|---|---|
| 🥇 | **Fix 3 CM bugs in sacrificial mode → real validation** | 1-2 hrs Claude work + ~1 hr your testing | Mom can actually send a real invoice. Validates Rules 9 + 10 on a real case. Closes the longest-running open loop. | **DO THIS NEXT** |
| 🥈 | **Fix BOS-v1 `hsUnified` bug** | 5 min Claude fix + you confirm in next daily snapshot email | Operations Summary STR + Transport sections start working again | Fast-follow bundled with #1 if you want |
| 🥉 | **Trigger registry cleanup (TRIGGER_REGISTRY Phase B-G)** | You screenshot each Apps Script editor's triggers panel (~30 min you), then Claude diffs + you approve deletes | Stops MIS/BOS email duplicates. Hygiene. | Schedule a separate session — needs your full attention to read the trigger lists |

**Why CM bugs first:** The 3-agent critique converged on "build proof not surfaces." CM is the closest path to a real customer (Mom) using a real workflow. The new Rules 9 + 10 we just adopted need a first real test case to validate them. Anything else is meta.

---

## What I'm updating in CURRENT_STATE next

- BOS-v1 `hsUnified` bug — new 🟡 THIS WEEK row
- `rivkat2000@gmail.com` row — close, mark verified (Sam confirmed = Mom)
- Customers tab seed audit row — mark verified (BRENDA - CHICAGO is CUST-007, FAME POMONA is CUST-036, RADIANCE is CUST-066, etc.) — **the seed already has Mom's real customers**
- BOS repo recommendation row — new 🟢 PARKED row pending your decision A/B/C

---

*Source trail: `outputs/2026-04-28_23-30_audit_bos-repos-and-script-sheet-map.md` · workspace `1401284` · CM `d979100` · BOS-v1 sheets/src/Code.js inspection · clasp.json files inspected*
