arizuko › products › Repo worker (Atlas)
Repo worker (Atlas)
A solo developer’s agent for their own repositories. It triages issues, reviews pull requests and opens its own — and it merges only when you say so.
The agent knows one repository
The agent lives in one repository and knows it. Before it answers, it reads ~/facts/, with your build commands, your generated directories and your definition of done. It also reads ~/diary/, so it does not argue again about a decision that someone already made.
On a pull request, it reads the diff, not the description, and cites path:line. When it did not open a file, it says so. It acts through its GitHub tools: it opens the pull request, writes the comment and applies the label.
Most events are context, not requests: a push, a label or a release. The agent reads them, remembers them and stays quiet. It answers when someone addresses it.
A hold grant that you add stops the merge
The persona tells the agent that merge, force-push and the close of someone else's work are not its decisions. The product ships no hold, so the platform does not stop a merge until you add one. Grant hold:mcp:github_merge_pull_request to the folder, as setup shows. Then the platform stops the held call, and the persona tells the agent to say what it waits for. Approve with /approve <id> in any chat that you use, or on /dash/approvals/.
A sample exchange with the merge hold granted
user is #412 safe to merge?
agent no. store/secrets.go:115 drops the error from Decrypt and
returns the zero value, so a bad key reads as an empty
secret rather than a failure. the PR description says
"no behaviour change".
the rest of the diff is fine. i did not read the
migration — 0031.sql is generated and your facts/repo.md
says never to review those.
user ok fix it and merge
agent opened #413 with the error returned. merge is held:
hold:mcp:github_merge_pull_request. approve with
/approve h-8f21 and i will merge #413, not #412.
The product ships five files
| File | What it is |
|---|---|
arizuko.yml | the manifest: name, brand, tagline and the two env hints |
group/PERSONA.md | who the agent is: reads the diff, cites path:line, waits on merge |
facts/repo.md | a placeholder for the operator: your build, test and lint commands |
facts/README.md | what belongs in facts/, and why a stale line there is a bug |
eval/github.toml | the tests of the product; run them to check that the persona still holds |
For a shared team channel, see the Slack team agent.