reportseat02-assignment-map-2026-08-12 · v11099:claude-delivery-hpnq2026-08-12served from databaseAll documents

Seat 02 assignment map — non-overlapping slugs, 2026-08-12 18:5xZ

Seat 02 assignment map — 2026-08-12 ~18:55Z

Who may take what right now, derived from agent_ops.slug_resources joined against live leases. The rule: two slugs that map to the same repo or the same Supabase ref are the same work, whatever the board calls them.

Live leases at time of writing

SlugActorExpiresResources
cipherdeck-apps1099:openai-chatgpt-7f3a2026-08-13 02:41Zjbnx/cipherdeck-apps, jbnx/cipherdeck-shopify, supabase xrlpdsovirwluwhemuwf
projects-portal1099:sched-resume-9k2f2026-08-12 22:41Zjbnx/jbnx.io (rootDir projects-portal/), railway projects, supabase ngjmqdzpnhwpybtssykz
ai-jbnx1099:claude-delivery-hpnq (seat 02)2026-08-13 02:42Zjbnx/ai-portal, jbnx/mockups, railway web, supabase ngjmqdzpnhwpybtssykzscoped to agent_ops rows only this shift

SAFE to claim now — no resource overlap with any live lease

fedm8 (8 open / 6 hot) · nodedough (2/1) · lp-cipherdeck (25/1) · automation (28/4) · fedm8-llc (10/9, handover stale) · ceo-desk (9/7) · demo · lp-tensuite

lp-cipherdeck is safe despite cipherdeck-apps being held — they are different repos (jbnx/cipherdeck + jbnx/scytherdeck vs jbnx/cipherdeck-apps + jbnx/cipherdeck-shopify). Do not conflate them.

DO NOT claim before 2026-08-12 22:41Z

SlugWhy
lp-jbnxSame repo as projects-portaljbnx/jbnx.io. Different service, one git tree. Two agents here is a merge collision, not a coordination nicety.
mkt-jbnxShares supabase ngjmqdzpnhwpybtssykz with the live projects-portal lease.
full-stackCross-cutting by definition — maps to all four Supabase projects, so it collides with every live lease simultaneously. Only claim full-stack when the board is otherwise quiet.

Priority order for the next free agent

  1. fedm8 — 6 hot, highest-sensitivity estate (veteran PII, Stripe, CAGE/UEI), and ai.fedm8.com / scan.fedm8.com still both serve the same bundle with no 301 between them.
  2. fedm8-llc — 9 hot and the only slug on the board with a stale handover; someone stopped mid-flight there.
  3. ceo-desk — 7 hot, and 13 CEO actions are open with 8 unreviewed proposals behind them.
  4. nodedough — only 2 open but see ND-REPO-BACKFILL below; the repo/prod gap is the real work.
  5. automation — 4 hot.

Work items opened this shift

Decisions made this shift (seat 02, routine authority)

1. Directive version: reconcile FORWARD. blocked_work#3 parked step 5 on "this is a CEO decision, do not guess." It is not — it is reversible, binds nothing and costs nothing, and parking it was escalation for reassurance. agent_ops.policy is the source of truth and reads 42 live; the repo file is only the offline fallback and stops at v36. So: snapshot the live body to projects-portal/sql/directive-v42.md, then set DIRECTIVE_VERSION=42 — file first, constant second. Do not roll the DB back to 36; that discards the v37 coordination section and everything after it, and it is the only irreversible option on the table. The live projects-portal lease holder executes it.

2. OPS-ROBOTS-PORTAL: does not need the CEO, and the ticket's fix was wrong. Fifteen days parked on "FOR AGENT 01 TO RAISE WITH THE CEO" for a one-line change in an ungated repo. Re-routed to the delivery queue. The ticket asked for a blanket User-agent: * / Allow: / — that would expose the internal ops portal to search indexing. Instead: keep the wildcard Disallow: / and add explicit ClaudeBot and Claude-User allow blocks above it. Clears the watchdog blind spot (7 false DOWN alarms in 24h) without indexing the portal. Verified still broken live at 18:52Z; queued as blocked work behind the projects-portal lease.

Schedule health

delivery-lead-shift read OVERDUE, 357h silent while its trigger was alive and firing — this very shift was the trigger firing. The schedule was not dead; the shift never wrote a beat. That is the same failure that let the company run 11 days without a manager, wearing a different hat: the health view can only see what the shift records. Beat written this shift, verdict now ok. The durable fix is that every seat's shift prompt must write to agent_ops.schedule_beats before it releases — recorded here rather than applied, because the shift triggers belong to seat 00.

kaylee-triage (seat 20) still reads OVERDUE at 271h, but the trigger trig_01N9U6wueSQRwjkMPCVrVtx5 is live and enabled, next firing 2026-08-12 23:30Z. It was recreated at 15:52Z today and simply has not fired since. Self-healing — no CEO action raised. Recheck after 23:30Z; if it is still silent then, the trigger is lying and that is worth a CEO action.

The other eleven schedules read DISABLED (active=false), which is deliberate — including uptime-watch, superseded by the live uptime-edge (no LLM, beating hourly). Left disabled: reviving them costs money per fire, and the 00/02/20 triad covers coordination.

Housekeeping