Operating allocation — evidence verification (rolling)
Purpose: Batch checklist for proposal-grade alignment: Operating ↔ signed agreements + HubSpot + vault transcripts (+ Slack when needed). Hygiene-only API passes do not require this full matrix.
Signed agreements (source of truth): Client agreements — Google Drive (executed SOWs/MSAs). Vault knowledge/clients/*/resources/ is convenience; Drive wins on conflict.
List signed files with gws: The tree is on a shared drive — use gws drive files list with corpora: allDrives, includeItemsFromAllDrives: true, supportsAllDrives: true (see .agents/skills/sl-allocation-updater/SKILL.md v 1.2.2+ § gws). Drill Executed Client Agreements → Active Clients → {client} by substituting each folder id from the JSON response.
Per-client Drive + vault links are maintained in each operating-allocations-remediation.md under § Signed agreements (Google Drive — source of truth).
HubSpot — signed agreement URL on each deal
Field: Use deal property signed_agreement_drive_url (single-line text) for the Google Drive folder URL under Executed Client Agreements → Active Clients → {client} (or the primary signed PDF if the team prefers one canonical link). Confirm the internal name in HubSpot Settings → Data Management → Properties → Deals; if your portal uses a different internal name, set HUBSPOT_DEAL_SIGNED_AGREEMENT_PROPERTY when running the patch script.
Batch update: tools/hubspot-api-service/ — copy scripts/data/deal-signed-agreement-urls.example.json to scripts/data/deal-signed-agreement-urls.json, fill dealId per active delivery deal, then npm run patch-deal-signed-agreement-urls with HUBSPOT_ACCESS_TOKEN (see script header). Dry-run: npx tsx scripts/patch-deal-signed-agreement-urls.ts --dry-run --file=scripts/data/deal-signed-agreement-urls.example.json.
Example mapping (folder URLs — same as remediation § Signed agreements): LMNT deal 260065651435 → LMNT folder; Eden → Eden folder; CTA → CTA folder; Magic Spoon → Magic Spoon folder; MinuteMD Amble → Amble folder; GlobalVetLink → GVL folder; ABC Default → Default folder. Resolve deal IDs in HubSpot for each open/won deal before patching.
Allocation proposals — evidence order (after commercial terms on Drive)
With signed commercial terms anchored in Drive (and remediation tables), proposal-grade Operating **PATCH**es (project from/through, billingType, allocation %) should be justified in this order:
- Drive — executed SOW/MSA windows, fees, and roster language.
- HubSpot — active deal stage, amount, close date, and
signed_agreement_drive_urlmatching the Drive folder/PDF for that engagement. - Vault transcripts — recent client or internal syncs that confirm dates, scope, or staffing intent.
- Slack (Supabase Slack project or Slack MCP per repo rules) — when validating who is actually doing the work or what was agreed in-thread when transcripts lag.
If any source is missing or conflicts, label the plan provisional and record the gap in the client operating-allocations-remediation.md or this file.
Current Operating baseline (Apr 2026 — hygiene pass applied)
Single-page rollup after the 2026-04-15 / 2026-04-16 API + doc work. Detail, IDs, and curl: each client’s operating-allocations-remediation.md.
| Client | Operating project(s) | Planning window | Allocation headline |
|---|---|---|---|
| LMNT | 171036 Deal #2 (legacy 145117 archived) | 2026-04-01 → 2026-08-31 | Seven-person roster on Deal #2 per SOW excerpt; Ashwini off Deal #2 (2026-04-15). |
| Eden | 141032 DE · 168008 PCC | DE through 2026-04-27; PCC blocks Apr–Jun 2026 | DE: patched % + CSO coverage; PCC: 40% / 28% / 20% / 12% after Brylle removed from delivery (2026-04-16). |
| CTA | 156976 | 2026-04-01 → 2026-06-30 | Four-person slice 35% / 30% / 20% / 15%; duplicate Awaish row zeroed (2026-04-16). |
| Magic Spoon | 166208 Deal #2 | 2026-04-01 → 2026-09-30 | Demilade projectOwnerId; duplicate position archived; allocations aligned. |
| Amble | 154942 | Project through 2026-09-30 | CSO holder 44556; billingType set; allocations extended. |
| GlobalVetLink | 165633 | Dates + T&M set | Allocations extended; CSO on 1270790 (Zoran vs Greg) — HoD only, do not PATCH people blindly. |
| ABC | 146949 Deal 3 | Project through 2026-09-30 | Allocation grid unchanged in hygiene pass; confirm vs signed term. |
Proposed next allocation moves (provisional until evidence row is green)
- Per-person portfolio rollup — For Awaish (LMNT 22% + CTA 35% + Eden DE lines + any other), sum overlapping
from/throughin millionths and flag ≥ 100% or warn 90–99%. Repeat for anyone on two of LMNT / Eden / CTA in the same week. Use Operatinglist_allocationsor the client remediation tables as a starting point, then verify in UI before furtherPATCH. - Eden DE
141032— When retainer renewal is signed in Drive,PATCHprojectthroughpast2026-04-27and extend allocationthroughon active positions so rows do not end before the project. Tie to HubSpot deal dates + 1–2 transcripts. - CTA
156976— If Q2 SOW (or amendment) sets a new end after2026-06-30,PATCHproject + allocations to match; until then treat Jun 30 as the planning fence unless transcripts override. - LMNT
171036— Optional % tuning vs actuals / leadership (SOW is fixed-fee; Operating % are capacity signals). Confirm Aug 31 end vs Drive + HubSpot. - Linear pass (from current-state audit) — Map each client Operating project to Linear team/project and note assignee gaps (no Operating
PATCHfrom Linear alone). - GVL — No further person
PATCHuntil HoD resolves CSO narrative on1270790.
Per-client verification template
| Client | Signed agreement (Drive + vault) | HubSpot deal id + signed_agreement_drive_url | Recent transcript(s) in vault | Gaps / follow-up |
|---|---|---|---|---|
| LMNT | remediation — Deal #2 ↔ SOW excerpt | Partial — deal 260065651435 (portal na2); set Drive folder URL on deal via signed_agreement_drive_url | unassigned: LMNT wholesale sync · lmnt: first week planning | Confirm Aug 31 end vs Drive; portfolio % |
| Eden | remediation — DE + PCC | Pending — resolve deal id(s) for DE + PCC; set Eden folder | eden: weekly kick-off 2026-03-09 · unassigned: Eden data weekly | 141032 through vs SOW renewal |
| CTA | remediation — vault Q1 SOW + Drive amended agreement | Pending — resolve deal id; set CTA folder | unassigned: CTA semantic model · unassigned: CTA Power BI | Q2 Operating window vs Q2 SOW when executed |
| Magic Spoon | remediation — renewal prep | Pending — resolve Deal #2 deal id; set Magic Spoon folder | magicspoon: weekly kick-off 2026-03-02 · default↔magicspoon weekly 2026-03-09 | Confirm Sep 30 / fixed-price vs signed renewal |
| Amble | remediation — MinuteMD folder | Pending — resolve deal id; set MinuteMD folder | amble: Brainforge sync 2026-02-23 · unassigned: Amble phase 2 | Align Sep 30 to MinuteMD signed term |
| GlobalVetLink | remediation | Pending — resolve deal id; set GVL folder | globalvetlink: product analytics 2026-03-09 · amble+vet strategy stand-up 2026-03-05 | CSO narrative (Zoran vs Greg on 1270790) — HoD |
| ABC (Default) | remediation — sibling ABC Home folder if scope differs | Pending — resolve deal id; set Default folder | unassigned: ABC team weekly 2026-04-10 · unassigned: SLs Operating + allocations 2026-04-09 | Deal 3 dates vs 146949 through |
Next mission steps (proposal-grade)
- HubSpot — For each client row above, open the active deal and capture deal id, stage, close date in the client remediation doc or a ticket (do not commit secrets). Set the deal property
signed_agreement_drive_urlto the matching Drive folder (or primary PDF) using the batch script or the CRM UI. - Transcripts — Attach 1–2 transcript paths per client that state scope, dates, or roster for the current phase.
- Operating —
PATCHonlyfrom/through/billingType/%where Drive + HubSpot + transcripts agree; use Slack when validating real-time staffing; otherwise leave provisional and flag.
Last updated: 2026-04-14 (Operating baseline + provisional next moves; transcript paths in verification table)