Skip to content

scripts/pm/ensure-pm-labels.sh: pm:retriage missing from the four-repo pm state-machine vocabulary loop #10090

Description

@os-warren

Observation found while implementing the pm:retriage state-model row (backlink: implementation PR #10089, card #10081 — that card's scope was ruled SKILL.md-only, so this is deliberately not a rider there).

Blocked-by: #10081

scripts/pm/ensure-pm-labels.sh states in its header that "The label set IS the PM state machine (.claude/skills/pm-dispatch/SKILL.md, 'State model'): every label here is consumed by a named query or gate", and its first loop creates the full pm state-machine vocabulary across all four repos (objectstack, objectui, cloud, objectos). Once the pm:retriage row lands in the state model, that identity claim drifts: the new label is absent from the script's loop.

Functionally covered today: the SKILL.md row says the label is created on first application (triage's cross-repo duty), so nothing is broken for users — this is script/state-model drift, not a defect anyone hits. Cost of the drift: a first application on a repo where the label object does not yet exist depends on the applying seat remembering to create it, and the script's rerun can never repair the gap.

Proposed shape when graded: one gh label create pm:retriage line inside the existing four-repo loop, description kept at or under 100 characters (the script header documents the hard cap: longer descriptions 422 and the idempotency || true swallows the failure silently, so the label is never created and a rerun cannot repair it).

Duplicate check: searched open issues for ensure-pm-labels / label-vocabulary drift (zero hits; positive control on "pm:retriage" returns the parent card).


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions