fix(ready): per-AC status is not recorded on the ready gate's QA phases — sequant ready and --ready-gate skip the #1525 producer, so the AC record goes stale after the gate
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
Direzione di ricerca
Read src/lib/workflow/ac-status.ts and trace the ready gate QA calls through src/lib/workflow/ready-gate.ts, src/commands/ready.ts, and src/lib/workflow/batch-executor.ts. Compare those paths with the existing producer call in the batch executor and the acceptance criteria in src/lib/workflow/ac-status.integration.test.ts. Done means ready gate QA records current AC statuses, loop recording still works, and the producer has one definition.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up of #1525 (PR #1619); QA 1's human-flagged gap. Blocked by #1525.
Problem
#1525's Done-when reads: "After a QA phase, state.json's AC items and the run log's acs[] say what QA said, per criterion." Its producer, recordAcStatuses (src/lib/workflow/ac-status.ts), has one call site: recordLoopPhaseOutcome in src/lib/workflow/batch-executor.ts, the sequant run quality loop. The ready gate's qa → loop → qa pipeline dispatches its QA phases through runPhaseTracked (src/lib/workflow/ready-gate.ts:841) via the ReadyPhaseRunner wrappers in src/commands/ready.ts:373 (sequant ready) and src/lib/workflow/batch-executor.ts:1086 (sequant run --ready-gate). None of the three calls the producer.
So sequant run is covered and sequant ready / --ready-gate are not: after a gate run, the AC record and acs[] still say what the last loop QA said, which is older than the gate's own verdict, and every renderer that reads the record (#1526) shows the stale row. ready-gate.ts holds no StateManager; ready.ts gets one from getStateManager().
Candidate fix sites, not decided here:
- The two
ReadyPhaseRunnerwrappers (ready.ts:373,batch-executor.ts:1086): two call lines, the gate module untouched. runPhaseTrackedinready-gate.ts, given aStateManagerthroughRunReadyGateOptions.executePhaseWithRetryinsrc/lib/workflow/phase-executor.ts, so every caller gets it and the loop hook atbatch-executor.tsretires: one producer, one call site. Touches #1471's file.
Acceptance Criteria
- AC-1: A QA phase run by the ready gate writes the AC record. Evidence:
npx vitest run src/lib/workflow/ac-status.integration.test.ts -t "ready gate"→≥ 1 passed, 0 failed(realStateManageron a temp dir, no fs mock; a stubReadyPhaseRunnerreturns a QAPhaseResultwhose output carries AC rows; after the gate path runs,getAcceptanceCriteria(issue).itemscarry those statuses) - AC-1 is classified as a gate test by
isGateTestEvidence; the PR body carries itsSEQUANT_MUTATIONrecord (remove the producer call from the gate path → the new case fails; restore). - AC-2: The producer keeps one definition and the loop path still records. Evidence:
grep -rn 'export async function recordAcStatuses' src --include='*.ts' | wc -l | tr -d ' '→1andnpx vitest run src/lib/workflow/ac-status.integration.test.ts→≥ 7 passed, 0 failed(the six #1525 cases plus the new one) - AC-3: No skill directory is touched. Evidence:
git diff --name-only $(git merge-base origin/main HEAD)..HEAD | grep -cE '^(plugin/|\.claude/skills/|templates/skills/)'→0(constraint)
May touch
src/commands/ready.ts, src/lib/workflow/ready-gate.ts, src/lib/workflow/batch-executor.ts (the --ready-gate wrapper and, under fix 3, retiring the loop hook), src/lib/workflow/phase-executor.ts (fix 3 only), src/lib/workflow/ac-status.integration.test.ts, CHANGELOG.
Non-Goals
- Changing what the producer parses or writes (#1525, and the
SEQUANT_ACmarker issue). - Rendering (#1526).
- No edits under
plugin/,.claude/skills/,templates/skills/(plugin freeze).
- Lingua principale
- TypeScript
- Stelle
- 1
- Fork
- 1
- Merge medio
- 10h 59m
- PR unite (30g)
- 86
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
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
sequant-io/sequant#1665 ·
I maintainer di solito rispondono entro 1 giorno
-
fix(assess): minimal-flags rule still assumes a ui label adds the test phase (stale after #1649)Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 87/100
sequant-io/sequant#1662 ·
I maintainer di solito rispondono entro 1 giorno
-
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
Tutte le issue di sequant-io/sequant
Issue simili
-
Recording drops clicks on links, filters and checkboxes that share a form with a search fieldForse già presa @columbia11 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Tencent/BrowserSkill#657 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
I maintainer di solito rispondono entro 2 giorni
-
Choosing a folder while continuing an Antigravity session submits a history fork the runtime rejectsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
-
ai-handle
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
nextlevelbuilder/dewee-web-v2#138 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
NEARBuilders/citynode.app#512 ·
I maintainer di solito rispondono entro 1 giorno