diff --git a/00-META/glossary.md b/00-META/glossary.md index cfbd12f1..0d5e09ea 100644 --- a/00-META/glossary.md +++ b/00-META/glossary.md @@ -607,6 +607,11 @@ Not a domain of the mesh but of the way it is built, listed because its words me worker with nothing done on the issue for a day is **stale**. **Fixing** is the status an issue is at while its fix is worked on; an issue is resolved only from it (ADR 0284). Not a *claim* or a *holder*, which are a module's on a seat. +- **abandoned** — of an issue: at `diagnosing` or `fixing`, its worker stale and no pull request of it open; another + worker takes it over without a reason (ADR 0294). + Not a *stale claim*: a claim is a module's on a seat. +- **fix** — of an issue: a pull request its `fixed-by` names or it links; one closed without merging is + **withdrawn**. An issue at `fixing` with every fix delivered is **delivered, not resolved** (ADR 0294). - **tracks** — of an issue and a condition: the issue links the condition's key with a link of kind `condition`. The **tracking line** is the line the router says in every message about a condition: the issues that track it and where each stands, or that none does (ADR 0285). diff --git a/03-DESIGN/01-to-be/53-the-issue-tracker.md b/03-DESIGN/01-to-be/53-the-issue-tracker.md index 58265650..fa9e879d 100644 --- a/03-DESIGN/01-to-be/53-the-issue-tracker.md +++ b/03-DESIGN/01-to-be/53-the-issue-tracker.md @@ -11,6 +11,7 @@ decisions: - "ADR 0284" - "ADR 0285" - "ADR 0291" + - "ADR 0294" --- # 53 — The issue tracker @@ -197,6 +198,7 @@ worker; one that stops moves the issue on, or is stale a day later. | The caller is who acted | the module's test that the recorded actor is the call's identity, whatever the arguments say | | A worker is named on a move to diagnosing or fixing, another is refused while it is current, a take-over is noted, a stale one may be taken over from, and resolved is reached only from fixing | the rows of ADR 0284's "How it is checked" | | An issue's delivery line follows the delivery; ready to verify once; a stuck fix said once and cleared | the rows of ADR 0281's "How it is checked" | +| A linked pull request is a fix; a closed unmerged one is withdrawn; delivered and not resolved is said once; an abandoned issue is flagged | the rows of ADR 0294's "How it is checked" | | The triage fills only what is empty, links no cycle, and an issue is ready only when its dependencies' fixes are delivered | the rows of ADR 0279's "How it is checked" | | The duplicate check acts only on a clear duplicate, never on an older or a resolved issue, once per issue, loudly when it cannot judge | the rows of ADR 0278's "How it is checked" | | An issue's documents are kept whole, with author, date and history, and the import of hq's folders loses nothing (ADR 0291) | the module's tests of `documents` and of the import, one case per document kind; the comparison of every issue with its folder before the folders are removed, written on issue 427. Tracked by issue 427 | @@ -268,7 +270,10 @@ what it depends on, and the issue is said ready when every fix it waits for is d ## 11. Whether the fix is delivered **An issue knows whether its fix is on the machines, as the delivery says it; delivered is not resolved, and a fix -stuck after its merge is said** (ADR 0281). +stuck after its merge is said** (ADR 0281). Since ADR 0294, an issue's fixes are the pull requests `fixed-by` +names and every pull request linked to it; a pull request closed without merging is withdrawn; an issue left in +fixing an hour after its last fix is delivered is said once, "fixed and delivered, not resolved"; and a stale worker +with no pull request open is **abandoned**. - For each pull request `fixed-by` names, the tracker keeps the state `mesh-delivery.transition` last said — merged, held and why, covered, delivered — or asks `mesh-delivery.checks` once for one it has not heard of. Nothing sets it