feat(work-items): republish v2 plugin from post-seam provider-neutral core#121
Conversation
feat(work-items): republish v2 plugin from post-seam provider-neutral core Re-plumbs the work-items plugin skill onto the provider-neutral work-item-tracker seam (GitHub the bound adapter today), replacing the v1 inline-gh, label-based hold->verify->claim implementation. - Skill content synced from the post-seam core: coordination routes through `tools/work-item-tracker/work-item-tracker.sh <verb>` (create, claim, renew/reclaim lease, links, sub-items, frontier); provider mechanics reference the bound adapter. Zero inline gh in the core. - Claiming is now assignee + lease comment, race-safe via lease-comment identity, with idempotent session-start reclaim. The status:considering / status:claimed hold protocol is retired for claiming. - Applied the standard publish de-couple transform: stripped medley path/name coupling (docs/adr, AGENTS.md, tools/shared/comment-hygiene, review/code-quality, recurring-issues.yml, .github/scripts, doc-drift-detector, .claude/rules/conversational-mechanics Primitives, DD design-decision tags, concrete medley label values) to the generic consumer-context forms established by v1; kept the consumer-convention seam paths and the optional .github/recurring-schedule.json. - version 0.1.0 -> 0.2.0; new CHANGELOG.md; provider-neutral plugin.json description/keywords, README, root catalog row, and marketplace tags. - agent-brief template relocated to reference/; research/ excluded. Refs melodic-software/medley#1340 @
chore(work-items): genericize example usernames in skill docs De-couple prose-level examples (@kyle -> @agent1) to match the generic placeholders used elsewhere in the skill. Refs melodic-software/medley#1340 @
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_81d03327-e19b-4213-862c-ba09683dfc6c) |
|
Claude finished @kyle-sexton's task in 5m 8s —— View job PR Review: feat(work-items): republish v2 plugin from post-seam provider-neutral coreTasks
OverallThe seam abstraction is well-designed — routing every coordination operation through Findings1.
|
| # | Severity | File | Issue |
|---|---|---|---|
| 1 | High | start.md L55, L59 |
origin/main hardcoded; repo-agnosticism violation |
| 2 | High | label-taxonomy.md L16 |
needs-human not in Meta group; HITL exclusion silently broken |
| 3 | Medium | add.md L8 vs L42 |
Template header describes sections the template doesn't produce |
| 4 | Medium | add.md L65 |
--body "{body}" drops shell-injection safety guidance |
| 5 | Medium | work.md L41 |
<sort-by> jq placeholder unexplained |
| 6 | Low | triage.md L67–68 |
status:considering → status:claimed is a dead path post-seam (carry-over, add a callout) |
| 7 | Low | done.md L24, work.md L40 |
Bare relative schedule path; drops $CLAUDE_PROJECT_DIR safety |
There was a problem hiding this comment.
Stale comment
Risk: medium. Did not approve because Cursor Bugbot completed with skip status (usage limit reached), so the required automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77008926b5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Shell-safe body on create-item: write the composed body to a temp file via the Write tool and pass it argv-safe (the file content is one literal argument, never re-parsed) instead of inlining generated text that could contain quotes, backticks, or command substitution. Restores v1's body-file safety since the seam create-item takes no body-file flag. - Optional recurring schedule now degrades gracefully: guard every .github/recurring-schedule.json read with an existence check and root it at the project directory across stats/done/search/audit/work/due/recheck, so the default stats dashboard (and other actions) no longer fail in repos without recurring setup or when invoked from a subdirectory. - Qualify command references to the installed plugin form /work-items:work-items <action> (the bare form does not route in plugin form; matches the plugin README). Refs melodic-software/medley#1340
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b6f1f259-1cee-4e72-82f0-41dca1b30abd) |
|
Claude finished @kyle-sexton's task in 2m 36s —— View job PR Review: feat(work-items): republish v2 plugin from post-seam provider-neutral coreTasks
What the latest commit fixed
Still open from the previous Claude review1.
|
There was a problem hiding this comment.
Stale comment
Risk: medium. Did not approve because Cursor Bugbot completed with skip status (usage limit reached), so the required automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 22b27a28ef
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- decompose: route the generated slice body through the same temp-file / argv-safe path as add, so plan/PRD text containing backticks or command substitution cannot be shell-expanded when publishing slices. - work: guard the recurring-tier jq with an existence check so ordinary non-recurring pickup does not fail in repos without a recurring schedule (rooting alone still ran jq against a missing file). - add: the create example now passes the resolved label list built in the Build-labels step (including the default priority) instead of a hardcoded type:chore,category:general, so flagged/default taxonomy labels are applied. - due: the orphan pass now filters to due entries (next_due <= today) before flagging missing items, so a healthy future entry is not reported orphaned. - checklist: align the add reminder with the argv-safe body-file pattern. Refs melodic-software/medley#1340
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_8f6e9b34-81e6-443b-939f-744dbc7e1557) |
|
Claude finished @kyle-sexton's task in 2m 25s —— View job PR Review: feat(work-items): republish v2 plugin from post-seam provider-neutral coreTasks
What the latest commit fixed
Still openFour findings from the prior Claude review remain unaddressed. 1.
|
There was a problem hiding this comment.
Stale comment
Risk: medium. Did not approve because Cursor Bugbot completed with skip status (usage limit reached), so the required automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 59d05a74cd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
audit only flags a recurring entry as orphaned once next_due <= today, matching the due action, so healthy future entries are not false-flagged. Refs melodic-software/medley#1340
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_01ad9fe2-7fb4-4df7-94b7-9d115741790d) |
|
Claude finished @kyle-sexton's task in 3m 11s —— View job PR Review: feat(work-items): republish v2 plugin from post-seam provider-neutral coreTasks
What
|
| Finding | Status |
|---|---|
Codex P2 — audit.md orphan check flagging healthy future entries |
✅ Fixed — filter now scoped to select(.next_due != null and .next_due <= $today) before cross-referencing |
The fix is correct and self-documenting: the inline prose update alongside the code change explains exactly why only due entries can be orphaned.
Still open
Six findings from prior rounds remain unaddressed across four commits.
1. start.md L55, L59 — origin/main hardcoded (High)
Both branch-suggestion lines still emit:
git checkout -b <type>/<N>-<slug> origin/main
This has been unchanged across all five commits. Repos on master, develop, or any other default branch will receive an invalid checkout command, violating CLAUDE.md's repo-agnosticism rule. work.md Step 5 delegates to start.md's branch protocol verbatim and inherits the defect. checklist.md L9 also hardcodes from origin/main in the work-action checklist.
2. label-taxonomy.md L16 — needs-human absent from Meta group (High)
label-taxonomy.md L16 still lists Meta members as:
`automated`, `recurring`, `agent-ready`, `good-first-issue`, `migrated`, `stale`
decompose.md now explicitly states that needs-human is the HITL exclusion mechanism — "merely omitting agent-ready does NOT" — making this omission more impactful than before. An agent validating labels against the taxonomy before calling create-item will reject needs-human as unknown, leaving HITL slices eligible for list-frontier --autonomous pickup.
3. checklist.md L38–41 — Recheck section describes the retired v1 flow (Medium)
## Action: recheck
- [ ] Search items with `recheck:` body lines older than threshold
- [ ] For each, evaluate trigger; close-with-comment OR re-open per outcome
- [ ] Update item body with re-check timestamprecheck.md describes a completely different flow: find the entry in .github/recurring-schedule.json, update last_checked and next_due in the schedule file, then close the associated recurring item. The checklist's "search for recheck: body lines / update item body" path is the retired v1 protocol. An agent following the checklist will skip advancing next_due, leaving the recurring item perpetually due on every subsequent run.
4. add.md L8 — Template header describes sections the template doesn't produce (Medium)
The "Body template" bullet at L8 still promises ## Context, ## Proposed work, ## Acceptance criteria, and ## References. The actual template at L42–58 produces ## Description, optional ## Context (only when --context is passed), optional ## Recurring, and ## Metadata. An agent reading "Defaults applied" will try to populate structure that the template doesn't deliver.
5. work.md L42 — <sort-by> placeholder unexplained (Medium)
'[.items[] | select(.next_due != null and .next_due <where_expr> $today)] | sort_by(.<sort-by>)'L45 explains <where_expr> but <sort-by> has no companion note. Both recurring tiers sort by next_due (tier 1: "sorted by next_due"; tier 4: "prefer closest to next_due"). Inline .next_due directly or add a note alongside the <where_expr> explanation.
6. Seam invocations relative to CWD, not project root (Low)
All seam invocations across start.md, work.md, add.md, audit.md, decompose.md etc. use:
tools/work-item-tracker/work-item-tracker.sh <verb>Schedule file reads were fixed to use $CLAUDE_PROJECT_DIR (e.g. audit.md L28), but the seam script itself is still a relative path. If an agent is in a subdirectory when the skill runs, every seam call fails before the adapter is reached. The same CLAUDE_PROJECT_DIR-anchored pattern applied to the schedule reads should be documented for the seam path — either in each action or in a shared SKILL.md preamble note.
Deliberate carry-over (no action needed)
triage.md L67–68 (status:considering → status:claimed is a dead path post-seam) remains explicitly deferred to the label-reconciliation migration per done.md. No change expected here.
Summary table
| # | Severity | File | Issue |
|---|---|---|---|
| 1 | High | start.md L55, L59; checklist.md L9 |
origin/main hardcoded; repo-agnosticism violation |
| 2 | High | label-taxonomy.md L16 |
needs-human absent from Meta group; HITL exclusion silently broken |
| 3 | Medium | checklist.md L38–41 |
Recheck section describes the retired recheck: body-lines v1 flow |
| 4 | Medium | add.md L8 |
Template header describes sections the template doesn't produce |
| 5 | Medium | work.md L42 |
<sort-by> jq placeholder unexplained |
| 6 | Low | All skill action files | Seam invocations relative to CWD; no $CLAUDE_PROJECT_DIR anchor |
There was a problem hiding this comment.
Stale comment
Risk: medium. Did not approve because Cursor Bugbot completed with skip status (usage limit reached), so the required automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 21737377ab
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_09b04f6e-8c5c-47a7-9222-0de3dd9dec8d) |
|
Claude finished @kyle-sexton's task in 1m 45s —— View job PR Review: feat(work-items): republish v2 plugin from post-seam provider-neutral coreTasks
What
|
There was a problem hiding this comment.
Stale comment
Risk: medium. Did not approve because Cursor Bugbot completed with skip status (usage limit reached), so the required automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb29687021
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_48f42e0d-d693-44c8-9fd8-5f9f4e6b5c23) |
|
Claude finished @kyle-sexton's task in 1m 43s —— View job PR Review: feat(work-items): republish v2 plugin from post-seam provider-neutral coreTasks
What
|
There was a problem hiding this comment.
Stale comment
Risk: medium. Did not approve because Cursor Bugbot completed with skip status (usage limit reached), so the required automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 695f331305
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_54878d02-1941-47df-8980-769ce1dfa040) |
|
Claude finished @kyle-sexton's task in 1m 40s —— View job PR Review: feat(work-items): republish v2 plugin from post-seam provider-neutral coreTasks
What
|
| # | Severity | File | Issue |
|---|---|---|---|
| 1 | High | start.md L55, L59; checklist.md L9 |
origin/main hardcoded; repo-agnosticism violation |
| 2 | High | label-taxonomy.md L16 |
needs-human absent from Meta group; HITL exclusion silently broken |
| 3 | Medium | add.md L8 |
Template header describes sections the template doesn't produce |
| 4 | Medium | work.md L42 |
<sort-by> jq placeholder unexplained |
There was a problem hiding this comment.
Risk: medium. Did not approve because Cursor Bugbot completed with skip status (usage limit reached), so the required automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole human repository contributor.
Sent by Cursor Approval Agent: Pull Request Router and Approver
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 74ed92c012
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Route ccp's remaining GitHub-hosted control-plane lanes through the governed runner selector to the self-hosted fleet, ending hosted-minute spend on this private repo: - ci.yml ci-status and pr-title.yml pr-title: the fail-closed required gateways route via the selector instead of a fixed ubuntu-24.04 runner (fail-closed on selector/fleet outage is the accepted tradeoff). - pr-title validate-pr-title: bump semantic-pr to its runner-input variant, passing runner + prerequisite-result. - link-check: migrate to the runner-input link-check reusable behind a select-runner job; retire the strict-policy pause. - Add do-not-merge and pr-issue-linkage callers (ci-workflows#120/#121), both routed through the selector. - Drop all .github/runner-policy.json hosted exceptions (now zero). Refs melodic-software/github-iac#78. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01K3QehVwmWzkBLpKokNCkkt Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Route ccp's remaining GitHub-hosted control-plane lanes through the governed runner selector to the self-hosted fleet, ending hosted-minute spend on this private repo: - ci.yml ci-status and pr-title.yml pr-title: the fail-closed required gateways route via the selector instead of a fixed ubuntu-24.04 runner (fail-closed on selector/fleet outage is the accepted tradeoff). - pr-title validate-pr-title: bump semantic-pr to its runner-input variant, passing runner + prerequisite-result. - link-check: migrate to the runner-input link-check reusable behind a select-runner job; retire the strict-policy pause. - Add do-not-merge and pr-issue-linkage callers (ci-workflows#120/#121), both routed through the selector. - Drop all .github/runner-policy.json hosted exceptions (now zero). Refs melodic-software/github-iac#78. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01K3QehVwmWzkBLpKokNCkkt Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Wave 3 per-repo floor conversion (melodic-software/github-iac#78, 2026-07-16 owner override): converts every remaining hosted control-plane lane to governed selector routing — claude-code-plugins ends with ZERO runner-policy exceptions. No linked issue. ## What - `ci.yml`: ci-status aggregate routes with `if: ${{ !cancelled() }}` (fails closed through execution on the hosted fallback, never by skipping); the workflow-schema `files:` list gains the two new callers. - `pr-title.yml`: the required-check status wrapper routes to the fleet; semantic-pr pin bumped to `51012e2` with `prerequisite-result` (`if: ${{ always() }}` per the validator's fail-closed reporter contract). - `link-check.yml`: select-runner added; pin bumped to the `3dfb184` runner-input variant; retired the `CI_RUNNER_POLICY != self-hosted-only` pause guard. - New `do-not-merge` + `pr-issue-linkage` callers (melodic-software/ci-workflows#120 / #121 rollout): `pull_request_target` + `merge_group`; execute on the hosted fallback until melodic-software/ci-workflows#130 admits those events. - `runner-policy.json`: all 3 exceptions dropped → `"exceptions": {}`. ## Verification - Local `runner-policy.mjs` run (CI env parity): clean; the two new callers' contracts landed via the standards sync (#236) already merged to main. - actionlint clean; every converted `runs-on` keeps the `|| 'ubuntu-24.04'` fallback (epic decision 4). ## Related - melodic-software/github-iac#78 (epic — Wave 3) - melodic-software/ci-workflows#120, melodic-software/ci-workflows#121, melodic-software/ci-workflows#130 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01K3QehVwmWzkBLpKokNCkkt Co-authored-by: Claude Fable 5 <noreply@anthropic.com>


What
Republishes the
work-itemsplugin (0.1.0 → 0.2.0) from the post-seamprovider-neutral core. v1 was a GitHub-Issues skill with inline
ghand alabel-based hold→verify→claim protocol; v2 routes every tracker operation through
the work-item-tracker seam (GitHub the bound adapter today).
Changes
lease, dependency links, sub-items, frontier selection, single-item fetch) calls
tools/work-item-tracker/work-item-tracker.sh <verb>; provider mechanics(filtered listing, search, aggregation, close, label/comment edits) reference the
bound adapter's operations doc. Zero inline
ghin the skill core.identity, with an idempotent session-start
reclaim. Thestatus:considering/status:claimedlabel hold protocol is retired for claiming.every medley path/name/subsystem reference to the generic consumer-context forms
v1 established:
docs/adr/*,AGENTS.md,tools/shared/comment-hygiene/*,review/code-quality.md,recurring-issues.yml,.github/scripts/*,doc-drift-detector,.claude/rules/conversational-mechanics.md"Primitive N",UBIQUITOUS-LANGUAGE.md,DD*design-decision tags, concrete medleyarea:/category:/ecosystem:label values,team.yaml, and example usernames. Keptthe consumer-convention seam paths (
tools/work-item-tracker/…,.work-item-tracker.json) and the optional.github/recurring-schedule.json.version 0.1.0 → 0.2.0; newCHANGELOG.md; provider-neutralplugin.jsondescription/keywords, plugin
README.md, root catalog row, and marketplace tags.reference/agent-brief.md; the core's internalresearch/tree is excluded.Deliberate non-fixes (flagged, not bugs)
triage.mdstill routesstatus:needs-triage → status:considering → status:claimedas triage states, whileSKILL.md/start.md/done.md/evalsdescribe those labels as retired for claiming. This contradiction lives in
the post-seam core being republished from;
done.mdexplicitly defers it to"the label-reconciliation migration, not here." Reconciling it here would redo
that migration and diverge the plugin from its source core — out of scope for a
republish.
repo to supply
tools/work-item-tracker/and bind a provider in.work-item-tracker.json. Generic-consumer seam distribution is a deferreddesign item (the setup/config-wizard idea). Consequence: the migration-gate
step-8 "works in a clean repo that isn't the source" proof is N/A pending seam
distribution — not assumed-passed. medley (the sole consumer today, which keeps
the seam) works now.
Validation
claude plugin validate --strict(catalog + plugin manifests) — passscripts/validate-plugins.sh— passrun-plugin-tests.sh: nothing to run (skill-only plugin, no shell tests)Refs melodic-software/medley#1340
Note
Medium Risk
Breaking 0.2.0 requires an external seam in every consumer repo and changes multi-agent claim semantics; misconfiguration or the triage vs claim label doc split could confuse agents until consumers adopt the seam.
Overview
Republishes
work-itemsat 0.2.0 — the skill is no longer a GitHub-Issues layer with inlinegh; tracker work goes through the consumer-providedwork-item-trackerseam (work-item-tracker.shverbs + bound adapter ops). Catalog,plugin.json, README, and new CHANGELOG document the breaking shift.Claiming and selection change materially. The label hold→verify→claim flow is retired for
work/start/auditin favor of assignee + lease comment, session-startreclaim, andlist-frontierfor auto-pick.ghallowed-toolsand pre-computed dashboard blocks are removed; creates usecreate-item, anddecomposecan set native--blocked-byedges withneeds-humanvsagent-ready.Docs are generalized to provider-neutral “work item” language, seam/adapter routing, and consumer paths (
.work-item-tracker.json, optional.github/recurring-schedule.json). Checklists, evals, and integration hooks (/workflow,/pull-request,/retro) are updated to match.Install caveat: the seam is not bundled — repos must supply
tools/work-item-tracker/themselves.triage.mdstill documentsstatus:considering/status:claimedtriage transitions while claiming docs say those labels are retired for claims (carried from source core, per PR notes).Reviewed by Cursor Bugbot for commit 74ed92c. Bugbot is set up for automated code reviews on this repo. Configure here.