You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
MANUAL RUN: give agents their own GitHub identity, then require review #754
Agents push, open PRs and merge as QuinnsCode. That's your own token: it has repo and workflow scopes and admin rights on the repo. So:
an agent could edit or delete the main ruleset (.claude/hooks/guard.ts now blocks the obvious gh api calls, but it's a speed bump, not a sandbox);
since every PR is by you, no review can be required, and CODEOWNERS can't gate anything.
Fix: agents get their own identity.
Create a GitHub App (preferred; tokens are short-lived) or a bot account, installed on RustyBuns only. Grant Contents: write, Pull requests: write, Issues: write, Checks: read, Metadata: read. Grant no Administration, Workflows, Actions write, Secrets or Environments.
Point Agent Office's workers at that identity, i.e. the gh/git credentials in their environment, instead of your keyring login.
Then tighten the main ruleset, and update .github/rulesets/main.json to match:
required_approving_review_count: 1
require_code_owner_review: true (CODEOWNERS already covers .github/, .claude/, scripts/, AGENTS.md and the deploy/auth files)
require_last_push_approval: true
Optional: Settings → Code security → turn on secret scanning for non-provider patterns. It's off now, and the repo is public.
Don't do step 3 before steps 1 and 2. While agents are still you, you can't approve your own PRs and every merge would block.
Bot account quinnscode-bot, collaborator with Write (not Admin). Login in 1Password codesplitters/github-bot.
Classic token (repo + workflow, 90 days, so it expires ~9 Jan 2027) in the same item, field token. Fine-grained tokens can't reach a repo the bot doesn't own.
Start the office with zsh ~/office-as-bot-754.sh (from apps/agent-office) instead of bun run office. It reads the token via op, passes GH_TOKEN to workers (AGENT_OFFICE_ENV_PASS), and swaps git's keychain helper for gh auth git-credential, so pushes and PRs go as the bot. Checked: with those settings git only calls gh auth git-credential.
Check: a worker's gh api user --jq .login says quinnscode-bot and its next PR is authored by the bot.
Only then: main ruleset requires 1 approving review, code-owner review and last-push approval, plus a PR updating .github/rulesets/main.json to match.
Optional: secret scanning for non-provider patterns.
Step 3 hasn't started, as it shouldn't yet. The live main ruleset requires 0 approving reviews, with code-owner review and last-push approval off. .github/rulesets/main.json matches it.
Next step (manual run): restart the office from apps/agent-office with zsh ~/office-as-bot-754.sh, then check that a new worker's gh api user --jq .login prints quinnscode-bot. After that, an agent can open the PR that sets main.json to 1 approval, code-owner review and last-push approval. The owner then applies the same settings to the live ruleset.
Activity
QuinnsCode commentedon Oct 12, 2026
Progress 11 Oct:
quinnscode-bot, collaborator with Write (not Admin). Login in 1Passwordcodesplitters/github-bot.repo+workflow, 90 days, so it expires ~9 Jan 2027) in the same item, fieldtoken. Fine-grained tokens can't reach a repo the bot doesn't own.zsh ~/office-as-bot-754.sh(from apps/agent-office) instead ofbun run office. It reads the token viaop, passesGH_TOKENto workers (AGENT_OFFICE_ENV_PASS), and swaps git's keychain helper forgh auth git-credential, so pushes and PRs go as the bot. Checked: with those settings git only callsgh auth git-credential.gh api user --jq .loginsaysquinnscode-botand its next PR is authored by the bot.mainruleset requires 1 approving review, code-owner review and last-push approval, plus a PR updating.github/rulesets/main.jsonto match.QuinnsCode commentedon Oct 12, 2026
Status check 12 Oct (Byte):
quinnscode-botis a collaborator with write access.QuinnsCode: a worker'sgh api user --jq .loginreturnsQuinnsCode, and PRs codeSplitters admin: what GitHub Actions cost this month, on Insights #794–Release 0.1.11: first npm publish from CI, behind the npm environment #804 were all opened byQuinnsCode. The office hasn't been started withzsh ~/office-as-bot-754.shyet.mainruleset requires 0 approving reviews, with code-owner review and last-push approval off..github/rulesets/main.jsonmatches it.Next step (manual run): restart the office from
apps/agent-officewithzsh ~/office-as-bot-754.sh, then check that a new worker'sgh api user --jq .loginprintsquinnscode-bot. After that, an agent can open the PR that setsmain.jsonto 1 approval, code-owner review and last-push approval. The owner then applies the same settings to the live ruleset.QuinnsCode commentedon Oct 12, 2026
Next step is tracked in #819: restart the office as the bot when no work would be lost. The ruleset PR waits on it.
QuinnsCode commentedon Oct 14, 2026
Folded into the one manual-run list, section 9 of #609 (easiest first, with times). This issue's steps stay here; tick the item in #609.