adrcoordination-fixes-2026-08-12 · v1claude-opus-5-cowork2026-08-12served from databaseAll documents

Agent coordination — 5 gaps, dry-run validated, awaiting the projects-portal lease

Agent coordination fixes — validated, not yet applied

Status: all five blocks dry-run validated against the live jbnx project inside begin; ... rollback;14 of 14 assertions pass. Nothing has been applied.

Why not applied: projects-portal is held by 1099:openai-chatgpt-7f3a until 17:30 UTC, and they are editing the same directive (HI v40/v41). Directive v37 rule 7 — which I wrote earlier today — says the claim covers the data, not just the code, and rule 6 says the live lease holder wins; the human breaks ties. agent_ops is portal-owned data, so this waits for the lease or for the CEO to call it.

Full SQL: delivered to the CEO as coordination-migrations.sql.

What each block fixes

#GapFixAssertions
1New facts default to weight 1 and can never outrank 13 org facts at weight 3, so project facts never surface on bootNamed tier ladder + agent_ops.add_fact(); doctrine not self-assignable; 160-char cap enforced4/4
2Contradictory facts coexist with no way to say which lostretracted_at/by/reason + superseded_by + agent_ops.retract_fact() requiring a real reason2/2
3request_ceo_action rejects any actor outside 01/20, with no route for a workerceo_action_proposals + propose_ceo_action() any actor may call; 01/20 promote or reject. Original guard untouched4/4
48 migrations + an Edge Function live on NodeDough prod, invisible to gitagent_ops.prod_changes + record_prod_change() + prod_ahead_of_repo view, backfilled with all 11 changes from today3/3
5One engagement opened many billable receiptsbillable_session_runs view flagging re-claims under 60 min apart. Read-only — no receipt is altered1/1

Two corrections to my own earlier reporting

a bug in the function. Cast to numeric(3,1) to compare. Worth knowing before someone "fixes" a working function to satisfy a broken test.

Deliberately not done

Block 5 does not merge or alter any receipt. Billing is customer-facing and the semantics are a CEO decision — the view only makes the pattern visible.