mesh-issues: say a delivered fix left in fixing, and flag a stale claim (hq issue 483)
mesh/merge-gate pass: builds mesh-issues → novox; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate pass: builds mesh-issues → novox; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
mesh/delivery superseded: a newer head of the same pull request
The operator found 13 issues in fixing whose fix was delivered hours before: their pull requests were linked, not in fixed-by, so their delivery was never measured, and nothing said an issue left there or a worker gone.
This commit is contained in:
@@ -19,7 +19,7 @@ what it refuses.
|
||||
|---|---|---|
|
||||
| `open` | `title`, `report`, optionally `located-in`, `record` | checks the issue, then takes the next number and keeps it under that number; answers the number |
|
||||
| `get` | `number` | the issue whole: fields, notes, links |
|
||||
| `list` | optionally `status`, `owner`, `phrase`, `limit` | short rows, newest first: number, status, owner, title |
|
||||
| `list` | optionally `status`, `owner`, `phrase`, `limit`, `severity`, `needs`, `ready`, `flag` (`delivered-not-resolved` or `stale-claim`) | short rows, newest first: number, status, owner, title, and each flag that holds |
|
||||
| `move` | `number`, `status`, and what that status needs (`by` for `diagnosing` and `fixing`, optionally `take-over`) | changes the status under the development cycle's rules |
|
||||
| `note` | `number`, `text` | appends a note; a note is never edited |
|
||||
| `link` | `number`, `kind`, `target`, optionally `remove` | adds or removes a typed link |
|
||||
@@ -110,6 +110,27 @@ event `ready-to-verify`, once per set of fixes; it is resolved once its acceptan
|
||||
while the issue stays `fixing`: `move` to the status it has changes what it holds and is refused when it changes
|
||||
nothing.
|
||||
|
||||
**The fixes of an issue are its `fixed-by` and the pull requests linked to it** (link kind `pull-request`; hq issue
|
||||
483): agents link a pull request while the issue is in fixing and give `fixed-by` at the resolve, so a delivery read
|
||||
on `fixed-by` alone missed every fix being verified. Readiness still reads `fixed-by` alone, so a pull request linked
|
||||
and abandoned holds no dependent back. A pull request linked after its delivery moved hears no transition again: each
|
||||
sweep asks mesh-delivery for at most five fixes never heard of, of issues not resolved.
|
||||
|
||||
The ready-to-verify note names each fix with when it was delivered, and the issue's worker; the event carries
|
||||
`worker` and `delivered-at`. No channel of the tracker reaches a worker, so the note and the event are how it hears.
|
||||
|
||||
**Delivered, not resolved** (hq issue 483). An issue in fixing whose every fix is delivered carries
|
||||
`delivered-not-resolved` on `get` and its `list` row. Past `delivered-not-resolved-after` (default `1h`) from the last
|
||||
delivery, the sweep says it once as a warning on the operator's channel, key
|
||||
`issue-tracker.delivered-not-resolved.<number>`, "issue N: fixed and delivered, not resolved; <worker> works on it",
|
||||
cleared there when the issue leaves fixing or names a fix not delivered yet (at its `moved`, or the next sweep).
|
||||
|
||||
**A stale claim** (hq issue 483). An issue in diagnosing or fixing whose worker did nothing on it for
|
||||
`worker-stale-after` (default `24h`) and that names no pull request still open (not merged, or never heard of)
|
||||
carries `stale-claim` on `get` and its `list` row, beside its `worker`. A move by someone else takes it over without
|
||||
`take-over`'s reason, as any stale worker; the answer, the note and the `moved` event say the claim was stale
|
||||
(`stale-claim`).
|
||||
|
||||
Every five minutes the module looks for a fix merged and not delivered after `stuck-after` (default `2h`): it is
|
||||
said once — a note on the issue and a warning on the operator's channel (`seat:operator-channel.notify`, key
|
||||
`issue-tracker.fix-stuck.<number>`), cleared there when every fix of the issue is delivered. A module that runs only
|
||||
@@ -243,7 +264,9 @@ as the credential, which ADR 0266 keeps agents from reading (hq issue 333).
|
||||
|
||||
`duplicate-check` (`on`; `off` stops the triage of new issues), `judge-model` (`sonnet`; `haiku` or `opus`) and
|
||||
`forge-owner` (the forge's owner of the repositories `fixed-by` names, for asking a delivery) steer the triage;
|
||||
`stuck-after` (`2h`) is how long a merged fix may take to be delivered before it is said.
|
||||
`stuck-after` (`2h`) is how long a merged fix may take to be delivered before it is said;
|
||||
`delivered-not-resolved-after` (`1h`) how long an issue may stay in fixing once every fix is delivered before it is
|
||||
said (hq issue 483).
|
||||
|
||||
```
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user