Design 47 follows ADR 0633, 0637, 0638 and 0639: the take-in by the indexer it names, and the group try (issues 1966, 1921) #521
@@ -631,14 +631,15 @@ pull request, and it owes the forge nothing.
|
||||
composition answer, the try ends as error, never as pass, naming what it could not validate. A check passes such
|
||||
a node with a warning (ADR 0593 §9); a try cannot, because it would then not say whether the check will pass. A
|
||||
try that ended as error keeps no verdict (ADR 0637 §3).
|
||||
- **The indexer makes a try's candidate, on the checker's events.** The checker emits the checker's try events: one
|
||||
when a whole try starts, carrying its members at their commits, and one when it ends. The indexer, the holder of
|
||||
the seat `mesh-catalog`, consumes them and writes `candidates.<try id>` with one pull per member, its modules and
|
||||
fingerprints from the previews, validated with the seat definitions the members carry, and deletes it at the
|
||||
try's end. It reads no state of the checker's; at its start it recovers the tries still open through the
|
||||
checker's tool that reads a try (ADR 0596 §1, §2, which a record changing ADR 0637 §4 is to carry). The
|
||||
indexer's tools read and drop a try's candidate. The candidate is the try's alone: the check, the gate and the
|
||||
forge bridge leave it alone, and the forge is owed no status and no Approve (ADR 0637 §4).
|
||||
- **The indexer makes a try's candidate, on the checker's events.** For a whole try only, the checker emits
|
||||
`try.started`, carrying the try's id and its members at their commits, and `try.ended`, carrying its id and its
|
||||
state, on its stream `checks`. The indexer, the holder of the seat `mesh-catalog`, consumes them: on
|
||||
`try.started` it writes `candidates.<try id>` with one pull per member, its modules and fingerprints from the
|
||||
previews, validated with the seat definitions the members carry, and on `try.ended` it deletes it. It reads no
|
||||
state of the checker's; at its start it recovers the tries still open through the checker's tool
|
||||
`checker_tries` (ADR 0596 §1, §2; the record changing ADR 0637 §4). The indexer's tools read and drop a try's
|
||||
candidate. The candidate is the try's alone: the check, the gate and the forge bridge leave it alone, and the
|
||||
forge is owed no status and no Approve (ADR 0637 §4).
|
||||
- **A try and a check share kept verdicts.** The try computes each package's digest as the check does and keeps
|
||||
the verdict of each package it passed under that digest (ADR 0548 §5, ADR 0536 §1). The pull-request check of a
|
||||
tried head runs only the packages with no kept verdict for their digest, those a moved trunk or a new head
|
||||
|
||||
Reference in New Issue
Block a user