---
status: accepted
---

# GitHub Issues, in each Project's own repo, is the system of record

Requests were previously Discord posts marked with reactions, which stopped scaling. We evaluated agent-native trackers (Beads, Backlog.md), self-hosted forges (Gitea), SaaS (Linear), and an Obsidian vault before choosing GitHub Issues in each Project's existing repo — because it is the only candidate with server-side arbitration between many agents on many machines, and because issues sitting next to code give us `gh` defaulting to the working repo, `fixes #N` closing Requests on merge, and releases that enumerate what they closed.

## Considered Options

- **Beads** — purpose-built for multi-agent CRUD with atomic claiming, but its v1.x pivot to a Dolt backend is recent and fast-moving, and cross-machine consistency rests on git sync rather than a server.
- **Obsidian vault** — the best substrate for agents reading and writing (plain markdown, official CLI with frontmatter CRUD and Bases queries), but concurrency is entirely DIY: no locking anywhere, and a documented failure mode where the app clobbers an agent's on-disk edit. Composes better as a local lens over the Hub than as the Hub.
- **Linear** — good API and an agents SDK, disqualified by a 2026 free tier hard-capped at 250 active issues.
- **One central `requests` hub repo** — genuinely central, but forfeits every code-adjacency benefit above. Rejected in favour of per-Project repos plus cross-repo references.

## Consequences

Request data lives on GitHub's servers rather than being self-custodied. Milestones cannot span repositories, so coordinated cross-Project releases are unrepresentable — accepted, because Projects release independently.
