From 14b53900ddac245dc554238e553db46dc711c57c Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 11 Oct 2026 17:55:22 +0200 Subject: [PATCH] Accept ADR 0294 on the operator's word, and give it its place in to-be 53 (issue 483) --- ...quests-and-a-fix-delivered-and-not-resolved-is-loud.md | 8 ++++---- 03-DESIGN/01-to-be/53-the-issue-tracker.md | 7 ++++++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/02-DECISIONS/0294-an-issues-fixes-are-its-fixed-by-and-its-linked-pull-requests-and-a-fix-delivered-and-not-resolved-is-loud.md b/02-DECISIONS/0294-an-issues-fixes-are-its-fixed-by-and-its-linked-pull-requests-and-a-fix-delivered-and-not-resolved-is-loud.md index 9211bc7c..366ceaca 100644 --- a/02-DECISIONS/0294-an-issues-fixes-are-its-fixed-by-and-its-linked-pull-requests-and-a-fix-delivered-and-not-resolved-is-loud.md +++ b/02-DECISIONS/0294-an-issues-fixes-are-its-fixed-by-and-its-linked-pull-requests-and-a-fix-delivered-and-not-resolved-is-loud.md @@ -1,8 +1,8 @@ --- topic: how we work -status: proposed +status: accepted date: 2026-10-11 -deciders: jochen (proposed by the agent session that fixed issue 483; waits for the operator) +deciders: jochen (proposed by the agent session that fixed issue 483; accepted by the operator on 2026-10-11) reconstructed: false extends: 02-DECISIONS/0284-an-agent-moves-an-issue-to-fixing-under-its-own-name-and-an-issue-is-resolved-only-from-fixing.md supersedes-in-part: @@ -82,8 +82,8 @@ more than proving an acceptance live takes, and short enough that a worker who l ### 6. An abandoned issue is shown, and taken over without a reason -An issue at `diagnosing` or `fixing` whose worker is stale (ADR 0284 §4) and that has no pull request open (not -merged and not withdrawn, or never heard of) is **abandoned**. `get` and its `list` row say `abandoned`. A move by +An issue at `diagnosing` or `fixing` whose worker is stale (ADR 0284 §4) and that has no pull request open (open: +neither merged nor withdrawn, or never heard of) is **abandoned**. `get` and its `list` row say `abandoned`. A move by another worker takes it over without a reason, as ADR 0284 §4 already allows of any stale worker; the answer, the take-over note and the `moved` event say it was abandoned. 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 4d88dcee..aa31511c 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: - 02-DECISIONS/0284-an-agent-moves-an-issue-to-fixing-under-its-own-name-and-an-issue-is-resolved-only-from-fixing.md - 02-DECISIONS/0285-an-issue-tracks-a-condition-by-its-key-and-every-message-about-the-condition-says-the-issue-and-where-it-stands.md - 02-DECISIONS/0291-an-issue-lives-whole-in-the-issue-tracker.md + - 02-DECISIONS/0294-an-issues-fixes-are-its-fixed-by-and-its-linked-pull-requests-and-a-fix-delivered-and-not-resolved-is-loud.md --- # 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](../../02-DECISIONS/0284-an-agent-moves-an-issue-to-fixing-under-its-own-name-and-an-issue-is-resolved-only-from-fixing.md)'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](../../02-DECISIONS/0281-an-issue-knows-whether-its-fix-is-delivered-and-a-fix-stuck-after-its-merge-is-loud.md)'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 claim is flagged | the rows of [ADR 0294](../../02-DECISIONS/0294-an-issues-fixes-are-its-fixed-by-and-its-linked-pull-requests-and-a-fix-delivered-and-not-resolved-is-loud.md)'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](../../02-DECISIONS/0279-the-issue-tracker-triages-every-new-issue-and-an-issue-is-ready-when-what-it-depends-on-is-delivered.md)'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](../../02-DECISIONS/0278-the-issue-tracker-checks-every-new-issue-for-a-duplicate-through-a-judgement-the-agent-makes-without-tools.md)'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](../../02-DECISIONS/0291-an-issue-lives-whole-in-the-issue-tracker.md)) | 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](../../02-DECISIONS/0281-an-issue-knows-whether-its-fix-is-delivered-and-a-fix-stuck-after-its-merge-is-loud.md)). +stuck after its merge is said** ([ADR 0281](../../02-DECISIONS/0281-an-issue-knows-whether-its-fix-is-delivered-and-a-fix-stuck-after-its-merge-is-loud.md)). Since [ADR 0294](../../02-DECISIONS/0294-an-issues-fixes-are-its-fixed-by-and-its-linked-pull-requests-and-a-fix-delivered-and-not-resolved-is-loud.md), 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