ADR 0279: ready waits for the pull requests fixed-by names, not every entry
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request

This commit is contained in:
jochen
2026-10-10 17:49:42 +02:00
parent fa6acb04c9
commit 3e346e7cd7
2 changed files with 7 additions and 6 deletions
@@ -77,7 +77,7 @@ check of ADR 0278 is one of its parts.
**operator** (the operator's answer or feedback is required). Empty until given or estimated.
- `suggested-owner`: an owner from the registered list, suggested by the triage when `located-in` is empty. It is
not `located-in`, which says where a diagnosis found the fault.
- `delivered`: the entries of `fixed-by` the delivery said are delivered.
- `delivered`: the pull requests of `fixed-by` the delivery said are delivered.
- `triage`: the triage's judgement as it was made — who judged, when, each value with its reason — kept on the issue
so a second delivery of the event applies the same judgement rather than a new one.
- A link kind **`depends-on`**: this issue waits for that one to be delivered. `link` refuses one that would close a
@@ -100,7 +100,8 @@ consolidated schema exist for this store; a reader that does not know a key igno
### 3. Ready
An issue is **ready** when it is not resolved or wontfix and every issue it depends on is either wontfix, or
resolved with every entry of its `fixed-by` delivered. An issue with no dependency is ready. When a dependency's fix
resolved with every pull request its `fixed-by` names (`<repository>#<number>`) delivered; an entry that names no
pull request, such as a commit, is not waited for. An issue with no dependency is ready. When a dependency's fix
is delivered and that makes an issue ready, the issue gains a note saying so and naming the dependency, and the
tracker says the event **`ready`** with its number, so a picker can react.
@@ -155,7 +156,7 @@ applies exactly that pass. An issue that ADR 0278 already checked keeps its dupl
|---|---|
| The triage fills only what is empty, says why, and notes a disagreement without changing the issuer's value | the tracker's test with the judgement stubbed: an issue with severity given and needs empty |
| A dependency is linked, a cycle refused, a resolved target not linked; nothing a person set is removed | the tracker's tests of `link` (a cycle of two and of three) and of the triage's links |
| Ready: every dependency wontfix or resolved with its fix delivered | the tracker's table test: no dependency, a dependency open, resolved and not delivered, resolved and delivered, wontfix |
| Ready: every dependency wontfix or resolved with every pull request of its fix delivered | the tracker's table test: no dependency, a dependency open, resolved and not delivered, resolved and delivered, wontfix |
| A delivery's transition marks the fix delivered and the waiting issue gains a note and the `ready` event, once | the tracker's test: the event twice, one note, one `ready` |
| A fix delivered before its issue was resolved is found at the move | the tracker's test with `checks` stubbed |
| `list` filters on severity, needs and ready; `get` says needed-by | the tracker's tests |
+3 -3
View File
@@ -91,7 +91,7 @@ caller; the module records that identity as who acted. No verb takes an actor.
condition key or a delivery;
- `record`: the path of the issue's folder in hq, when it has one;
- `severity` (critical, major, minor), `needs` (none, decision, operator), `suggested-owner`, `delivered` (the
entries of `fixed-by` the delivery said are delivered) and `triage` (the triage's judgement as made), and the link
pull requests of `fixed-by` the delivery said are delivered) and `triage` (the triage's judgement as made), and the link
kind `depends-on` (§ 10).
**The registered list of owners** is a setting of the module, changed through the controller's settings verb like any
@@ -228,8 +228,8 @@ what it depends on, and the issue is said ready when every fix it waits for is d
**Needs**: none, decision (a decision record first), operator (the operator's answer is required).
- **`depends-on`**: refused when it would close a cycle; `get` shows what an issue depends on and what it is
needed by.
- **Ready**: not resolved or wontfix, and every dependency wontfix, or resolved with every entry of its `fixed-by`
delivered. The tracker consumes `mesh-delivery.transition` and, at its own `moved` to resolved, asks
- **Ready**: not resolved or wontfix, and every dependency wontfix, or resolved with every pull request its
`fixed-by` names delivered. The tracker consumes `mesh-delivery.transition` and, at its own `moved` to resolved, asks
`mesh-delivery.checks` for what it has not heard; an issue made ready gains a note and the event `ready`.
- `open` takes severity and needs; `set` changes severity, needs and suggested owner; `list` filters on severity,
needs and ready. `groom` triages the backlog, dry run first.