issue-backlog-stats: STALE-CANDIDATE is listed as a triage class but defined as orthogonal
I maintainer di solito rispondono entro 1 giorno
@sharpca ci sta già lavorando.
Dal 21/10/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- markdown, python
- Ambito
- devtools, testing-qa
Direzione di ricerca
Start with the Step 2 class table and the Step 3 bucket definition in skills/issue-backlog-stats/SKILL.md, then the output spec at tools/skill-evals/evals/issue-backlog-stats/step-2-classify/fixtures/output-spec.md. Check whether the Step 5 render section or the spec-loop spec also lists five classes. Done means the skill and spec treat staleness only as the is_stale_candidate flag, and the case-4 fixture passes in the eval runner.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What's broken
The issue-backlog-stats skill contradicts itself about what STALE-CANDIDATE is.
Step 2 of the skill tells the model to give each issue exactly one triage class. The table of classes has five rows, and STALE-CANDIDATE is one of them. But the same row says staleness is "orthogonal" and that a stale issue should be counted under its real class as well.
Those two instructions cannot both be followed. Sonnet follows the first one. Opus and Fable follow the second one. The eval fixture expects the second one, so Sonnet fails it.
Which layer
Skill: skills/issue-backlog-stats/SKILL.md.
Two places treat STALE-CANDIDATE as a class:
- The Step 2 class table, in the
STALE-CANDIDATErow. - The Step 3 bucket definition, which says "issues with class
STALE-CANDIDATE".
The eval output spec has the same problem. It lists STALE-CANDIDATE as an allowed value of triage_class, and then says staleness belongs in the separate is_stale_candidate boolean. File: tools/skill-evals/evals/issue-backlog-stats/step-2-classify/fixtures/output-spec.md.
How to reproduce
Run the suite with Sonnet on main at 399ab1bc:
PYTHONPATH=tools/skill-evals/src python3 -m skill_evals.runner \
--cli "claude -p --model claude-sonnet-5-5" tools/skill-evals/evals/issue-backlog-stats/
The case step-2-classify/case-4-stale-candidate fails every time. I ran it 10 times and got the same diff on all 10:
$.triage_class: expected='UNTRIAGED', actual='STALE-CANDIDATE'
The fixture is an untriaged issue that was last updated 216 days ago, with warn_days set to 90.
For comparison, Opus and Fable each pass this case on 10 of 10 runs. The full runs are in the suite's Run history table, added in #1626.
Expected vs actual
Expected: triage_class is UNTRIAGED and is_stale_candidate is true.
Actual from Sonnet: triage_class is STALE-CANDIDATE.
The fixture is right and the Step 2 table is wrong. The rest of the skill already treats staleness as a flag, not a class:
- Step 3 counts stale candidates using
is_stale_candidate. - The untriaged-funnel rule in Step 3 selects issues that are
UNTRIAGEDand not stale. That only makes sense if an issue can be both.
Suggested fix
- Remove the
STALE-CANDIDATErow from the Step 2 class table, leaving four classes that do not overlap. - Under the table, add one line saying
is_stale_candidateis a separate flag set whendays_since_updated >= warn_days. - Reword the Step 3 bucket to count issues where that flag is set.
- Remove
STALE-CANDIDATEfrom thetriage_classvalues in the step-2 output spec. - Leave the case-4 fixture as it is.
Surface area (optional)
- I have not checked Step 5 (render) or the spec-loop spec for this skill. If either assumes five classes, the fix needs to touch them too.
- This edits
SKILL.md, so it needs ameasured_tokensrestamp and an eval rerun. Sonnet is the model that needs to go from failing to passing. - Same kind of problem as #1615: the eval failure points at the prompt, not the fixture.
- Lingua principale
- Python
- Stelle
- 124
- Fork
- 114
- Merge medio
- 14h 39m
- PR unite (30g)
- 370
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/magpie
-
feat(hook-manager): add Step P.3b eval suite for hook-manager shim skipping (#1838 follow-up)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Import skills use a security-issue-import vetted-ops caller that no policy template declaresForse già presa @KatalKavya96 l’ha presa 7 giorni fa. Apertagood first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
apache/magpie#1731 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-2 giorni Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
apache/magpie#1887 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/magpie
Issue simili
-
ready-for-agent tooling
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
KRoperUK/smeg-plus-patches#249 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
monzta1/ToneCommand#293 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
oracle/graalvm-reachability-metadata#11318 ·
I maintainer di solito rispondono entro 1 giorno
-
area: parser bug difficulty: easy
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
hayagrivai-labs/phantom#150 ·
I maintainer di solito rispondono entro 1 giorno
-
test: cover markdown.py summary items in numeric difference table and fallback number escapingApertadifficulty: easy good first issue help wanted mentor available testing
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
hayagrivai-labs/sciproof#179 ·
I maintainer di solito rispondono entro 1 giorno