Announce a pull request opened after its push, and say one nobody checks (hq issue 347)
mesh/delivery superseded: a newer head of the same pull request
mesh/merge-gate pass: builds gitea → 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 gitea → 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)
The announcer read only the repositories whose update time moved since its last pass, less a minute. Opening, reopening or retargeting a pull request does not move a repository's update time, so a pull request opened more than a minute after its push was never announced, never checked, and nothing said so (mesh-sdk #14, 2026-10-09). - Each pass also looks at every repository holding a pull request updated since the floor, by the forge's own search; every ten minutes, or when the search fails, at every repository. - Every five minutes the forge is asked for every open pull request; one on a base requiring mesh/merge-gate whose head has had none for ten minutes is said as the forge failing that pull request's merge check (a provider standing, ADR 0224), which the controller keeps as a condition, and is recovered when a check arrives or it closes. - The client refuses a pull request or issue number that is not one before asking the forge (a misnamed tool argument sent pulls/NaN).
This commit is contained in:
@@ -4,6 +4,24 @@ The forge, and the mesh's npm package registry: it claims the `git` and `npm-pac
|
||||
Its tools, its events and the provisioner of registry accounts are the TypeScript bundle (`index.ts`,
|
||||
`tools/`, `provisioner/`). This README covers the Go bundle beside it.
|
||||
|
||||
## Announcing pull requests to the merge check (novox/hq to-be 45 §9, issue 347)
|
||||
|
||||
Every new head of an open pull request is announced as `pull.updated`, once, and the controller has it checked.
|
||||
|
||||
- **Which repositories a pass looks at.** Each that moved since the last pass, less a minute's margin (issue 250);
|
||||
each holding a pull request updated since then, found by the forge's own search — opening, reopening or
|
||||
retargeting a pull request moves its own update time and not its repository's, and a pull request opened more
|
||||
than a minute after its push was never announced (issue 347); and every repository on a sweep, every ten
|
||||
minutes, or when the search fails.
|
||||
- **A pull request nobody checks is said.** Every five minutes the forge itself is asked for every open pull
|
||||
request; one whose base requires `mesh/merge-gate` and whose head has had no such status for ten minutes is
|
||||
said as this forge failing *the merge check of `<owner>/<repo>#<n>`* (`provisioner.failing`, class
|
||||
`unannounced`), which the controller keeps as a condition (ADR 0224), said again each pass while it lasts, and
|
||||
recovered when a check arrives or the pull request closes. What is said is kept in `pulls-unannounced.json`
|
||||
beside the announcer's record, so a restart recovers what it said.
|
||||
- **A pull request or issue number that is not one is refused** before the forge is asked: a tool called with a
|
||||
misnamed argument sent `pulls/NaN`.
|
||||
|
||||
## The package registry's retention (novox/hq ADR 0251 §4, to-be 51)
|
||||
|
||||
Every publish adds a version to the registry, and until this nothing removed one. The Go bundle
|
||||
|
||||
Reference in New Issue
Block a user