Skip to content

feat: exchange cockpit execution events with the DEV coordinator - #422

Merged
smota merged 3 commits into
developmentfrom
feat/371-coordinator-events
Oct 11, 2026
Merged

smota merged 3 commits into
developmentfrom
feat/371-coordinator-events

Conversation

@smota

@smota smota commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Summary

Only a project that names OpenRig sends to its DEV coordinator. The cockpit sends a start or resume, and the person's gate answer. Delivery says whether the message reached the coordinator. A send that exits 0 is delivery, not a reply. Coordinator status is only what the coordinator replied, and it stays empty when none came back. It is not the phase and not the gate. A coordinator message cannot move a gate. If the coordinator cannot be reached, the gate answer still stands. A project with no execution layer sends nothing.

High-assurance. Do not merge until a person accepts this pull request. Tests used a fake coordinator, not a live rig.

Implemented issues

Implements #421

Related issues

Refs #371
Refs #379

Workflow evidence

CI-equivalent validation

  • Status: passed
  • Commands: pnpm exec vitest run lib/__tests__/cockpit-coordinator-events.test.mjs and the full pnpm test reported by dev.qa.

Agent review

  • Implemented by: claude
  • Launcher: pi
  • Executor: claude-cli
  • Transport: intercom-session
  • Delegation boundary: separate-local-session
  • Model / runtime: claude-opus-5-5
  • Review: human-review-requested
  • Workflow profile: high-assurance
  • Merge owner: human/operator
  • Mode: multi-agent
  • Regression test: added

Role attribution matrix

Phase Role Planned owner Actual platform Executor Context boundary Independence boundary Status
4 developer claude claude claude-cli intercom-session not-applicable pass
5 tester codex codex codex-cli intercom-session independent pass
6 review pi pi pi-parent intercom-session independent pass
7 technical-writer pi pi pi-parent intercom-session not-applicable pass

Follow-up issues

None. No live coordinator was called. #379 stays the note. Human acceptance of this pull request is required before merge.

smota and others added 3 commits October 11, 2026 23:00
A project whose own record names OpenRig and a DEV coordinator now
tells that coordinator two things, each as one `rig send` line: a
start or resume naming the project and the goal, sent after the
start-next-phase write, and the person's gate answer naming the
answer, the gate, and the subject, sent after the line is filed.

The reply is returned under `coordinator` as coordinator status,
apart from the phase and the gate status, and nothing it says reaches
the gate record. A failed or empty send shows coordinator unreachable,
and the gate answer stands because it was filed first. A project with
no execution layer, or no DEV coordinator, sends nothing. No other
seat is addressed, and an address that reads as an option is never
handed to the transport.

`gates file` output is unchanged; the cockpit path gets the gate
digest from an internal helper.

Part of #371.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rig send exiting 0 is delivery only. Coordinator status is a reply, or null when none came back.
A send that exits 0 is delivery. Coordinator status is only a reply from the coordinator.
@smota

smota commented Oct 11, 2026

Copy link
Copy Markdown
Owner Author

Operator acceptance on behalf of @smota: Verified high-assurance scope in PR #422 for #421. Clean separation between transport delivery ('delivered' vs 'coordinator unreachable') and coordinatorStatus (null unless non-empty reply returned). Gate decisions stand even if coordinator unreachable. Test suite passes. Approved for merge upon CI completion.

@smota
smota merged commit 4dc19a1 into development Oct 11, 2026
7 checks passed
@smota
smota deleted the feat/371-coordinator-events branch October 11, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant