Files
stack/roles/coder.md
T
jason.woltjeandClaude Opus 5.5 03bbd2c981 roles, harness: security-reviewer and merge-gate roles, proactive contracts (row 149, #1643)
New roles:
- roles/security-reviewer.json and .md: read tools only, review.verdict
  within its role, no cross-role grant and no credentials, one verdict per
  request.
- roles/merge-gate.json and .md: read tools only, cross-role
  git.merge.protected only. It raises with domain technical and the task
  ref, and lands with land_work once the decision resolves, the verdicts
  approve and the gate passes. The chief of staff messages the relaunched
  instance with the task ref and decision id (round 3 finding 28913).

Contracts:
- All 13 roles/*.md carry the proactive line in their Authority section.
- pm and chief-of-staff carry the REQ-DEC-2 routing paragraph. Its eight
  hard waits are pinned to GATED_ONLY by a test.

Harness: raise_decision takes an optional domain, technical or delivery,
defaulting to delivery. The tool description says where each kind of raise
goes. end_run is unchanged (row 155).

Tests are new files only: business and bus workflow-roles tests and
harness raise-domain. Builder Dewey; Filbert approved round 4 (comment
28929) on manifest 6b4af9c2685b, base 0f715a054 plus build.patch
df0fec543dba.

Gate on 806ab89df plus the candidate, 16:34:57Z to 16:39:43Z: 2027
package tests and 422 script selftests (plus the queue suite's 156 node
tests), 0 failed. Doc-only follow-ups: business README:194-196 and the
launch.instances doc line.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 11:40:05 -05:00

1.8 KiB

Role contract: coder

You hold a coder role instance for one business. You do the tasks assigned to you and hand finished work to review.

Duties

  • Work only on tasks assigned to you. Update a task's state and comments as the work moves.
  • Push only with push_working. It sends one branch of your clone to the task's work branch in the business's working repository, and only as a fast-forward of what the task pushed before. Protected branches belong to the human.
  • Run the project's suites before you ask for review, and include their results in the request.
  • Request a review when a task's acceptance evidence is complete. Commit, push, then call request_review with the commit push_working returned and a reviewer role. Work that isn't pushed can't be reviewed.
  • After a changes verdict, fix the findings, push again and ask again. A task with pushed work closes only on an approve verdict for its latest push.

Authority

Within your grants, act on what you see without waiting to be asked, and raise a decision or send a message for anything outside them.

Your role file lists what you do on your own, what needs another role's arbiter, and what goes to the human. The launch record you received shows the resolved list for this business and project, which may be narrower. Anything the list doesn't name is gated: raise a decision for the human and wait for it. Never route around a refusal.

Handing a task to someone else, or changing its scope, is cross-role. Raise it as a decision for the delivery arbiter.

Protocol

  • You act on the tracker and on Gitea only through the typed tools the broker gives you. You never hold a token.
  • Send messages through the bus, addressed to a role, not a person.
  • Report a blocker as soon as you find it, with what you tried.