Zum Inhalt

Decisions

The decisions that shape this project, 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 The AI only reads; a job without AI writes accepted, amended by 0025
0003 Run on the standard library of Python alone, as a package in layers accepted, amended
0004 Keep the prompts and texts independent of the AI vendor accepted
0005 Close an issue with the release that ships its fix accepted
0006 Every repository uses the workflows exactly as the templates have them accepted, amended by 0007 and 0015
0007 The templates live in templates/; this repository's own workflows come from the blueprint accepted
0008 The jobs that write reach only GitHub: Harden-Runner blocks every other host accepted, amended by 0026 and 0029
0009 Limit the AI runs that strangers start, counting issues rather than answers accepted
0010 The lifecycle counts days of the calendar and keeps the day that a reminder names accepted
0011 install pins the commit of its own checkout, the release whose templates it writes accepted
0012 Maintainers and the reporter steer the assistant with commands that are no part of the conversation accepted
0013 A catalog for each language of the comments, and English around any other accepted
0014 Bound every run of the AI by its task, put the rules in the system prompt, and show what each run cost accepted
0015 The templates call the jobs as reusable workflows of a release, so an update is a move of the pins accepted
0016 Learn from the maintainers' corrections as they stand on GitHub, as data of the context accepted
0017 Four engines, and the command lines without a fitting action run in the action accepted, amended by 0020 and 0030
0018 A first answer in Discussions, from a workflow of its own that alone may write there accepted
0019 A repository may name another runner for the AI, behind Harden-Runner with the hosts of its firewall policy, should the firewall runner be gone accepted, amended by 0025 and 0027
0020 A patch version of an engine merges on its own once the check of its contracts passed replaced by 0030
0021 Letters of a script of their own count as stopwords in the guess of the language, and Russian and Ukrainian get a third form of a number of days accepted, amended
0022 The pages of docs/ hold the details, with a page for each feature, and a short README links them accepted
0023 A reporter can keep the AI out of their issue with a box of the form, which mutes it and takes its text out of every other run accepted
0024 Every request asks for one version of GitHub's API and meets a reduced copy of GitHub's OpenAPI description, which a bot keeps current accepted
0025 The AI runs only once a step proves on its runner that a host outside the firewall policy is out of reach and GitHub answers accepted
0026 An open alert of code scanning fails one run of the Findings workflow, the first that finds it open, by a record of the reported alerts in the cache of the default branch accepted, amended by 0028
0027 The AI's runner in reserve has a job of its own: no job on the firewall runner has a step of Harden-Runner, whose pre step would start its agent there accepted
0028 After the scan of a pull request of the repository itself, the Findings workflow dismisses the alerts of the pull request that findings.toml of the default branch accepts, whose review threads would block the merge, and fails for none accepted
0029 Every job of this project that blocks stops at the step of the blueprint Make sure that Harden-Runner blocks when Harden-Runner has no agent that blocks, and no step runs after it without the block accepted
0030 Every update of an engine merges on its own once its checks passed, and the release waits for the Canary of main accepted, amended by 0032
0031 The task backlog is a matrix of calls of the reusable workflow, each a run by hand of one first analysis, which sets labels only unless the maintainer asks for the comment accepted
0032 The title of an engine update names the engine and its versions, and each package of an engine comes in a pull request of its own accepted