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 AgreementsActive 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 AgreementsActive 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 260065651435LMNT 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:

  1. Drive — executed SOW/MSA windows, fees, and roster language.
  2. HubSpot — active deal stage, amount, close date, and signed_agreement_drive_url matching the Drive folder/PDF for that engagement.
  3. Vault transcripts — recent client or internal syncs that confirm dates, scope, or staffing intent.
  4. 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.

ClientOperating project(s)Planning windowAllocation headline
LMNT171036 Deal #2 (legacy 145117 archived)2026-04-012026-08-31Seven-person roster on Deal #2 per SOW excerpt; Ashwini off Deal #2 (2026-04-15).
Eden141032 DE · 168008 PCCDE through 2026-04-27; PCC blocks Apr–Jun 2026DE: patched % + CSO coverage; PCC: 40% / 28% / 20% / 12% after Brylle removed from delivery (2026-04-16).
CTA1569762026-04-012026-06-30Four-person slice 35% / 30% / 20% / 15%; duplicate Awaish row zeroed (2026-04-16).
Magic Spoon166208 Deal #22026-04-012026-09-30Demilade projectOwnerId; duplicate position archived; allocations aligned.
Amble154942Project through 2026-09-30CSO holder 44556; billingType set; allocations extended.
GlobalVetLink165633Dates + T&M setAllocations extended; CSO on 1270790 (Zoran vs Greg) — HoD only, do not PATCH people blindly.
ABC146949 Deal 3Project through 2026-09-30Allocation grid unchanged in hygiene pass; confirm vs signed term.

Proposed next allocation moves (provisional until evidence row is green)

  1. Per-person portfolio rollup — For Awaish (LMNT 22% + CTA 35% + Eden DE lines + any other), sum overlapping from/through in millionths and flag ≥ 100% or warn 90–99%. Repeat for anyone on two of LMNT / Eden / CTA in the same week. Use Operating list_allocations or the client remediation tables as a starting point, then verify in UI before further PATCH.
  2. Eden DE 141032 — When retainer renewal is signed in Drive, PATCH project through past 2026-04-27 and extend allocation through on active positions so rows do not end before the project. Tie to HubSpot deal dates + 1–2 transcripts.
  3. CTA 156976 — If Q2 SOW (or amendment) sets a new end after 2026-06-30, PATCH project + allocations to match; until then treat Jun 30 as the planning fence unless transcripts override.
  4. LMNT 171036 — Optional % tuning vs actuals / leadership (SOW is fixed-fee; Operating % are capacity signals). Confirm Aug 31 end vs Drive + HubSpot.
  5. Linear pass (from current-state audit) — Map each client Operating project to Linear team/project and note assignee gaps (no Operating PATCH from Linear alone).
  6. GVL — No further person PATCH until HoD resolves CSO narrative on 1270790.

Per-client verification template

ClientSigned agreement (Drive + vault)HubSpot deal id + signed_agreement_drive_urlRecent transcript(s) in vaultGaps / follow-up
LMNTremediation — Deal #2 ↔ SOW excerptPartial — deal 260065651435 (portal na2); set Drive folder URL on deal via signed_agreement_drive_urlunassigned: LMNT wholesale sync · lmnt: first week planningConfirm Aug 31 end vs Drive; portfolio %
Edenremediation — DE + PCCPending — resolve deal id(s) for DE + PCC; set Eden foldereden: weekly kick-off 2026-03-09 · unassigned: Eden data weekly141032 through vs SOW renewal
CTAremediation — vault Q1 SOW + Drive amended agreementPending — resolve deal id; set CTA folderunassigned: CTA semantic model · unassigned: CTA Power BIQ2 Operating window vs Q2 SOW when executed
Magic Spoonremediationrenewal prepPending — resolve Deal #2 deal id; set Magic Spoon foldermagicspoon: weekly kick-off 2026-03-02 · default↔magicspoon weekly 2026-03-09Confirm Sep 30 / fixed-price vs signed renewal
Ambleremediation — MinuteMD folderPending — resolve deal id; set MinuteMD folderamble: Brainforge sync 2026-02-23 · unassigned: Amble phase 2Align Sep 30 to MinuteMD signed term
GlobalVetLinkremediationPending — resolve deal id; set GVL folderglobalvetlink: product analytics 2026-03-09 · amble+vet strategy stand-up 2026-03-05CSO narrative (Zoran vs Greg on 1270790) — HoD
ABC (Default)remediation — sibling ABC Home folder if scope differsPending — resolve deal id; set Default folderunassigned: ABC team weekly 2026-04-10 · unassigned: SLs Operating + allocations 2026-04-09Deal 3 dates vs 146949 through

Next mission steps (proposal-grade)

  1. 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_url to the matching Drive folder (or primary PDF) using the batch script or the CRM UI.
  2. Transcripts — Attach 1–2 transcript paths per client that state scope, dates, or roster for the current phase.
  3. OperatingPATCH only from/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)