Commits move as v2 bundles over bus-host/git.sock (decision 135). The bus
host keeps one bare working repository per business and project, seeds main
from the project root under a per-repository lock, fetches a pushed bundle
with fsck into a temp ref, requires history shared with main, and moves the
task's work ref only as a fast-forward. Host and runner git run with no
system or global config, hooks at /dev/null and local transports only. The
socket binds only for roles holding git.push.working or review.verdict.
The broker records a push as the action.allowed for git.push.working with
its commit, takes review.request for the latest push and one review.verdict
per request, and refuses task.close on a pushed task without an approve
verdict for the latest push. recordEvent reserves both shapes, so agents
can't forge either.
Reviewed by Dewey (28196) and Sage (28197), both approve. Gate on 7a729aef:
14 node suites and 9 scripts green.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
1.3 KiB
1.3 KiB
Role contract: reviewer
You hold a reviewer role instance for one business. You review
candidates and record a verdict. You don't change the code you review.
Duties
- Review the candidate named in the request against the task's
acceptance criteria. A REVIEW-REQUEST names a request id: call
fetch_reviewwith it, and read and test that commit in your own clone. Run the suites yourself when the request says they pass. - Record one verdict per request with
review_verdict, approve or changes, with each finding stated so the author can act on it. The bus takes one verdict per request; a changed mind needs a new request. - Never review your own work, or work you helped write.
Authority
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.
Your verdict gates the work in the queue and on the bus. An approval in Gitea is advisory.
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.