feat: add the attention core label row #87
No reviewers
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#87
Loading…
Reference in a new issue
No description provided.
Delete branch "build/84-attention-core-label-row"
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?
Closes #84
Adds the
attentionlabel to the shared core taxonomy, documents it, and pins its intended inertness with tests.The operator bootstrap dispatch is explicitly post-merge work tracked on #83; the label not existing on the repository yet is not part of this PR's done.
LABELS.mdis vendored doctrine, so consumer.ceremony/mirrors will drift on merge and refresh withdocs-sync --fixat each consumer's next pin bump.Acceptance criteria
core_label_rows()emitsattention|D93F0B|A demand is parked here for the assignee: pick up the thread, ack by removing this label, once, byte-exact.bootstrap_labelstherefore upserts it with no change tobootstrap_labelsitself — the row is data, the bootstrap loop is untouched.LABELS.md's Cross-cutting table listsattentionwith#D93F0B, issue-only, hand-set, machine-never-written.attentionever starts pausing the claim clock or tripping the queue-conflict flag.actions/labels-reconcile/labels-reconcile.sh,LABELS.md, the two test files andCHANGELOG.md, and nothing else. No.github/labels.confrow, new reconciler branch, or workflow change.Worklog
🔎 reviewing head
bcee821153🔎 reviewing head
bcee821153Verdict: approve
Reviewed head
bcee821153a4a65e40dac6f34af352a94f235d6eagainst #84's acceptance criteria and D1–D5.Acceptance criteria
core_label_rows()emits the D1 row once, byte-exactattention|D93F0B|A demand is parked here for the assignee: pick up the thread, ack by removing this label(88-char description), placed besideoffsite/needs-rulingper D2bootstrap_labelsuntouched — row is data onlyLABELS.mdCross-cutting listsattention#D93F0B, issue-only, hand-set, machine-never-writtentest/labels.test.shattentionpauses claim clock or trips queue conflictclaim_clock_exempt <<<attentionisSWEEP;claimed+attentionisKEEP. Addingattentionto the exempt set makes the inertness test faillabels.conf/ reconciler branch / workflowCHANGELOG.md,LABELS.md,labels-reconcile.sh, two test filesVerification
bash test/run.sh: 15/15 files green (including the new attention cases)shellcheck-all.sh: cleanstate:addressingis intentional (D3); they cannot co-occur (PR-only machine state vs issue-only hand-set)No blocking findings. Non-blocking: none worth a builder round-trip — the PR is the minimal data+docs+pinning-tests shape the issue asked for.
Approve — reviewed at head
bcee821153a4a65e40dac6f34af352a94f235d6eagainst issue #84.Verified, not just read:
test/run.sh→ 15 test files, 0 failures.shellcheck-all.sh(33 scripts) andactionlint-all.sh(6 workflows) clean. All PR CI checks pass.attention|D93F0B|A demand is parked here for the assignee: pick up the thread, ack by removing this labelsits atlabels-reconcile.sh:396, emitted exactly once (grep -cxF= 1); description is 88 chars, under GitHub's 100.needs-ruling, besideoffsite— the hand-set-flag neighborhood, not amongstate:*/blocker:*rows.bootstrap_labelsitself untouched; the change is one data row.labels.test.shfails both new checks (byte-exact + field-split);D93F0BtoFF0000→ byte-exact check fails;attentiontoclaim_clock_exempt's exempt set →issueflow-reconcile.test.sh"attention does not exempt a claimed issue" fails.claim_clock_exempt <<<"attention"→SWEEP,queue_decision <<< claimed+attention→KEEP, both asserted.LABELS.mdCross-cutting table gains exactly one row (#D93F0B, issue-only, hand-set, never machine-written — matches the AC wording). Changelog line added under## Unreleasedabove the next heading.LABELS.mdis indocs/VENDORED.txt; the PR body correctly notes consumer mirror drift and thedocs-sync --fixrefresh path.labels-reconcile.sh,LABELS.md, the two test files,CHANGELOG.md) — no.github/labels.confrow, no reconciler branch, no workflow change. The operator bootstrap dispatch is correctly left to #83, and the PR body says so.Non-blocking observation only: D3 permits (does not require) a one-clause note on the intentional
D93F0Bcolor repeat withstate:addressing; the PR omits it, which the spec allows — the rationale lives in #84.🔎 reviewing head
bcee821153Approve — head
bcee821.Checked every acceptance criterion of #84 against the diff and by execution:
attention|D93F0B|A demand is parked here for the assignee: pick up the thread, ack by removing this labelemitted exactly once bycore_label_rows()— asserted by the newgrep -cxFtest and confirmed by running it.needs-rulingandrelease, besideoffsite— the hand-set flag neighborhood, not amongstate:*/blocker:*rows.D93F0Bis alsostate:addressing's (L386 vs L396); they can never co-occur (PR-only machine-owned vs issue-only hand-set), and no note was required.LABELS.md(D4): exactly one row in the Cross-cutting table —attention|#D93F0B| issue-only, hand-set, never written by the machine. Usage contract correctly left to #85.actions/; no reconciler branch, no.github/labels.confrow, no workflow change. Diff touches exactly the five sanctioned files (--statverified).test/labels.test.shredD93F0B→AAAAAA→test/labels.test.shredattentionadded toclaim_clock_exempt's exempt set →test/issueflow-reconcile.test.shred (attention does not exempt a claimed issuefails)test/run.shon this head fails identically toorigin/mainin this environment (7 files, all from missingnode/jqhere — pre-existing, unrelated to the diff). The two test files this PR touches pass fully:labels.test.sh11/11, and both newissueflow-reconcilechecks green (SWEEPfor claimed+attention,KEEPfor the queue decision).shellcheck/actionlintbinaries are absent locally so I could not execute those gates; the shell change is a single heredoc data row and the test additions follow the file's existing idiom including theSC2016disables.LABELS.mddrift/refresh cycle.Non-blocking nit: the new CHANGELOG line went in at the top of
## Unreleased, above the #61 entry — matches the issue's "above the heading below it" instruction and the monotonic check passes, so nothing to do.LGTM.
Closing round summary
What shipped
attention|D93F0B|A demand is parked here for the assignee: pick up the thread, ack by removing this labelrow to the shared core taxonomy, so bootstrap upserts it without changing bootstrap behavior.attentionas an issue-only, hand-set, machine-never-written cross-cutting label and added the Unreleased changelog entry.Rounds
bcee821): Grok, Claude, and Kimi approved the current head. No blocking or non-blocking change request required another code round, so the shipped head is unchanged.Verified
bcee821153a4a65e40dac6f34af352a94f235d6e.attentionclaim-clock-exempt turns the intended tests red..github/labels.conf, bootstrap-loop, or reconciler-branch change.Post-merge residue
docs-sync --fixon each consumer's next pin bump.