Epic: every consumer has the ceremony labels automation adopted #90
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#90
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?
Standing tracker that every
heavy-duty/ceremonyconsumer has adopted thelabels automation identically — the reusable caller pinned to a ceremony
tag,
.github/labels.conf+.github/labeler.yml, and a bootstrappedtaxonomy — per
docs/CONSUMERS.md.A consumer that carries the vendored
.ceremony/doctrine but never wired thelabels caller silently has none of the issue-flow guarantees in
LABELS.md. That is exactly what we just hit on incubator (found duringits
0.1.0deploy work:ready/claimeddidn't exist, so a builder couldnot claim an issue by label and had to fall back to assignee + comment).
Doctrine vendored, machinery missing — an invisible half-adoption.
"Properly set up" (verified per repo)
.github/workflows/labels.ymlpresent,uses: heavy-duty/ceremony/.github/workflows/labels.yml@<current tag>.github/labels.conf(panel + scopes) and.github/labeler.ymlpresentready/claimed/blocked/needs-triage/epic+state:*/blocker:*+stale/merge-next/release, plus the consumer's ownscope:*Consumers
labels.yml@0.1.0,labels.conf,labeler.yml, taxonomybootstrapped ✅ (verified 2026-07-23)
labels.yml@0.1.0,labels.conf,labeler.yml, taxonomybootstrapped ✅ (verified 2026-07-23)
labels.yml@0.1.0,labels.conf,labeler.yml, taxonomybootstrapped ✅ (verified 2026-07-23)
labels.yml@0.1.0,labels.conf(panel + sevenscopes),
labeler.yml, taxonomy bootstrapped ✅ (verified 2026-07-2321:05Z), via heavy-duty/incubator#31 → heavy-duty/incubator#32, closed
20:08Z; bootstrap dispatch green at 20:15Z
(run 30041309187).
One residual, and it is not incubator's:
good first issuesurvivedthe dispatch, because
bootstrap_labels()never deletes anything eventhough
LABELS.mdsays the six default labels are retired there. That isa ceremony machinery gap, filed as
ceremony#93; incubator
clears it with a second dispatch once #93 lands and it bumps its pin. The
other four consumers show no defaults only because a human deleted
theirs.
Beyond the current set
New consumers inherit this: adoption is not done until the CONSUMERS.md labels
checklist is green. Worth a lightweight guard so a consumer can't silently
ship the
.ceremony/mirror without the caller — an adoption audit (ascheduled check, or a CONSUMERS.md verification step in the sync tool) would
have caught incubator before a builder tripped over it. Filed as a follow-up
thought, not blocking the per-repo work above.
Relation
incubator's unbootstrapped taxonomy also blocks triaging its open issues with
Dischargedready— heavy-duty/incubator#30, #26 and #23 today.2026-07-23 21:05Z. The 20:06Z reading below was true for nine minutes: the
bootstrap dispatch landed at 20:15Z and incubator's board is labelable now —
#30 closed 20:36Z carrying
claimed, #23 carriesclaimed+scope:core+scope:adminwith its assignee, #26 carriesepic. #27 was named here at19:07Z and closed at 19:15Z (commit
6796654, via heavy-duty/incubator#32).Of the defaults, only
good first issuesurvives, and that isceremony#93, not an
adoption gap.
The 20:06Z reading (superseded)
Verified 2026-07-23 20:06Z: incubator still carries only the default GitHub set
plus
bug,documentation,enhancement,release; none ofready/claimed/blocked/needs-triage/epicexists, and the defaults thisepic says to retire (
duplicate,good first issue,help wanted,invalid,question,wontfix) are all still present.Closed 2026-07-23 21:05Z — every consumer in the set is adopted
Triage close-out. All four consumers now carry the caller pinned at
0.1.0,labels.conf+labeler.yml, and a bootstrapped taxonomy; incubator, the oneopen box, closed today via heavy-duty/incubator#31 → #32 with its dispatch
green at 20:15Z. The half-adoption this epic was opened to end — vendored
.ceremony/doctrine with no labels machinery behind it — no longer exists inthe family.
What this epic deliberately does not carry forward, so nothing is lost by
closing it:
good first issueon incubator) is aceremony machinery defect, not an adoption gap, and lives on
ceremony#93.
bootstrap is dispatch-only and no agent identity holds
actions: writethere. That is an operator button, tracked as a standing item on
ceremony#1, not work.
idea, not a spec — it belongs in a discussion before it becomes an issue, and
a bare "worth a guard" line does not meet the issue contract.
board is labelable: #30 closed 20:36Z, #23 carries
claimed+scope:*withits assignee, #26 carries
epic. #27 was already discharged at 19:15Z.A future consumer is a fresh issue against
docs/CONSUMERS.md's checklist,not a reopen of this one. Closing rather than leaving a green tracker open: an
epic whose every box is checked tells a board scan there is work here when
there is none.
Closing: every consumer in the set is adopted.
incubator was the one open box and it closed today — incubator#31 → incubator#32 brought the caller at
0.1.0,labels.conf(panel + seven scopes) andlabeler.yml, and the bootstrap dispatch went green at 20:15Z (run 30041309187). Verified against the live repo at 21:05Z, not on report: the full core taxonomy is there, all four issue-queue labels included, and the board is labelable — incubator#30 closed 20:36Z carryingclaimed, #23 carriesclaimed+ its scopes with an assignee, #26 carriesepic. The half-adoption this epic existed to end — vendored.ceremony/doctrine with no machinery behind it — no longer exists in the family.One thing the dispatch turned up, and it is ours, not incubator's:
good first issuesurvived a green bootstrap.LABELS.mdsays the six default labels are deleted there;bootstrap_labels()only upserts, and nothing in the tree deletes a label at all. incubator is simply the first consumer bootstrapped by the machine rather than cleaned by hand, so it is the first honest read. Filed as #93.The rest is tracked where it belongs and not held here: the four queue labels still missing on box, rig and cast are an operator button on #1 (dispatch needs
actions: write, which no agent identity holds there); the adoption-audit guard floated under Beyond the current set is an idea, not a spec, and owes a discussion before it owes an issue. A future consumer is a fresh issue against the CONSUMERS.md checklist, not a reopen of this one.Left open, this reads to a board scan as work remaining when every box is checked. — triage 2026-07-23 21:05Z