forked from heavy-duty/ceremony
Merge pull request #194 from codex-bot-andresmgsl/build/192-reduce-fleet-registry
docs(fleet): reduce registry mechanism to a pinned pointer
This commit is contained in:
commit
c96d2d8f4e
2 changed files with 20 additions and 25 deletions
40
FLEET.md
40
FLEET.md
|
|
@ -62,24 +62,16 @@ branches; detection is the engine's, judgment is the session's.
|
||||||
|
|
||||||
What belongs here is what a wake *means*:
|
What belongs here is what a wake *means*:
|
||||||
|
|
||||||
- **The registry is the scope.** Every duty *queue* works the repos named in
|
- **The registry is the scope.** A box acts only on repos its operator
|
||||||
the box's `~/duty/repos.txt` and only those: the boards triage sweeps, the
|
listed. Work it finds outside that scope is reported and never acted on;
|
||||||
bound on a builder's author-side duties, the reviewer's queue. **A review
|
the report is part of the boundary, because a bounded wake that goes quiet
|
||||||
request outside the registry is not authorization to review** — it is
|
is indistinguishable from a broken one. Adding a repo is an **operator
|
||||||
logged, a WARN naming the request, and never acted on; the repair is the
|
decision**, never something a sweep makes by writing where nobody listed.
|
||||||
operator adding the repo to the list. The rule changed on 2026-07-25
|
The 2026-07-25 scope ruling (crew#16) closed the org-wide review and
|
||||||
(operator ruling, crew#16): the old doctrine — a reviewer's registry is
|
author-side write surface; the crew#66 attention ruling closed the last
|
||||||
the org itself and no repo filter may gate a request — made every box's
|
exemption. Crew's
|
||||||
write surface the whole org, which no registry could bound: the drill's
|
[`repos-default.txt` header](https://github.com/heavy-duty/crew/blob/4da17c49594c2d86bd3793fa3567846cbca38e90/shared/conf/repos-default.txt)
|
||||||
containment interlock narrowed `repos.txt` and so confined triage and
|
is the pinned source for how that rule is implemented and reported.
|
||||||
hygiene, but not review, the one module that submits verdicts.
|
|
||||||
[`lib/duty-review.sh`](https://github.com/heavy-duty/crew/blob/4da17c49594c2d86bd3793fa3567846cbca38e90/shared/lib/duty-review.sh)
|
|
||||||
states the rule and implements the WARN.
|
|
||||||
- **No wake is exempt, including attention** (next section). The attention
|
|
||||||
*query* is cross-repo by construction — it is one call to the
|
|
||||||
authenticated-user endpoint, which has no repo filter — but the *action*
|
|
||||||
it authorizes is bounded like every other. A demand parked on this box in
|
|
||||||
a repo nobody listed is reported, never worked.
|
|
||||||
|
|
||||||
### Wake conditions
|
### Wake conditions
|
||||||
|
|
||||||
|
|
@ -94,7 +86,7 @@ very thing that unparks the work resume would otherwise pick up. The query is
|
||||||
the authenticated-user endpoint —
|
the authenticated-user endpoint —
|
||||||
`gh api "/issues?filter=assigned&state=open&labels=attention"` — one call, no
|
`gh api "/issues?filter=assigned&state=open&labels=attention"` — one call, no
|
||||||
search index (the review queue below already records that the index lags) —
|
search index (the review queue below already records that the index lags) —
|
||||||
and it **sees** repos `~/duty/repos.txt` does not name, because that endpoint
|
and it **sees** repos outside the operator's registry, because that endpoint
|
||||||
takes no repo filter.
|
takes no repo filter.
|
||||||
|
|
||||||
**Seeing is not acting, and that is a ruling** (crew#66, danmt, 2026-07-27).
|
**Seeing is not acting, and that is a ruling** (crew#66, danmt, 2026-07-27).
|
||||||
|
|
@ -236,7 +228,7 @@ for the engine-side update:
|
||||||
|
|
||||||
- **The second query.** Alongside the `state:needs-human` PR poll, `notify.sh`
|
- **The second query.** Alongside the `state:needs-human` PR poll, `notify.sh`
|
||||||
polls **open issues and PRs labelled `needs-ruling`** across every repo in
|
polls **open issues and PRs labelled `needs-ruling`** across every repo in
|
||||||
`~/duty/repos.txt`.
|
the notifier's deliberately wider registry.
|
||||||
- **One tracked message per item, edited in place** — the same
|
- **One tracked message per item, edited in place** — the same
|
||||||
one-message-per-item discipline the PR poll already uses, so an aging
|
one-message-per-item discipline the PR poll already uses, so an aging
|
||||||
ruling reads as a **live queue**, not a feed. The message is removed when
|
ruling reads as a **live queue**, not a feed. The message is removed when
|
||||||
|
|
@ -261,11 +253,9 @@ Nothing box-side ever sets, clears, or decides `needs-ruling` (#50 D9, D15):
|
||||||
the notifier and triage's past-24h wake above *report and pick up* what the
|
the notifier and triage's past-24h wake above *report and pick up* what the
|
||||||
board already shows; the label itself moves only by the doctrine's hands.
|
board already shows; the label itself moves only by the doctrine's hands.
|
||||||
|
|
||||||
The duty engine is crew's shared tree, one source deployed to every box;
|
The duty engine is crew's shared tree, one source deployed to every box.
|
||||||
`~/duty/repos.txt` stays per-box, the operator's to edit — which is what
|
Specs written in this file have a record of becoming engine: the attention
|
||||||
makes the registry rule an operator decision rather than a sweep's. Specs
|
wake and the reviewers' request sweep both started here as paper (the sweep's
|
||||||
written in this file have a record of becoming engine: the attention wake
|
|
||||||
and the reviewers' request sweep both started here as paper (the sweep's
|
|
||||||
org-wide form was then retired by the 2026-07-25 scope ruling), and the
|
org-wide form was then retired by the 2026-07-25 scope ruling), and the
|
||||||
builders' ci-red wake above is the latest: written here as paper while
|
builders' ci-red wake above is the latest: written here as paper while
|
||||||
crew#64 was open, engine at the stamped SHA. Two rows are still on paper, and
|
crew#64 was open, engine at the stamped SHA. Two rows are still on paper, and
|
||||||
|
|
|
||||||
5
changelog.d/192.md
Normal file
5
changelog.d/192.md
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- `FLEET.md` keeps the registry's authorization rule and its crew#16/crew#66
|
||||||
|
provenance, while replacing duplicated mechanism and path claims with a
|
||||||
|
pinned pointer to crew's registry header (#192).
|
||||||
Loading…
Reference in a new issue