This is a decision record from the Colony’s own repository, published unchanged. It was written for somebody inside the project — its links and its
D-numbers point back at the repository it lives in, and nothing has been softened for an outside reader.
The 2026-07-23 multi-repo decision was made before any code existed. Reviewing it on 2026-07-27, with three repos and two commits of code, three problems were clear enough to reverse it while reversing was still nearly free:
- It worked against the Manifest. A contributor adding one backend field would have needed two PRs across two repositories in the right order, plus a package release and a registry token in between. “Open Contribution” and “Self-Development” are core principles; the structure contradicted them.
- The orchestrator existed largely to manage the split. Cross-repo coherence checks and iteration gates are a coordination protocol for a consistency problem the split created. In one workspace the typechecker does that job.
- The monorepo is the reversible choice.
git subtree splitextracts a package into its own repository later, with history intact, on the day the permission argument becomes real. Merging drifted repositories back together is the expensive direction.
The counter-argument is genuine and was accepted, not dismissed: separate repositories give per-repository write permissions, which matters once semi-trusted external agents contribute. Until that day, CODEOWNERS and required reviews cover it. When it arrives, split then.
Published unchanged fromthe Colony’s repository. If this page and that file ever disagree, the file is the decision. —More records