feat(comments): `renderIssueComment` owns comment layout — headline and AC table visible, everything else in one `<details>` block; adopted by the QA verdict, merge-check and review-residue builders; hidden `sequant comment render` for skills
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
- 42/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
- Ambito
- developer-experience, tooling
Direzione di ricerca
Read the existing buildQaVerdictComment implementation in src/lib/workflow/batch-executor.ts and the builders in src/lib/merge-check/report.ts and src/lib/workflow/review-residue.post.ts. Then inspect the parser coverage in src/lib/workflow/batch-executor.test.ts and the specified merge-check tests. Done means all three builders use the shared renderer, the new CLI command handles fixture input, and the listed Vitest checks pass without changing skill directories.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Epic: graph-2026-10-ergonomics Tier: mechanical Execution: sequant_run Blocked by: #1602, #1521 (both edit buildQaVerdictComment; #1525 parses its output)
- Blocked by: #1602
- Blocked by: #1521
Problem
Across 15 recently completed issues the generated comments total 130k characters (spec comments 4.5k–14k each, QA reviews up to 9.6k). Every later phase and the owner re-read them. No skill or TS builder uses <details>. Layout is decided by whichever skill or function writes the comment, which is the prose-geometry defect #823 removed from the assess dashboard. §5 D-3.1 of the founding doc.
Decisions
| ID | Decision | Rejected alternative |
|---|---|---|
| L-1 | One function, renderIssueComment({kind, headline, acTable?, sections}), renders headline, optional AC table, then every section inside a single <details><summary>Details</summary> block. Every line a parser anchors on (QA_VERDICT, the per-AC status rows #1525 reads, SEQUANT_MUTATION, assess markers) stays outside the block and keeps its current position |
per-builder <details> sprinkled by hand |
| L-2 | buildQaVerdictComment, merge-check/report.ts and review-residue.post.ts call it |
leaving the TS builders as they are and only changing skills |
| L-3 | Hidden sequant comment render --kind spec|qa --body-file - reads a body whose first line is the headline and whose first markdown table is the AC table, and prints the laid-out comment; interactive skills pipe through it (#1606) |
a prose instruction "wrap in details" in each skill |
Acceptance Criteria
- AC-1: The renderer puts the headline and AC table outside and every other section inside one
<details>block, with markers outside. Evidence:npx vitest run src/lib/workflow/comment-layout.test.ts→≥ 5 passed, 0 failed - AC-2: The QA verdict comment still parses the same verdict and per-AC statuses after adoption. Evidence:
npx vitest run src/lib/workflow/batch-executor.test.ts -t "verdict comment"→0 failed - AC-3: Merge-check and review-residue comments adopt the layout and their existing tests pass. Evidence:
npx vitest run src/lib/merge-check src/lib/workflow/review-residue.post.test.ts→0 failed - AC-4:
sequant comment render --kind qaon a fixture body produces output whose visible part is the headline plus the AC table. Evidence:npx vitest run src/commands/comment-render.test.ts→≥ 2 passed, 0 failed - AC-5: No skill-directory edits. Evidence:
git diff --name-only $(git merge-base origin/main HEAD)..HEAD | grep -cE '^(plugin/|\.claude/skills/|templates/skills/)'→0(constraint)
May touch
src/lib/workflow/comment-layout.ts (new) and test, src/lib/workflow/batch-executor.ts (buildQaVerdictComment only), src/lib/merge-check/report.ts, src/lib/workflow/review-residue.post.ts, src/commands/comment-render.ts (new), bin/cli.ts, CHANGELOG.
Non-Goals
- Shortening or summarising content; layout only.
- Changing any skill (frozen; #1606).
Done when
A reader opening an issue sees the verdict or recommendation and the AC table, and nothing else until they expand it, for every comment sequant's code writes.
- 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
-
run: --phases does not suppress the UI-label test phase (determinePhasesForIssue adds it to an explicit list)Forse già presa @admarble l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
sequant-io/sequant#1631 ·
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
Tutte le issue di sequant-io/sequant
Issue simili
-
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 82/100
tensorflow/tfjs#8754 ·
-
tool-submission
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
BraveOPotato/NoSignups#2348 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
code-yeongyu/oh-my-openagent#12784 ·
I maintainer di solito rispondono entro 1 giorno
-
external-issue to-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 71/100
I maintainer di solito rispondono entro 1 giorno