Repository navigation
feat(work-items): detect whether the tracker stores status in the Work status field or in labels #11123
Copy link
Copy link
Closed
feat(work-items): detect whether the tracker stores status in the Work status field or in labels#11123
Feature
Copy link
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.Refactors, migrations, contract changes; cross-cutting and hard to reverse.
Description
Refs: #7577
Agent Brief
Type: Feature
Summary: The work-item tracker reports where an item's status is stored: the Work status organization issue field when the tracker offers it, else labels. This is the parent's status-field-adapter slice.
Current behavior:
plugins/work-items/tools/work-item-tracker/CONTRACT.md(around :235-255) definesset-fieldsandget-field-optionsover organization issue fields, read fromGET /orgs/{org}/issue-fields. Only the GitHub adapter implements them.- No verb or capability tells a caller whether status is a field or labels; every status reader and writer uses labels.
- work-items: probe org issue field for work status #7600 recorded the probe: the org field is
Work status(single-select; optionsneeds-triage,needs-reporter-info,needs-owner-decision,needs-spec,agent-ready), and a token withissues: writecan set it.
Desired behavior:
- The tracker exposes status storage detection (verb or capability name left to the implementer, documented in
CONTRACT.md). - The
githubadapter reports field storage when theWork statusorganization issue field exists, read from the same issue-fields listingset-fieldsuses. It reports labels when the field is absent, or when the listing cannot be read (user-owned repository, noread:org). - The
local-markdownadapter always reports labels.
Done when
-
CONTRACT.mddocuments the detection and its output. - Conformance or tracker test cases, fixtures only, cover: github with the field present (field), github with it absent (labels), github with the listing unreadable (labels), and local-markdown (labels).
- The tracker test suite and the conformance suite pass for
githubandlocal-markdown. -
scripts/check-changelog-fragments.shpasses with a work-items fragment.
Out of scope:
- The
agent-readylabel migration and movingwork-resolve-issue.yml's trigger toissues: field_added(the parent's status-migration slice). - Creating or changing organization issue fields (owner stop).
Metadata
Metadata
Assignees
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.Refactors, migrations, contract changes; cross-cutting and hard to reverse.
Type
Fields
No fields configured for Feature.
Activity
github-actions commentedon Oct 30, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; a maintainer confirms or changes it.
Size: Medium
Complexity: Low
Uncertainty: Known
Flags: none
Blocked by: none
Understood: add status-storage detection to the work-item tracker. The github adapter reports "field" when the
Work statusorganization issue field exists and "labels" when it is absent or the listing is unreadable. The local-markdown adapter always reports "labels". The detection and its output are documented in CONTRACT.md, with fixture-only test cases for the four scenarios and a work-items changelog fragment. The scope and done-when items are clear, and I found no likely duplicate among the open issues.Automated triage. A maintainer reviews it.