diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index ae7709f5..5258cc09 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -414,3 +414,15 @@ the principle that settles it, cited as "design 47 G A-n". does not compile or generate) ends failed with its answer all the same: its fetch and the levels so far, beside its error, so the checker previews from it. A failed test or a failed level never hides the manifest validator or the composition. +- **A-287** (principle 4) A module's kept announcement names every state its manifest declares, so each can be + read by its tools; gitea's `KEPT` gains `failed-steps`, `idle` and `transfers`. +- **A-288** (principle 3) A refusal's test holds what the refusal must say, not its earlier wording: the one tool + that may do the refused act and that it runs on the operator's Approve of that call. +- **A-289** (§371; principles 3 and 8) A package left unpublished by a build that reserved no version (§371's other + watched branch, §505's manifest without MAJOR.MINOR, a candidate) counts as done, and the builder's unpublished + count holds no package at all: a reserving build's package is published or its build fails, and a done key is never + built again under a reservation, so no seat republishes a package (principle 7). The count holds images only. +- **A-290** (A-254, §467; principles 3 and 7) A step's key in its build module's steps state keeps the step's answer + only within the state's bound per value; an answer over it, a check's or a run's alike, is kept as the object + `output.` in the module's outputs store and the key names it, and every reader (the checker, the asker) reads + the answer from the key or the object it names. No step ends passed in one place and failed in another.