PLANNING ACROSS REPOS

Plan once. Build across every repo.

The architect drafts one approved plan across the repos you choose, files scoped tasks in each repo, and hands those tasks to senior-dev, test-engineer, fixer, reviewers, and your merge gate.

HOW THE WORK SPLITS UP

One request becomes one pull request per repo.

The diagram below shows the architect handoff boundary. Each repo gets its own task, senior-dev picks it up on the next run, and each pull request passes its own review, test, and merge gate.

ARCHITECT PLAN · FAN-OUT parent issue → N child issues → N PRs
agent:large-feature org slug rollout specs#42 agent:bundle:add-org-slug ARCHITECT DRIVES plans, files, tracks agent:implement your-backend PR opened by senior-dev +162 / -34 in 4 files agent:implement your-frontend PR in review +98 / -12 in 3 files agent:implement your-mobile queued, no firing yet picked next interval
WHAT THE ARCHITECT FILES

A plan, then a task per repo, then the work.

The architect reads one parent-plan issue, drafts the rollout, and posts it to Slack or the local client for approval. After approval, the architect files scoped tasks in the right repos. Senior-dev and the rest of the fleet claim those tasks through the normal queue, with the same worktree, spend, review, and merge gates as any other run.

The plan the architect drafts

your-platform#812 (agent:large-feature) copy
Bundle: billing-v2 rollout
Repos in scope:
- your-backend (Kotlin, Quarkus)
- your-frontend (React, Vite)
- your-mobile (Expo)
- your-data-infra (Python)
Children to file:
- backend: introduce BillingV2Service
- backend: migrate /api/v1/invoices
- frontend: pricing page rewrite
- mobile: settings screen v2
- data-infra: invoice export job
Waiting for your go-ahead before filing.

A task it files in one repo

your-backend#247 (agent:implement) copy
Parent: your-platform#812
Bundle: bundle:billing-v2
Goal: introduce BillingV2Service with a clean
interface. No callers wired yet.
Constraints:
- Kotlin, Quarkus
- Existing BillingService stays untouched
- Add unit tests for the new interface
Done when:
- PR open against main
- Tests green
- Ra's al Ghul approves
HOW THE PLAN STAYS ORGANIZED

One label per stage. No database.

The same GitHub labels as a single-repo run, plus one extra label that ties each task back to the plan it came from.

agent:large-feature

You add this to a feature request. The architect picks it up, drafts a plan, and posts it to Slack for approval.

agent:bundle:<slug>

Added to every task the architect files, so each one points back to the plan it belongs to.

agent:implement

Each task starts with this label. Senior-dev can claim repo-sized tasks independently, each in its own worktree.

agent:done

Added to a task when its pull request merges. You can use the completed tasks to close the parent feature request with a clear trail.

CHECK THE PLAN FIRST

Test the architect before you spend anything.

The architect never files tasks without your approval. A dry run checks the local wiring without touching GitHub, Slack, an LLM, or your repos.

terminal copy
$ alfred dry-run architect
alfred dry-run: architect
role: cross-repo architect
mode: safe simulation
would: resolve config, acquire the agent lock, run preflight, and enter the runner
would not: call the host scheduler, mutate GitHub, post Slack, invoke an LLM, or edit files