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 1d8929c7..69eea799 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 @@ -51,3 +51,11 @@ the principle that settles it, cited as "design 47 G A-n". for a key queued behind a package, in the one wait form with its `part`, and the watchman times it from those; its reads of the builder's `builds`, the node-engine's `have` and `mesh-host.health` go, replaced by the node-engine's `running` (with `healthy`) and its wait events. +- **A-193** (§64, §73, §373, §420, A-180, A-185; principles 2, 3 and 7) For a run: `run` writes each member's + pipeline at once (key `..`, running, no steps, `Run` its id), and the candidate's + revision places its steps by compare-and-set; `pipeline-started` is said when the steps are placed, with the + fingerprint and the candidate's revision; `run-started`'s subject names one member's module, branch and commit, or + for several the first member's module and branch and `run-`; a member naming no branch is refused. The hook is + called once per candidate revision at the catalog follower's one subscription, whatever branches are followed, so + a runner following none still hears it. As §373 says, a run builds each member and its dependents: the dependents' + pipelines come from the candidate's entries whose fingerprints the members change.