-
Notifications
You must be signed in to change notification settings - Fork 2
fix(work-items): read frontier tier from capability-tier label (#1716) #2565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
8624b41
fix(work-items): read frontier tier from capability-tier label (#1716)
cursoragent 054258f
fix(work-items): complete capability-tier label binding for #1716
cursoragent 8c5bd52
chore(work-items): sync plugin options docs
cursoragent 63320a8
chore(work-items): bump to 0.35.20 to serialize after #1668
cursoragent ecd0b06
fix(work-items): setup capability-tier provisioning and legacy backfi…
cursoragent 626b348
fix(work-items): setup skill passes skill-quality gate after #1716
cursoragent 4fb4f87
fix(work-items): restore 0.35.19 changelog heading and repair setup e…
cursoragent 0cbb865
fix(work-items): hygiene — markdown, shellcheck SC2310, exec bit on l…
cursoragent 5ca317c
fix(work-items): shellcheck SC2310 disables and exec bit on legacy si…
cursoragent 8b7f1dc
fix(work-items): mark legacy-frontier-tier-signal.sh executable in gi…
cursoragent File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| # Capability-tier labels | ||
|
|
||
| Canonical `capability-tier:` axis members for the work-loop frontier-tier quota guard and | ||
| triage stamping. Dispatch model selection (frontier / strong / fast) is owned by the loop-lane | ||
| convention and agent frontmatter bindings; this leaf owns the **label strings** triage stamps | ||
| when an item needs the frontier tier's throughput bound. | ||
|
|
||
| ## Canonical members | ||
|
|
||
| | Label | Tier | Description | Color (GitHub) | | ||
| |-------|------|-------------|----------------| | ||
| | `capability-tier: frontier` | frontier | Work-loop frontier quota guard (concurrency 1, separate adaptive cap ceiling) | `5319E7` | | ||
|
|
||
| Discover live members through the bound adapter's label listing (GitHub: | ||
| `gh label list --search 'capability-tier:'`). An item carries **at most one** | ||
| `capability-tier:` label. The work-loop adaptive cap reads the label only — never body prose | ||
| claiming a tier. | ||
|
|
||
| **Absent label = general tier (fail-closed).** Items with no `capability-tier:` label run under | ||
| the general adaptive cap ceiling. A body or brief that mentions frontier tier is context for the | ||
| operator; it does not select the quota guard. | ||
|
|
||
| **Security-surface dispatch is separate.** Security-surface work still routes to the frontier | ||
| capability tier for model selection via work-class rules in the admission gate — that path does | ||
| not substitute for the label when the quota guard needs to bind. | ||
|
|
||
| ## Escalation | ||
|
|
||
| When an item genuinely needs the frontier quota guard and lacks the label: | ||
|
|
||
| 1. **Interactive triage** — apply `capability-tier: frontier` in the outcome edit when the | ||
| label exists in the repo. | ||
| 2. **Autonomous lane** — note the need in the triage comment and leave the label unstamped when | ||
| the repo cannot provision it; the work-loop lane treats the item as general tier until triage | ||
| (or an operator) applies the label. | ||
| 3. **Label-as-code owner** — route provisioning to that system (`melodic-software/github-iac` for | ||
| org repos). This plugin never creates the label ad hoc when label-as-code owns writes. | ||
|
|
||
| ## Migration | ||
|
|
||
| Repos adopting the frontier-tier quota guard need `capability-tier: frontier` present **before** | ||
| triage stamps it. | ||
|
|
||
| 1. **Label-as-code owner declared** — route provisioning to that system; `/work-items:setup` | ||
| validates presence only and never writes labels ad hoc. | ||
| 2. **No label-as-code owner** — `/work-items:setup apply` may create the label with an | ||
| interactive user present, using the same mechanics as the work-class axis migration. An | ||
| unattended `apply` stops with explicit remediation instead of guessing. | ||
|
kyle-sexton marked this conversation as resolved.
|
||
|
|
||
| Triage preflights the label before stamping; when absent, it reports remediation and omits the | ||
| label rather than inventing one. | ||
|
|
||
| ### Legacy body stamps (pre-#1716 backfill) | ||
|
|
||
| Before the label reader flip, `work-loop` read frontier tier from triage-briefing body prose. | ||
| Triage refuses to re-triage already-triaged output, so `/work-items:setup apply` runs a one-shot | ||
| backfill after the label axis is provisioned. A body matches the legacy signal when it carries | ||
| any of these **stamp** patterns (generic security-surface dispatch prose does not match): | ||
|
|
||
| - `Capability tier: frontier` or `capability-tier: frontier` in the briefing body | ||
| - `stamped for the frontier capability tier` | ||
| - `frontier-tier quota guard` as an item-level stamp (not dispatch-policy prose) | ||
| - `**Capability tier:** frontier` in an agent brief | ||
|
|
||
| Detection and apply mechanics live in | ||
| [`${CLAUDE_PLUGIN_ROOT}/scripts/backfill-capability-tier-labels.sh`](${CLAUDE_PLUGIN_ROOT}/scripts/backfill-capability-tier-labels.sh) | ||
| (with pattern helpers in `scripts/lib/legacy-frontier-tier-signal.sh`). The backfill pass: | ||
|
|
||
| 1. **Skips** when the bound provider is not GitHub (no label listing / bulk listing) — report INFO. | ||
| 2. **Skips** when `capability-tier: frontier` is absent from the repo — the label axis pass must | ||
| run first. | ||
| 3. **Reports** candidates via `backfill-capability-tier-labels.sh check` (read-only). | ||
| 4. **Applies** with an interactive user present: offer to run `backfill-capability-tier-labels.sh apply` | ||
| (RECOMMENDED: apply all candidates). Unattended `apply` runs `check` only and names the command | ||
| to run with a user present — never mutates items without confirmation. | ||
| 5. **Label-as-code owner** — when declared, setup validates and reports candidates only; the owner | ||
| applies labels (or the operator runs backfill after IaC lands the label). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.