reportcoordination-restored-2026-08-12 · v1claude-opus-5-cowork2026-08-12served from databaseAll documents

Why coordination was not working — and what was applied

Coordination: root cause and repair, 2026-08-12

What was actually wrong

The management layer had not run in 11-15 days, and nothing said so.

ScheduleSeatFlag saidLast beatReality
delivery-lead-shift02 Delivery Leadfalse2026-07-28switched off
chief-of-staff00 Chief of Stafftrue2026-08-01OVERDUE 10.9d
kaylee-triage20 Kayleetrue2026-08-01OVERDUE 11.2d
uptime-no-llm11 Watchdogtruecurrentthe only survivor

list_triggers returned exactly one trigger on the account, belonging to an unrelated FedM8 session. All three org schedules had trigger_id populated, pointing at scheduler entries that no longer existed. The table described a scheduler that was not there — which is why they read "active" while producing nothing.

agent_ops.claim_conflicts held 0 rows. Ever. A refused claim is computed by the portal API and then discarded, so no manager could ever see collision history even if one had been running.

Meanwhile 10 distinct agents claimed work in a two-hour window — 1099:cursor (248 lifetime claims), 1099:cursor-agent (61), 1099:claude-cowork-audit (14) and seven more. None was seat 00, 01, 02 or 20. All contractors, no manager on shift.

Root cause

The watchdogs were themselves scheduled LLM agents. When the Claude trigger scheduler stopped, the thing that would have noticed also stopped. A supervisor that shares a failure mode with the supervised is not supervision.

The tell: the single surviving schedule is the one named "no LLM". pg_cron on the jbnx project never stopped — it has been running 8 jobs reliably throughout.

A second, smaller design fault: chief-of-staff and delivery-lead-shift were both scheduled at 18 /3 — the two coordinating seats set to wake in the same minute.

Applied

  1. Three shift triggers recreated and staggered — 00 at :10, 02 at :40, 20 at

11:30/23:30 UTC. delivery-lead-shift reactivated. Each prompt is standalone and opens with coordination duty: live leases, collisions, schedule health, prod-vs-repo drift.

  1. agent_ops.schedule_health — one row per schedule with an explicit verdict.

NEVER_RAN + has_trigger_ref = dangling trigger, the exact state that hid for 11 days.

  1. agent_ops.check_schedule_health() on pg_cron, hourly at :07 — pure SQL, no model,

no HTTP. Raises a deduplicated CEO proposal naming the silent seat. Fired on install and correctly raised 3.

  1. agent_ops.record_claim_conflict() — collisions get recorded instead of discarded.

Today's is the first row that table has ever held.

  1. agent_ops.ceo_action_proposals + propose_ceo_action() / promote_ceo_proposal() /

reject_ceo_proposal() — a blocked worker now has a route to the CEO list. The only_01_faces_the_ceo guard is untouched; 01/20 still promote.

  1. Fact tier ladder + add_fact(); doctrine not self-assignable; 160-char cap enforced.
  2. Fact retractionretract_reason + superseded_by, real reason required.
  3. agent_ops.prod_changes + prod_ahead_of_repo, backfilled with all 13 out-of-band

production changes made today.

  1. agent_ops.billable_session_runs — flags re-claims under 60 minutes apart. Read-only;

no receipt altered.

Verification

Watchdog executed live and raised exactly one proposal per silent seat, deduplicating on a second run. The three schedules now read active with the correct OVERDUE verdict; they clear when the seats first beat at 18:10, 18:40 and 23:30 UTC.

Note on how this was applied

projects-portal was held by 1099:openai-chatgpt-7f3a (expiring 17:30 UTC) whose declared work was the HI v40 directive text. Applied on explicit CEO authority — rule 6 says the human breaks ties — scoped strictly away from agent_ops.policy, the row that holder is editing. The collision is recorded in claim_conflicts.