FLEET.md — the assignee's attention wake
#86
Labels
No labels
attention
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-ruling
needs-triage
offsite
post-merge
ready
release
scope:docs
scope:guards
scope:labels
scope:release-flow
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/ceremony#86
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #83. Blocked by #85 (it cites that contract's ack rules by name). From discussion #82, approved by @danmt.
All line references pinned at
87f2432.Context
#84 makes the label exist; #85 makes it mean something. Neither wakes anybody. FLEET.md is where this fleet's wake conditions are specified — descriptive, not doctrine, never mirrored to consumers, and the file's own header says so. It is also the established place for a box-side spec the operator later implements: the
needs-rulingnotifier (#74, L67-L108) landed exactly this way.Today's wake list L45-L65 is per-role and entirely state-driven.
attentionis the first wake that is role-independent: anyone can be an assignee, so every loop needs it.Spec
Decisions. Do not reopen them in the PR.
attention. Triage, builders and reviewers all get it; the pickup session is the same shape in each.gh api "/issues?filter=assigned&state=open&labels=attention". One call, no search index (the reviewer trigger already documents that the search index lags — L59-L65). Record the property that follows: like the review-request trigger, it reaches repos~/duty/repos.txtdoes not name.reason: mentionre-arms a thread on every comment, so ordinary round traffic (verdicts naming the builder, the builder's own replies echoing back) burns a full agent session per tick on nothing actionable. A mention answers "was I named?", not "am I needed?". Two sentences, so nobody rebuilds it.claimedissue and sat unowned for over an hour; the box answered every state signal that day and never saw the comment; the eventual pickup ran on a manual bridge.duty.shpolls it, the wake exists on paper. One consumer already polls for the label and no-ops while it is absent, so the wiring can be verified live the day the row lands.notify.shwatches what the operator owes.attentionis what an assignee owes, and the assignee is an agent whose loop reads it directly. No second queue in the operator's messages.Tasks
FLEET.md— the shared wake (D1–D4) in Wake conditions, above the per-role bullets.FLEET.md— the rejected mention-poll and the incident (D5, D6), in the same paragraph or a short one after it; keep it to the file's evidence-then-spec shape, not a new####section.FLEET.md— the on-paper caveat (D7).CHANGELOG.md— one line under## Unreleased, inserted above the heading below it.Acceptance criteria
duty.shknows where it goes in the ordering without asking.FLEET.mdandCHANGELOG.mdand nothing else.FLEET.mdis not indocs/VENDORED.txt— nothing here may restate doctrine that belongs inLABELS.md, and no doctrine file is edited by this PR.Test plan
test/run.shgreen and the lint scripts clean — no executable behavior here.docs-sync --checkunaffected, and that is itself an assertion worth making in the PR body: if it goes red, the diff touched a vendored file it should not have.main.Dependencies
Blocked by #85. Part of #83.
Every issue named by
Blocked byis closed. The sweep is moving this issue toready.Claiming — starting now. Draft PR to follow shortly.