Decisions¶
The decisions that shape the blueprint, each with its reasons, so that a later change can see why things are as they are. A decision that changes an earlier one gets a new record, and the earlier one says which record replaces it.
Copy the template to the next free number and describe the decision in the pull request that makes it.
| Record | Decision | Status |
|---|---|---|
| 0001 | Record the decisions that shape the project | accepted |
| 0002 | Generate the repositories with Copier and keep them current with a bot | accepted |
| 0003 | Write the changelog in the pull requests, and let the release bot assemble it | accepted |
| 0004 | Keep the settings of every repository as code, applied by a bot | accepted |
| 0005 | Keep the dependencies current with a self-hosted Renovate | accepted |
| 0006 | Publish a beta of the next release after every change for users, where a project wants it | accepted |
| 0007 | Keep one update pull request, move it on with each release, and leave a maintainer's commits alone | accepted |
| 0008 | Pin no action to a branch: run a tool that follows its branch as an image | accepted |
| 0009 | Run a check only where it can change a result | accepted |
| 0010 | Roll out each release one repository at a time, and report every repository that misses it | accepted |
| 0011 | Every download tries again, the checks cache what they download, and the CI skips no check for an unreachable server | accepted |
| 0012 | Refresh every lock file once a week, and let the refresh wait for the maintainer | accepted |
| 0013 | Name the runner with its version, and try the next one every week before the jobs move | accepted |
| 0014 | Recover from a stalled check without a person, once | accepted |
| 0015 | Tell coding agents the rules in AGENTS.md, with the files of a project kept equal to copier.yml | accepted |
| 0016 | Show every diagram as a picture drawn from its Mermaid source, because the GitHub app draws no Mermaid | accepted |
| 0017 | Cache what a check can verify, never a finding: downloads by their lock files, php-cs-fixer by content, Psalm without a cache | accepted |
| 0018 | Each pull request writes its entry of the changelog into a file of its own | accepted |
| 0019 | A bot that fails keeps one issue open until it passes again | accepted |
| 0020 | Update only to a release that the release workflow made, and let only the release app create release tags | accepted |
| 0021 | Install the tools with uv, start mypy from its cache, and end every step that installs, builds or downloads after five minutes | accepted |
| 0022 | Every check explains its failure, in the check and in one comment, also on a pull request from a fork | accepted |
| 0023 | Pull requests fix what a command can fix by themselves: the check fixes, the fix bot commits, suggests or opens a pull request for main | accepted |
| 0024 | Take over each verified release of the issue assistant with a bot of the blueprint, not with Renovate | accepted |
| 0025 | Run the tests of Python projects on every core, with the same coverage gate | accepted |
| 0026 | Build the website once, in the job of the check, and keep the downloads of Material for a week | accepted |