Operations Summary — Full Critique

Audit Report  ·  Generated: Mon, May 4 2026 · 1:48 PM EDT (NY)  ·  Session 23  ·  Email thread: 19df4164618a3af7

✓ THE GOOD — What's Actually Working

WhatEvidence
Email fires and renders Arrived 1:43 PM, all 6 sections present, layout intact
OPS_IDS.hsUnified fix confirmed STR Properties section IS present — before today's fix this crashed with "Invalid argument: id" and the section was blank. Now it loads and renders correctly (even if the data inside is sparse).
Transportation section confirmed Same fix — section IS present with real row data. Before today: crash. Now: data.
Daily Tracker cap working Only 7 tasks (was 100+). All are from the actual task backlog, none from 2025 ghost items. The 14-day overdue cutoff is filtering correctly.
CLEAR_EXAMPLE_ROWS confirmed Zero "Example: …" rows visible anywhere in the email. Clean.
Stale items banner working ⚠️ header appears correctly, yellow highlighting triggering
Date header correct "Mon, May 4 2026" — correct

✗ THE BAD — Code Bugs (All Fixable)

Bug 1 — Eden Actions: Archived rows still showing (column mismatch)

The archived filter fix is correct in logic, but reading the wrong column. The code was written assuming an old sheet layout. The actual Eden OS sheet has a different column order.

ColumnWhat code expects (r[5])What's actually there
r[5]Status → "archived"Owner → "Zalmy", "Rachel", etc.
r[7]DeadlineStatus → "Archived" ← this is the right column

Actual ACTION_TRACKER column layout (confirmed from email output):

Actual: r[0]=ID · r[1]=Item/Task · r[2]=Type · r[3]=Project · r[4]=Lane · r[5]=Owner · r[6]=Due Date · r[7]=Status
Code expected: r[0]=ID · r[1]=Priority · r[2]=Category · r[3]=Action · r[4]=Owner · r[5]=Status · r[6]=Due · r[7]=Deadline

Fix: Change r[5]r[7] in both the filter and the stale detection fallback. Update display column indices to match actual layout. Single line change.

- const status = String(r[5] || '').toLowerCase();
+ const status = String(r[7] || '').toLowerCase();
- opsTaskTableHtml_(open, ['ID','Priority','Category','Action','Owner','Status','Due','Notes'], [0,1,2,3,4,5,6,8], ...)
+ opsTaskTableHtml_(open, ['ID','Item','Type','Project','Lane','Owner','Due','Status'], [0,1,2,3,4,5,6,7], ...)

Bug 2 — Eden Projects: status filter reading Lane instead of Status

Same root cause — different column layout. r[2] is expected to be Status, but actual sheet has Status at r[4].

ColumnCode expectsActual
r[2]Status → "done/cancelled"Lane → "EG Multi-lane", "EG Lane 1", etc.
r[4]Target DateStatus → "Active", "Behind", "At Risk"
- const status = String(r[2] || '').toLowerCase();
+ const status = String(r[4] || '').toLowerCase();
- opsTaskTableHtml_(activeProj, ['Project','Priority','Status','Owner','Target Date','Notes'], [0,1,2,3,4,5], ...)
+ opsTaskTableHtml_(activeProj, ['ID','Project','Lane','Owner','Status','Phase'], [0,1,2,3,4,5], ...)

Bug 3 — Eden Waiting On: no usable status column

Code reads r[4] for status expecting "done"/"resolved". Actual r[4] is "Date Requested" (a date value). The WAITING_ON sheet doesn't appear to have a Status column at all in the first 6 columns — so the filter never fires and every row passes through regardless of whether it's resolved.

Fix: Two options — (a) add a Status column to WAITING_ON in the Eden OS sheet, or (b) skip filtering and just show all rows (since the section is likely getting killed anyway — see strategic decision below).

⚡ THE UGLY — Data / Operational Problems

1. The entire Eden section is a ghost show — 3+ months stale

All 21 Eden action items are "Archived" from Feb–Mar 2026. All 9 projects reference things that are over: "Pesach in 4 weeks" (Pesach was April), "concert preparation" (concert was cancelled March 19). The entire Eden operating engagement effectively ended with Invoice #20028 being sent March 23.

This data isn't just stale — it's from a closed engagement. The code fix (Bug 1-3) would correctly filter it to zero rows. But the deeper question is: do you even want Eden sections in this weekly email anymore?

Recommendation: Kill Eden Actions / Projects / Waiting On from the Operations Summary. Replace the entire Eden block with one line: "Eden Gardens — Invoice #20028: $20,000 outstanding (~65 days past due)." You're not managing an engagement anymore — you're collecting a debt. Three sections of stale project management data is noise.

2. Transportation: test data + Invoice 20025 and 20026 need status update

InvoiceDateTypeClientAmountIssue
10000109/10/25TransportationZalmy$25Test data + duplicate invoice number
10000109/11/25TransportationZalmy$25Duplicate invoice number (same as row above)
10000212/05/25TransportationZalmy$30Test data — "Zalmy" as client
2002512/30/25ServiceSam says PAID — needs status updated in HS Unified → Master_Activity_Log
2002612/30/25ServiceSam says PAID — same fix needed

All 5 are showing as "awaiting billing." Action needed: Open HS Unified sheet → Master_Activity_Log tab → find rows for 20025 and 20026 → mark their status column as "Paid" (or whatever the status value is for billed/paid). Also delete or archive the 3 test entries (100001 x2, 100002) — they're not real jobs.

Note: Invoice numbers 20025/20026 look like Eden engagement invoice series (matching #20028). Why are they in the Transportation Master_Activity_Log rather than an Eden-specific ledger? Worth verifying what these actually represent.

3. STR Properties — empty but not broken

"No STR bookings recorded this month." The OPS_IDS fix is working (section renders without error), but the STR_Properties tab in HS Unified has no May data. You have two active STR properties (9332 Disney, 9312 Davenport). Either:

This is a data pipeline gap, not a code bug. If Mildred handles STR ops, she should be entering checkouts/check-ins weekly into that tab.

4. Daily Tracker — garbage data in the sheet itself

7 tasks are showing, but the quality is poor:

These need to be cleaned up manually in the Daily Tracker sheet — not a code problem.

Fix Plan — What Gets Done and By Whom

FixWhoEffortImpact
CODE Eden column mapping (Bugs 1–2: r[5]→r[7], r[2]→r[4]) Claude 5 min Filters out all 20 archived actions + stale projects correctly
DECISION Kill Eden 3-section block vs keep with fixed columns Sam decides 1 min If kill: replaces ~60 rows of stale noise with 1 clean invoice line
SHEET Mark 20025 + 20026 as Paid in HS Unified → Master_Activity_Log Sam (2 min) 2 min Removes from "awaiting billing" list
SHEET Delete 3 test rows (100001 ×2, 100002) from Master_Activity_Log Sam (2 min) 2 min Cleans Transportation section to show only real work
SHEET Clean Daily Tracker: delete "dshee," dedupe SBA Loan, fix priority format Sam or Mildred (5 min) 5 min 7 tasks becomes 5 clean tasks with correct priority flags
DATA PIPELINE STR Properties — Mildred enters bookings into HS Unified → STR_Properties weekly Mildred (ongoing) Mildred task STR section populates with real booking data

One Strategic Decision You Need to Make

Eden sections in Operations Summary — keep or kill?

You're not actively managing the Eden engagement anymore. You delivered. Invoice #20028 is outstanding. The 3-section Eden block (Actions, Waiting On, Projects) was built to run an active engagement — but you're past that. Even after fixing the column mapping, these sections would show zero rows (all archived). That's 3 empty sections in every email for the foreseeable future.

Option A (recommended) — Kill the 3 blocks, add one debt line:
Replace everything with: "Eden Gardens — Invoice #20028: $20,000 · ~65 days past due · last follow-up May 1" — hardcoded from your MASTER_ACTION_MAP or a simple CONFIG value. Clean, honest, zero maintenance.

Option B — Keep sections, fix columns:
Fix the column mapping (done in 5 min). Sections will show 0 rows since everything is archived. You'll have 3 section headers with "No open items." in every email. Not harmful, just pointless clutter.

Tell me A or B and I'll make the code change right now.

Scorecard — Session Fixes vs. Pre-Session State

IssuePre-SessionAfter Today
STR Properties sectionCRASH (Invalid argument: id)LOADS — data empty but no error
Transportation sectionCRASHLOADS
Example placeholder rowsPRESENT in all 4 input tabsCLEARED
Daily Tracker (2025 ghost tasks)100+ tasks from 20257 tasks, all current
Eden archived rowsN/A (fix intended today)STILL SHOWING — column mismatch bug (fix is small, pending Eden decision)
Time format (AM/PM)24hr12hr AM/PM (prior fix)
Debt balance displayNegative / $0ABS + Monthly Interest (prior fix)
OVERDUE display−2OVERDUE Nd (prior fix)
Camp tracker sign−$341.65$341.65 (prior fix)

Overall: 2 crash fixes + 1 data cleanup + 1 display fix confirmed working. 1 filter bug pending decision on Eden sections.