Morning QA

every card waiting on your input · single source = brain public.tasks + gates · generated 2026-08-02 12:38 UTC · preview build
The morning QA block (~1 hour, your sharpest focus). One surface, every card waiting on you. Per card, three moves:
  1. 80/20 first — should this exist at all? Kill before you polish.
  2. Dump context — voice/type a brain dump onto the card (capture context).
  3. Verdictapprove / redo / kill.
Every command below is one-click copyable — paste into your terminal / Claude. A static page can't write the brain; verdict.py does.
7
QA queue
60
Decisions
7
Your lane
7
Aging >48h

1 · QA queue

7every parked card — dump context, then rule: approve / redo / kill
Decide: relight the B2B ad stack (deliberately paused since Jul 22-23)aging
80/20 first: Should this exist at all? Kill it before you polish it.
Done when: Truth as of Aug-2: the B2B stack (R4 / R2 / CTRL + AO 4-magnet) is not broken - Akash paused it deliberately Jul 22-23 during the rail freeze. Meta insights sync healed Jul-27, standing order is ask-before-relight. The old framing ('stopped spending Jul 21' as a failure) was stale. Separately, the CL Dallas client campaign (B2C) is LIVE since Aug-1 at $150/day - that one needs nothing. The decision on this card: relight the B2B stack or keep it dark while outbound rebuilds.
No proof note/url attached yet.
akashWaitingneeds: Akash re-enables the paused campaign (spend/activation decision).waiting 5dverdict: keep
No activity-trail entries yet.
(a) Dump context — voice/type your brain dump
capture context "decide: relight" "…your context / what you were thinking…"
(b) Verdict — pick one
verdict "decide: relight" approve
verdict "decide: relight" redo "what to change"
verdict "decide: relight" kill "why it should not exist"
Get the two missing pieces for Dan's setup (software key + service area)aging
80/20 first: Should this exist at all? Kill it before you polish it.
Done when: Dan's leads flow into his follow-up software and his service area is set on the bot. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Only Akash can provide the DripJobs key + confirmed ZIP list. * Internal id: 3045d42f-7122-4534-be50-8e2ed23a6452
No proof note/url attached yet.
akashWaitingneeds: Only Akash can provide the DripJobs key + confirmed ZIP list.waiting 5dverdict: keep
No activity-trail entries yet.
(a) Dump context — voice/type your brain dump
capture context "two missing" "…your context / what you were thinking…"
(b) Verdict — pick one
verdict "two missing" approve
verdict "two missing" redo "what to change"
verdict "two missing" kill "why it should not exist"
Approve moving the sign-up question higher on the landing pageaging
80/20 first: Should this exist at all? Kill it before you polish it.
Done when: At least one form question shows without scrolling on both phone and desktop, after Akash approves the preview. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Visual LP change needs Akash's preview approval. * Internal id: ec792356-ab4e-4143-9827-7ea18fcb9677
No proof note/url attached yet.
akashWaitingneeds: Visual LP change needs Akash's preview approval.waiting 5dverdict: keep
No activity-trail entries yet.
(a) Dump context — voice/type your brain dump
capture context "approve moving" "…your context / what you were thinking…"
(b) Verdict — pick one
verdict "approve moving" approve
verdict "approve moving" redo "what to change"
verdict "approve moving" kill "why it should not exist"
Approve small fixes to the live application form so we can track where leads come fromaging
80/20 first: Should this exist at all? Kill it before you polish it.
Done when: The tracking fields fill in on more than 9 of every 10 new applications. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Editing the one live application form needs Akash's okay. * Internal id: 14a06961-0d98-4038-a3ee-998494ad5e04
No proof note/url attached yet.
akashWaitingneeds: Editing the one live application form needs Akash's okay.waiting 5dverdict: keep
No activity-trail entries yet.
(a) Dump context — voice/type your brain dump
capture context "approve small" "…your context / what you were thinking…"
(b) Verdict — pick one
verdict "approve small" approve
verdict "approve small" redo "what to change"
verdict "approve small" kill "why it should not exist"
Turn on call recording in the CRM (needed to coach setters)aging
80/20 first: Should this exist at all? Kill it before you polish it.
Done when: A test call records and can be played back. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: GHL UI setting change - workflow-builder/UI work is Akash-only. * Internal id: ef46964c-a5ab-4099-9502-1e22366076f6
No proof note/url attached yet.
akashWaitingneeds: GHL UI setting change - workflow-builder/UI work is Akash-only.waiting 5dverdict: keep
No activity-trail entries yet.
(a) Dump context — voice/type your brain dump
capture context ef46964c "…your context / what you were thinking…"
(b) Verdict — pick one
verdict ef46964c approve
verdict ef46964c redo "what to change"
verdict ef46964c kill "why it should not exist"
Submit the Facebook app review before deadline so the client bot keeps runningaging
80/20 first: Should this exist at all? Kill it before you polish it.
Done when: The app review is submitted before the trial deadline, confirmed by a screenshot. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Needs Akash's own FB browser session + passcodes (host/credential). * Internal id: d7568fd5-49de-467d-abc5-8371927b98a4
No proof note/url attached yet.
akashWaitingneeds: Needs Akash's own FB browser session + passcodes (host/credential).waiting 5dverdict: keep
No activity-trail entries yet.
(a) Dump context — voice/type your brain dump
capture context d7568fd5 "…your context / what you were thinking…"
(b) Verdict — pick one
verdict d7568fd5 approve
verdict d7568fd5 redo "what to change"
verdict d7568fd5 kill "why it should not exist"
Confirm the job value for each trade (this sets the target cost per lead)aging
80/20 first: Should this exist at all? Kill it before you polish it.
Done when: Each trade has a confirmed job value on record, with no made-up default. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Akash must confirm each trade's ticket; unknowns stay 'unknown'. * Internal id: 605b41fe-b301-4892-b66d-69250a0a3b64
No proof note/url attached yet.
akashWaitingneeds: Akash must confirm each trade's ticket; unknowns stay 'unknown'.waiting 5dverdict: keep
No activity-trail entries yet.
(a) Dump context — voice/type your brain dump
capture context 605b41fe "…your context / what you were thinking…"
(b) Verdict — pick one
verdict 605b41fe approve
verdict 605b41fe redo "what to change"
verdict 605b41fe kill "why it should not exist"

2 · Decisions & approvals

60audit + gate items (excludes the waiting cards above) — ★ = 80/20 default
1 Hot-lead hand-off is FAILING: Pam Santone — 1 attempt(s) (0.0h old), error: awaiting_enrichment_no_contact_info. No working transfer to the client.needs you
Why it's a must
  • Source gate: sp-lead-transfer-failed · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
2 Hot-lead hand-off is FAILING: Pam Santone — 1 attempt(s) (0.0h old), error: awaiting_enrichment_no_contact_info. No working transfer to the client.needs you
Why it's a must
  • Source gate: sp-lead-transfer-failed · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
3 Lead stuck in NEEDS-REVIEW with no hand-off: Twyler Webster — lead is 7d 10h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
4 Lead stuck in NEEDS-REVIEW with no hand-off: John McLaughlin — lead is 9d 12h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
5 Lead stuck in NEEDS-REVIEW with no hand-off: John McLaughlin — lead is 8d 12h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
6 Lead stuck in NEEDS-REVIEW with no hand-off: Twyler Webster — lead is 6d 10h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
7 Silent 0-row upsert: GHL contact Trace Mills (R9pijrDoKhSmzuaiOIU3) has carried the qualified tag for >20 min but sp_client_leads has no qualified row (by contact id or phone). Bridge/poller upsert wrote 0 rows — lead will NEVER transfer until fixed.needs you
Why it's a must
  • Source gate: sp-lead-transfer-rail · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
8 Lead stuck in NEEDS-REVIEW with no hand-off: Twyler Webster — lead is 5d 10h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
9 Lead stuck in NEEDS-REVIEW with no hand-off: John McLaughlin — lead is 7d 12h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
10 Lead stuck in NEEDS-REVIEW with no hand-off: Twyler Webster — lead is 4d 10h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
11 Lead stuck in NEEDS-REVIEW with no hand-off: John McLaughlin — lead is 6d 12h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
12 Lead stuck in NEEDS-REVIEW with no hand-off: Twyler Webster — lead is 3d 10h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
13 Lead stuck in NEEDS-REVIEW with no hand-off: John McLaughlin — lead is 5d 12h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
14 Silent 0-row upsert: GHL contact Mei Flower (EWLoTsnxrVv6DCRBHAg6) has carried the qualified tag for >20 min but sp_client_leads has no qualified row (by contact id or phone). Bridge/poller upsert wrote 0 rows — lead will NEVER transfer until fixed.needs you
Why it's a must
  • Source gate: sp-lead-transfer-rail · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
15 Hot-lead hand-off is FAILING: Bradford Court — 12 attempts, error: not_interested_misfire.needs you
Why it's a must
  • Source gate: sp-lead-transfer-failed · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
16 Hot-lead hand-off is FAILING: Mark Cope — 12 attempts, error: not_interested_misfire.needs you
Why it's a must
  • Source gate: sp-lead-transfer-failed · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
17 Lead stuck in NEEDS-REVIEW with no hand-off: John McLaughlin — lead is 4d 12h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
18 Lead stuck in NEEDS-REVIEW with no hand-off: Twyler Webster — lead is 2d 10h old and still unhandled. The needs-review branch notifies nowhere; open the contact card and push the transfer.needs you
Why it's a must
  • Source gate: sp-lead-needs-review · severity critical
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
19 Drain re-created the GHL contact for +14143085477 (route akash-any). Stored id was dead; new id a7ORok7tJoegPnov4o0r. This is the create-on-miss path that caused the 2026-07-31 fixture runaway — confirm the contact is not being deleted repeatedly.reference only
Why it's a must
  • Source gate: sp-lead-transfer-contact-healed · severity warning
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
20 Nightly transcript reconcile: backfilled 53 rows the message_echoes event path missed (outbound 53 / inbound 0), 0 fetch-or-store errors, across 9 active leadsreference only
Why it's a must
  • Source gate: sp_client_messages · severity warn
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
21 Mike Yeo is already with the client via the imessage rail — the sweep did not re-send.reference only
Why it's a must
  • Source gate: lead-transfer · severity info
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
22 Twyler Webster is already with the client via the imessage rail — the sweep did not re-send.reference only
Why it's a must
  • Source gate: lead-transfer · severity info
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
23 Registration invariant nightly check looks dead — last ran NEVER, expected within 26h. Trigger: claude-scheduled-task registration-invariant-nightlyreference only
Why it's a must
  • Source gate: registration-invariant-check · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
24 Viktor — daily Slack report to #daily-reports looks dead — last ran NEVER, expected within 26h. Trigger: claude-scheduled-task viktor-daily-reportreference only
Why it's a must
  • Source gate: viktor-daily-report · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
25 SP Ads live contact-sheet dashboard looks dead — last ran Jul 28 20:11 UTC (88.8h ago), expected within 26h. Trigger: launchd com.stpierre.finance-room-renderreference only
Why it's a must
  • Source gate: sp-ads-live-dashboard · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
26 Command Center board sweep + cockpit briefing looks dead — last ran Jul 22 20:06 UTC (232.9h ago), expected within 10h. Trigger: claude-scheduled-task command-center-sweepreference only
Why it's a must
  • Source gate: command-center-sweep · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
27 The Morning Read (daily synthesized read to #notes) looks dead — last ran NEVER, expected within 80h. Trigger: claude-scheduled-task sp-morning-readreference only
Why it's a must
  • Source gate: sp-morning-read · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
28 Credential NOT COVERED by the health check: dripjobs/levelking-webhook/DripJobs inbound lead webhook URL (Level King Pro) (webhook_url). Add a probe or a no-probe rule in 01-Projects/CommandCenter/credential-health/probe_spec.pyreference only
Why it's a must
  • Source gate: credential-coverage:dripjobs/levelking-webhook/DripJobs inbound lead webhook URL (Level King Pro) · severity P2
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
29 Credential NOT COVERED by the health check: linear/stpierre/api-key (api-key). Add a probe or a no-probe rule in 01-Projects/CommandCenter/credential-health/probe_spec.pyreference only
Why it's a must
  • Source gate: credential-coverage:linear/stpierre/api-key · severity P2
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
30 Credential NOT COVERED by the health check: n8n/stpierre/capture-ios-webhook-secret (header_auth_secret). Add a probe or a no-probe rule in 01-Projects/CommandCenter/credential-health/probe_spec.pyreference only
Why it's a must
  • Source gate: credential-coverage:n8n/stpierre/capture-ios-webhook-secret · severity P2
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
31 Credential NOT COVERED by the health check: linear/stpierre/webhook-signing-secret (hmac_signing_secret). Add a probe or a no-probe rule in 01-Projects/CommandCenter/credential-health/probe_spec.pyreference only
Why it's a must
  • Source gate: credential-coverage:linear/stpierre/webhook-signing-secret · severity P2
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
32 Credential NOT COVERED by the health check: dripjobs/levelking/DripJobs API key (Level King Pro) (api_key). Add a probe or a no-probe rule in 01-Projects/CommandCenter/credential-health/probe_spec.pyreference only
Why it's a must
  • Source gate: credential-coverage:dripjobs/levelking/DripJobs API key (Level King Pro) · severity P2
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
33 Nightly transcript reconcile: backfilled 2 rows the message_echoes event path missed (outbound 2 / inbound 0), 0 fetch-or-store errors, across 1 active leadsreference only
Why it's a must
  • Source gate: sp_client_messages · severity warn
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
34 Agent task runner (drains agent-dispatch events, works the card) looks dead — last ran Jul 29 09:21 UTC (51.6h ago), expected within 1.5h. Trigger: scheduled-task agent-board-runnerreference only
Why it's a must
  • Source gate: agent-task-runner · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
35 Registration invariant nightly check looks dead — last ran NEVER, expected within 26h. Trigger: claude-scheduled-task registration-invariant-nightlyreference only
Why it's a must
  • Source gate: registration-invariant-check · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
36 Viktor — daily Slack report to #daily-reports looks dead — last ran NEVER, expected within 26h. Trigger: claude-scheduled-task viktor-daily-reportreference only
Why it's a must
  • Source gate: viktor-daily-report · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
37 Command Center board sweep + cockpit briefing looks dead — last ran Jul 22 20:06 UTC (208.9h ago), expected within 10h. Trigger: claude-scheduled-task command-center-sweepreference only
Why it's a must
  • Source gate: command-center-sweep · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
38 SP Ads live contact-sheet dashboard looks dead — last ran Jul 28 20:11 UTC (64.8h ago), expected within 26h. Trigger: launchd com.stpierre.finance-room-renderreference only
Why it's a must
  • Source gate: sp-ads-live-dashboard · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
39 The Morning Read (daily synthesized read to #notes) looks dead — last ran NEVER, expected within 80h. Trigger: claude-scheduled-task sp-morning-readreference only
Why it's a must
  • Source gate: sp-morning-read · severity stale
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
40 Credential NOT COVERED by the health check: dripjobs/levelking-webhook/DripJobs inbound lead webhook URL (Level King Pro) (webhook_url). Add a probe or a no-probe rule in 01-Projects/CommandCenter/credential-health/probe_spec.pyreference only
Why it's a must
  • Source gate: credential-coverage:dripjobs/levelking-webhook/DripJobs inbound lead webhook URL (Level King Pro) · severity P2
A Kill / dismiss — this gate does not need to exist right now★ my pick
  • Why: 80/20 first move: clear noise before acting
B Act on it — resolve the underlying gate
  • Why: only if it moves a real metric today
C Defer — leave unresolved, revisit next sweep
41 Hermes agent-board worker → A: stays paused through weekend, resume Monday with the 2 parked cards firstreference only
Why it's a must
  • Decision-log event · info
42 Phone-first bot wording → A: package before/after for verbatim approval today; nothing changes until Akash reads itreference only
Why it's a must
  • Decision-log event · info
43 Ads relight → A: pay $40.01 + $46.74 after the meeting, relight CL Dallas $50/day via gated preflight; payment + relight are Akash actions, nothing auto-firedreference only
Why it's a must
  • Decision-log event · info
44 Held leads (Terry/Luke/Chris + Subhash/Mei) → A: push all five after Dan confirms board in the 9:20 meeting; sends stay gated on Akash's explicit 'send'reference only
Why it's a must
  • Decision-log event · info
45 The n8n workflow lmoU0uHziiODM2uc hardcodes GRAIN='week' in its Pick period node and reads v_accomplish_weekly, so it can only ever write the weekly grain; the month branches in its Write Top 3 node are unreachable fallbacks. FLAG for handoff 2069: the one-off backfill script (01-Projects/CommandCenter/accomplish-summaries/backfill_weekly.py) was run once against the month grain at 16:08 UTC 2026-07-31, before that constraint was known — it rewrote the bullets of the 5 existing month rows but created no new periods (newest month period is still 2026-07-01). The day grain was never touched (last write 2026-07-01).reference only
Why it's a must
  • Decision-log event · info
46 Treat url-directory local_file mappings as unverified until diffed against the live page — A wrong mapping caused a wrong build to be deployed over the live cockpit. Verified-then-deploy is now the order for any surface whose source is only known from the registry.reference only
Why it's a must
  • Decision-log event · info
47 Client-facing work was staged, not shipped, per the mid-session constraint — Dan's client report relabel and freshness migration are staged with a README and a clean-applying patch; nothing was deployed and no view was altered. The Typeform slow-load was diagnosed only.reference only
Why it's a must
  • Decision-log event · info
48 Cut the daily list to eight surfaces that each carry a self-ageing freshness banner — cockpit, finance, sales, cx, scorecard, ads-live, unblock-queue, accomplishments.reference only
Why it's a must
  • Decision-log event · info
49 Expose blocked data through a SELECT-only v_dash view, never an anon RLS policy — accomplish_summaries stays locked; v_dash_accomplish_summaries reads past RLS with SELECT only, and anon writes still return 401.reference only
Why it's a must
  • Decision-log event · info
50 Delete the accomplishments hours block instead of rebuilding the tracker — Every displayed minute came from two stale June weeks scaled ~5x. Removing an invented number beats reviving the feed that invented it.reference only
Why it's a must
  • Decision-log event · info
51 Non-fatal to the job must not mean invisible to the watchdog — The heartbeat now degrades when any room fails, even though the job still exits on finance alone.reference only
Why it's a must
  • Decision-log event · info
52 Staleness must be recomputed at page load, floored at the server's value — A badge baked at render time stops updating precisely when the render chain dies. Flooring at the server-computed age keeps a wrong browser clock from ever making a page look fresher than it is.reference only
Why it's a must
  • Decision-log event · info
53 A render gate tests the shape of the payload, never the size of the business — The frozen snapshot (real_contacts==5) turned nine days of real pipeline growth into a nine-day outage. Structural invariants hold at 5 contacts and at 5,000; growth is now a loud warning, never a blocker.reference only
Why it's a must
  • Decision-log event · info
54 Redirect rather than delete the four retired dashboards — 301 to the live replacement via _redirects; Cloudflare projects and their prior deployments stay intact so any page can be restored in one rollback.reference only
Why it's a must
  • Decision-log event · info
55 Rebuilt the dead Accomplishments Top-3 writer as n8n workflow accomplish-summaries-weekly (lmoU0uHziiODM2uc), active, Mondays 06:50 ET. Chose weekly-only (not the old daily/week/month trio) because the dashboard's weekly row is the one users read and the day/month grains had been dark since Jul-1 without anyone noticing. Anthropic key is vault-fetched at runtime, never in the workflow JSON. Backfilled 6 completed weeks (Jun-15..Jul-20) + current week Jul-27; verified end-to-end via manual webhook, execution 21806 succeeded in 11.4s.reference only
Why it's a must
  • Decision-log event · info
56 Task 8 lane close-out. 7 items handled. EXECUTED (3): task 3 ZIP hard-drop removed from n8n bridge jTTms4dkSsa60TfI (ledger 92164); task 4 brain.upsert_alert repointed to brain.ops_alerts + drift 1891 closed (ledger 92162); task 6 contact sync 4cipa01O29FLu0Bb ported to a set-based upsert (ledger 92166); task 7 saveDataErrorExecution turned on for 2 of 62 workflows (ledger 92163). ALREADY FIXED, VERIFIED ONLY (2): task 1 stage-advance-on-delivery (2026-07-29 migration; invariant holds — zero leads with a sent transfer sit below 'qualified') and task 2 transfers inflation (25 unfiltered vs 13 filtered vs 10 calendar-week; every live surface already filters is_test). DELIBERATE NO-OP (1): task 5 — the conversation read the task required contradicts its premise; both leads explicitly declined and were correctly disqualified. Two open threads for Akash: no distinct post-delivery stage exists in the B2C ladder, and the lead-transfer watchdog counts test sends as real activity (filed as a background task).reference only
Why it's a must
  • Decision-log event · medium
57 Task 6 contact-sync set-based port. FINDING: no set-based n8n node draft existed on disk — what existed was a set-based PYTHON port of the same semantics (_scratch/deliverables/2026-07-29/qualified-classifier-repair/catchup_run.py, constants UPSERT_SQL + APPLY_SQL, 715 rows in ~2s) written as a one-off catch-up, plus a follow-up chip that was never picked up. FORK: (a) report blocked because the artifact named in the task does not exist, (b) port catchup_run.py's approach into the n8n node bodies myself. PICK: (b) — the semantics were already proven, only the n8n shape was missing. Ported, and fixed three things the per-item form never had to handle (duplicate contact_id in one batch, the scalar prev subquery, and zero-item output starving Rebuild Outcomes). Verified against production Postgres on 402 real rows in a rolled-back transaction: 603ms vs ~120s per-item, 401 upserts, dup collapsed, 0 spurious tag events. OPEN: could not do the live run — n8n public API v1 has no execute endpoint (405). UNDO: re-import BEFORE_4cipa01O29FLu0Bb.json.reference only
Why it's a must
  • Decision-log event · medium
58 Offer-wording conflict resolved: the $2K fully-guaranteed deposit (vs $20K sales in 30 days) is THE offer language — it supersedes playbook v4's 'zero upfront, I front the ad spend'. Both are contractor-zero-risk but the deposit version is Akash's own Jul-31 model (brain signal 1826) and collects cash at signing, which the leads-first float depends on. Undo: revert to zero-upfront wording; nothing has shipped with either.reference only
Why it's a must
  • Decision-log event · info
59 Task 6 called for a flagged self-test conversation. Superseded by the halt - verification is config read-back only. Live-message testing needs Akash's thumb.reference only
Why it's a must
  • Decision-log event · P3
60 No 'txt STOP to opt out' appended to the first follow-up. They opted in by applying, the number is A2P-registered, STOP is handled account-level. Recorded so it is not re-litigated.reference only
Why it's a must
  • Decision-log event · P4

3 · Human-execute lane today

7your cards to run — Collins lane is read-only
Akash — your cards
Decide: relight the B2B ad stack (deliberately paused since Jul 22-23)
Done when: Truth as of Aug-2: the B2B stack (R4 / R2 / CTRL + AO 4-magnet) is not broken - Akash paused it deliberately Jul 22-23 during the rail freeze. Meta insights sync healed Jul-27, standing order is ask-before-relight. The old framing ('stopped spending Jul 21' as a failure) was stale. Separately, the CL Dallas client campaign (B2C) is LIVE since Aug-1 at $150/day - that one needs nothing. The decision on this card: relight the B2B stack or keep it dark while outbound rebuilds.
akashWaitingneeds: Akash re-enables the paused campaign (spend/activation decision).5d old
80/20 + verdict
verdict "decide: relight" kill "not worth doing"
Get the two missing pieces for Dan's setup (software key + service area)
Done when: Dan's leads flow into his follow-up software and his service area is set on the bot. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Only Akash can provide the DripJobs key + confirmed ZIP list. * Internal id: 3045d42f-7122-4534-be50-8e2ed23a6452
akashWaitingneeds: Only Akash can provide the DripJobs key + confirmed ZIP list.5d old
80/20 + verdict
verdict "two missing" kill "not worth doing"
Approve moving the sign-up question higher on the landing page
Done when: At least one form question shows without scrolling on both phone and desktop, after Akash approves the preview. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Visual LP change needs Akash's preview approval. * Internal id: ec792356-ab4e-4143-9827-7ea18fcb9677
akashWaitingneeds: Visual LP change needs Akash's preview approval.5d old
80/20 + verdict
verdict "approve moving" kill "not worth doing"
Approve small fixes to the live application form so we can track where leads come from
Done when: The tracking fields fill in on more than 9 of every 10 new applications. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Editing the one live application form needs Akash's okay. * Internal id: 14a06961-0d98-4038-a3ee-998494ad5e04
akashWaitingneeds: Editing the one live application form needs Akash's okay.5d old
80/20 + verdict
verdict "approve small" kill "not worth doing"
Turn on call recording in the CRM (needed to coach setters)
Done when: A test call records and can be played back. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: GHL UI setting change - workflow-builder/UI work is Akash-only. * Internal id: ef46964c-a5ab-4099-9502-1e22366076f6
akashWaitingneeds: GHL UI setting change - workflow-builder/UI work is Akash-only.5d old
80/20 + verdict
verdict ef46964c kill "not worth doing"
Submit the Facebook app review before deadline so the client bot keeps running
Done when: The app review is submitted before the trial deadline, confirmed by a screenshot. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Needs Akash's own FB browser session + passcodes (host/credential). * Internal id: d7568fd5-49de-467d-abc5-8371927b98a4
akashWaitingneeds: Needs Akash's own FB browser session + passcodes (host/credential).5d old
80/20 + verdict
verdict d7568fd5 kill "not worth doing"
Confirm the job value for each trade (this sets the target cost per lead)
Done when: Each trade has a confirmed job value on record, with no made-up default. --- *Technical notes (for agents)* * Triage: Parked waiting on Akash: Akash must confirm each trade's ticket; unknowns stay 'unknown'. * Internal id: 605b41fe-b301-4892-b66d-69250a0a3b64
akashWaitingneeds: Akash must confirm each trade's ticket; unknowns stay 'unknown'.5d old
80/20 + verdict
verdict 605b41fe kill "not worth doing"
Collins lane — read-only (4)

Whole-system builds scoped to Collins. Nothing sent to Collins without an explicit go — shown here for visibility only.

Map out today's client-setup steps (what's built vs missing)
Done when: A map lists every setup step marked done or missing. --- *Technical notes (for agents)* * Triage: Onboarding-automation system (Collins 6-systems scope) — mapping/standardizing client launch * Internal id: d06ad12c-235e-45d9-ae21-d144485c564a
collinsNext5d old
Turn Dan's setup into a reusable checklist for the next client
Done when: A checklist covers page, local ad, account ownership, lead routing, customer list, and measurement. --- *Technical notes (for agents)* * Triage: Onboarding-automation system (Collins 6-systems scope) — mapping/standardizing client launch * Internal id: bab4a3ca-13a2-4cc7-a417-979b917acd9c
collinsNext5d old
Design the system that tracks and coaches setters
Done when: A written plan defines what to track per setter and how the daily brief works. --- *Technical notes (for agents)* * Triage: Setter-performance system (Collins 6-systems scope) — design/build of setter tracking + coaching * Internal id: 79bb8b1f-8596-4617-a1ae-c3712f84db41
collinsNext5d old
Build the daily coaching brief for each setter
Done when: A sample daily brief is produced per setter from real call data. --- *Technical notes (for agents)* * Triage: Setter-performance system (Collins 6-systems scope) — design/build of setter tracking + coaching * Internal id: 960def99-4183-4e78-9e67-e2bac0eceb08
collinsNext5d old

4 · Aging

7waiting >48h — flagged, never auto-actioned
These have sat >48h with no ruling. The auto-approve-on-timeout policy is a DRAFT only (TIMEOUT-POLICY.md) — nothing here defaulted automatically. Rule each one now.
AgeCardOwnerId
5dConfirm the job value for each trade (this sets the target cost per lead)akash605b41fe
5dSubmit the Facebook app review before deadline so the client bot keeps runningakashd7568fd5
5dApprove small fixes to the live application form so we can track where leads come fromakash"approve small"
5dTurn on call recording in the CRM (needed to coach setters)akashef46964c
5dApprove moving the sign-up question higher on the landing pageakash"approve moving"
5dGet the two missing pieces for Dan's setup (software key + service area)akash"two missing"
5dDecide: relight the B2B ad stack (deliberately paused since Jul 22-23)akash"decide: relight"