Add lifecycle labels for issues and PRs so LLMs can see ownership and process state #603

Closed
opened 2026-07-09 16:06:24 -05:00 by jcwalker3 · 1 comment
Owner

Context

Part of the LLM coordination failure series (sessions stepping on each other). This is a focused implementation issue, not an umbrella.

Related siblings: #600 (allocator uses labels as one signal), #601 (lease ownership), #602 (terminal-blocker visibility).

Problem

LLMs cannot reliably see where each issue/PR is in the workflow from labels alone. Discussion issues, active work, blocked items, review-needed items, merge-ready items, and terminal-lock blockers need visible durable state.

Required behavior

Add and enforce lifecycle labels such as:

  • type:discussion
  • type:implementation
  • type:bug
  • type:workflow-hardening
  • state:needs-triage
  • state:claimed
  • state:authoring
  • state:needs-review
  • state:reviewing
  • state:changes-requested
  • state:approved
  • state:merge-ready
  • state:blocked
  • state:terminal-blocker
  • state:merged
  • state:abandoned
  • role:author
  • role:reviewer
  • role:merger
  • hazard:stale-lease
  • hazard:workflow-contaminated
  • hazard:conflicted
  • hazard:root-mutation
  • hazard:manual-state

Note: reconcile with existing type:* / status:* taxonomy in docs/label-taxonomy.md and issue_workflow_labels.py. Prefer extending the canonical set rather than creating a conflicting parallel vocabulary. If state:* is introduced, document migration from status:* and keep one active status/state label at a time.

Acceptance criteria

  1. Issue/PR state changes update labels through sanctioned tools.
  2. Work allocator uses labels but does not trust labels alone; it cross-checks live leases and PR state.
  3. Discussion issues are clearly labeled and excluded from implementation queues unless selected by controller.
  4. Blocked items include a blocking reason and next-action comment.
  5. Tests verify label transitions for author, reviewer, merger, blocked, and merged states.

Implementation notes

  • Labels are advisory visibility + queue hints; leases and live PR state remain source of truth for mutations.
  • Create labels via sanctioned manage_labels / gitea_create_label paths only.
## Context Part of the LLM coordination failure series (sessions stepping on each other). This is a focused implementation issue, not an umbrella. Related siblings: #600 (allocator uses labels as one signal), #601 (lease ownership), #602 (terminal-blocker visibility). ## Problem LLMs cannot reliably see where each issue/PR is in the workflow from labels alone. Discussion issues, active work, blocked items, review-needed items, merge-ready items, and terminal-lock blockers need visible durable state. ## Required behavior Add and enforce lifecycle labels such as: * `type:discussion` * `type:implementation` * `type:bug` * `type:workflow-hardening` * `state:needs-triage` * `state:claimed` * `state:authoring` * `state:needs-review` * `state:reviewing` * `state:changes-requested` * `state:approved` * `state:merge-ready` * `state:blocked` * `state:terminal-blocker` * `state:merged` * `state:abandoned` * `role:author` * `role:reviewer` * `role:merger` * `hazard:stale-lease` * `hazard:workflow-contaminated` * `hazard:conflicted` * `hazard:root-mutation` * `hazard:manual-state` Note: reconcile with existing `type:*` / `status:*` taxonomy in `docs/label-taxonomy.md` and `issue_workflow_labels.py`. Prefer extending the canonical set rather than creating a conflicting parallel vocabulary. If `state:*` is introduced, document migration from `status:*` and keep one active status/state label at a time. ## Acceptance criteria 1. Issue/PR state changes update labels through sanctioned tools. 2. Work allocator uses labels but does not trust labels alone; it cross-checks live leases and PR state. 3. Discussion issues are clearly labeled and excluded from implementation queues unless selected by controller. 4. Blocked items include a blocking reason and next-action comment. 5. Tests verify label transitions for author, reviewer, merger, blocked, and merged states. ## Implementation notes * Labels are advisory visibility + queue hints; leases and live PR state remain source of truth for mutations. * Create labels via sanctioned `manage_labels` / `gitea_create_label` paths only.
Author
Owner

Canonical Issue State

STATE: ready for independent implementation
WHO_IS_NEXT: author
NEXT_ACTION: claim this issue and add/enforce lifecycle labels for ownership and process visibility
NEXT_PROMPT:

Implement #603 on Scaled-Tech-Consulting/Gitea-Tools: add lifecycle labels so LLMs can see ownership and process state. Reconcile with existing type:*/status:* taxonomy. Labels are advisory; leases and live PR state remain mutation truth.

WHAT_HAPPENED: Filed as focused coordination issue #603. Series siblings: #600 allocator, #601 leases, #602 terminal-lock early check, #604 anti-stomp preflight, #605 dashboard.
WHY: LLMs cannot reliably see workflow position from labels alone.
RELATED_PRS: none yet
BLOCKERS: none
VALIDATION: issue created with type:feature status:ready and labels workflow-hardening,labels,visibility,queue
LAST_UPDATED_BY: jcwalker3 (prgs-author)

## Canonical Issue State STATE: ready for independent implementation WHO_IS_NEXT: author NEXT_ACTION: claim this issue and add/enforce lifecycle labels for ownership and process visibility NEXT_PROMPT: ```text Implement #603 on Scaled-Tech-Consulting/Gitea-Tools: add lifecycle labels so LLMs can see ownership and process state. Reconcile with existing type:*/status:* taxonomy. Labels are advisory; leases and live PR state remain mutation truth. ``` WHAT_HAPPENED: Filed as focused coordination issue #603. Series siblings: #600 allocator, #601 leases, #602 terminal-lock early check, #604 anti-stomp preflight, #605 dashboard. WHY: LLMs cannot reliably see workflow position from labels alone. RELATED_PRS: none yet BLOCKERS: none VALIDATION: issue created with type:feature status:ready and labels workflow-hardening,labels,visibility,queue LAST_UPDATED_BY: jcwalker3 (prgs-author)
jcwalker3 added status:pr-open and removed status:ready labels 2026-07-10 15:20:35 -05:00
sysadmin removed the status:pr-open label 2026-07-10 16:05:18 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Scaled-Tech-Consulting/Gitea-Tools#603