run: --phases does not suppress the UI-label test phase (determinePhasesForIssue adds it to an explicit list)
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- cli
Direzione di ricerca
Il bug si trova in determinePhasesForIssue in src/lib/workflow/phase-mapper.ts, il cui ultimo blocco aggiunge test ogni volta che hasUILabels(labels) è vero, anche con una lista esplicita --phases. Segui la chiamata dal ramo esplicito di runIssueWithLogging in batch-executor.ts e controlla in config-resolver.ts come viene impostato autoDetectPhases. È completato quando --phases spec su una issue con etichetta frontend non esegue alcuna fase di test, mentre --testgen e --security-review continuano ad aggiungere le rispettive fasi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happens
sequant run 930 --phases spec ran a test phase after spec. The cause is not the spec marker (first guess, corrected after reading the code): determinePhasesForIssue in src/lib/workflow/phase-mapper.ts appends test whenever hasUILabels(labels) is true, and it runs on the explicit --phases list too. #930 carries the frontend label; the other three issues in the batch do not and ran spec only.
Evidence (sequant 2.20.0, admarble/matcha-maps)
Run header:
Phases spec
Mode parallel (concurrency: 1)
Issues #1101, #1019, #929, #930
For #930 only (labels: frontend, planned, performance):
[23:34:14] ✔ #930 spec 55s
[23:34:14] ▸ #930 test
...
**Summary:** 0/1 tests passed. AC-7, the only browser test, is BLOCKED because the feature isn't implemented on this branch.
[23:34:47] ✔ #930 test 33s
#930 ✔ passed spec → test
Code path (dist 2.20.0): config-resolver.ts sets autoDetectPhases = !cliOptions.phases && settings.run.autoDetectPhases, so label detection is correctly off. But batch-executor.ts runIssueWithLogging then takes the explicit branch, "Use explicit phases with adjustments", and calls determinePhasesForIssue(config.phases, labels, options), whose last block is:
// Auto-detect UI issues and add test phase
if (hasUILabels(labels) && !phases.includes("test")) { ... phases.push("test"); }
That block ignores whether the phase list was explicit. The same function also honours --testgen and --security-review, which are flags the user passed, so those two adjustments are expected; the label one is not.
Why it matters
A coordinator that runs spec batches to compare file lists before picking a wave expects spec-only cost and no implementation-side phases. Here the extra phase was cheap (33 s, a blocked result) but it posted test output against an unimplemented branch and would have run a browser test had one been possible. The earlier label case (an unrequested test phase on #857 in a spec-only batch) was the same block; passing --phases explicitly was adopted as the workaround and does not work for this path.
Ask
In determinePhasesForIssue, skip the UI-label test insertion when the phase list came from --phases (for example, pass options.autoDetectPhases or an explicit flag and gate the block on it), or move that block into detectPhasesFromLabels where the other label logic lives. A Phases adjusted: log line is printed today, so the behaviour is visible, but a user who wrote --phases spec did not ask for test.
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 1
- Merge medio
- 11h 3m
- PR unite (30g)
- 84
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 sequant-io/sequant
-
graph-2026-11-simplify
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
sequant-io/sequant#1650 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
sequant-io/sequant#1601 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
sequant-io/sequant#1582 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
sequant-io/sequant#1381 ·
I maintainer di solito rispondono entro 1 giorno
-
improve(skills): /loop and /fullsolve run affected tests, not the full npm test (#1349 follow-up)Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
sequant-io/sequant#1360 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di sequant-io/sequant
Issue simili
-
FR: Support CJK brackets, symbols and full-width markers in footnoteHeuristics (EBPAJ support)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
readest/readest#7413 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
content triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
eliasstravik/herdr-projects#788 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Ability to edit tagsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno