Answer A-326 to A-328: the build-input cycle is allowed, a late registration places its pipelines, the runner's own pipeline is never held
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
This commit is contained in:
@@ -602,3 +602,17 @@ the principle that settles it, cited as "design 47 G A-n".
|
||||
outcome `bypassed`, asked of no one, said. For an artifact of kind `archive` or `upstream` with no language, its lint,
|
||||
unit and integration steps are `bypass` whatever its policy says, so no build seat is asked for them; every other step
|
||||
keeps its policy.
|
||||
- **A-326** (§47, §49, §51, §270, ADR 0614 §6; principles 3, 8) A cycle through a build module's own inputs is not
|
||||
§49's: where the build edge (kind 3) goes out of an artifact of a module that holds a build seat into an artifact it
|
||||
builds, the running version builds the new one (§270), so the cycle is broken at the running version and is allowed.
|
||||
Every other cycle with a build edge is refused at take-in, naming every artifact on it (§49, §51); the indexer builds
|
||||
that rule in G, over the catalog graph it keeps. An edge of kind 4 names the artifact that offers the provision (its
|
||||
`answered-by`), not the module's first process resource.
|
||||
- **A-327** (§21, §23, §54; principles 1, 3) A pipeline started before its module has a registration is placed when the
|
||||
registration arrives: the runner, on `registration-changed`, places from the registration the steps of every pipeline of
|
||||
that module that has none, once each (by compare-and-set), and says it. Until then the pipeline says it waits on the
|
||||
module's registration.
|
||||
- **A-328** (§29, §65, §270; principle 5) A take-in that changes the runner holds every other pipeline of the take-in
|
||||
until the new runner runs (§65), but never the runner's own pipeline: that one runs on the running runner, as a build
|
||||
module's running version builds its successor (§270), so its pass lets the new runner be wanted (§29) and its running
|
||||
releases the held ones. The bound stays only as a failure bound, with its finding.
|
||||
|
||||
Reference in New Issue
Block a user