sequant 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +125 -160
- package/dist/bin/cli.js +59 -4
- package/dist/dashboard/server.js +1 -0
- package/dist/marketplace/external_plugins/sequant/.claude-plugin/plugin.json +2 -2
- package/dist/marketplace/external_plugins/sequant/README.md +6 -3
- package/dist/marketplace/external_plugins/sequant/hooks/post-tool.sh +92 -0
- package/dist/marketplace/external_plugins/sequant/hooks/pre-tool.sh +18 -9
- package/dist/marketplace/external_plugins/sequant/hooks/relay-check.sh +107 -0
- package/dist/marketplace/external_plugins/sequant/skills/_shared/references/behavior-rule-detection.md +205 -0
- package/dist/marketplace/external_plugins/sequant/skills/_shared/references/subagent-types.md +21 -8
- package/dist/marketplace/external_plugins/sequant/skills/assess/SKILL.md +302 -86
- package/dist/marketplace/external_plugins/sequant/skills/assess/references/predicted-collision-detection.md +109 -0
- package/dist/marketplace/external_plugins/sequant/skills/docs/SKILL.md +141 -22
- package/dist/marketplace/external_plugins/sequant/skills/exec/SKILL.md +83 -78
- package/dist/marketplace/external_plugins/sequant/skills/fullsolve/SKILL.md +377 -137
- package/dist/marketplace/external_plugins/sequant/skills/loop/SKILL.md +28 -0
- package/dist/marketplace/external_plugins/sequant/skills/merger/SKILL.md +621 -0
- package/dist/marketplace/external_plugins/sequant/skills/qa/SKILL.md +741 -232
- package/dist/marketplace/external_plugins/sequant/skills/qa/scripts/quality-checks.sh +47 -1
- package/dist/marketplace/external_plugins/sequant/skills/setup/SKILL.md +12 -6
- package/dist/marketplace/external_plugins/sequant/skills/spec/SKILL.md +217 -964
- package/dist/marketplace/external_plugins/sequant/skills/spec/references/parallel-groups.md +7 -0
- package/dist/marketplace/external_plugins/sequant/skills/spec/references/quality-checklist.md +75 -0
- package/dist/marketplace/external_plugins/sequant/skills/spec/references/recommended-workflow.md +4 -2
- package/dist/marketplace/external_plugins/sequant/skills/test/SKILL.md +0 -27
- package/dist/marketplace/external_plugins/sequant/skills/testgen/SKILL.md +24 -44
- package/dist/src/commands/abort.d.ts +36 -0
- package/dist/src/commands/abort.js +138 -0
- package/dist/src/commands/prompt.d.ts +7 -0
- package/dist/src/commands/prompt.js +101 -7
- package/dist/src/commands/ready-tui-adapter.d.ts +59 -0
- package/dist/src/commands/ready-tui-adapter.js +130 -0
- package/dist/src/commands/ready.d.ts +49 -0
- package/dist/src/commands/ready.js +243 -0
- package/dist/src/commands/run-progress.d.ts +11 -1
- package/dist/src/commands/run-progress.js +20 -3
- package/dist/src/commands/run.js +12 -2
- package/dist/src/commands/status.js +4 -0
- package/dist/src/commands/watch.d.ts +2 -0
- package/dist/src/commands/watch.js +67 -3
- package/dist/src/lib/assess-collision-detect.js +1 -1
- package/dist/src/lib/cli-ui/run-renderer-types.d.ts +39 -0
- package/dist/src/lib/cli-ui/run-renderer.d.ts +34 -2
- package/dist/src/lib/cli-ui/run-renderer.js +250 -33
- package/dist/src/lib/cli-ui/scrollback-harness.d.ts +112 -0
- package/dist/src/lib/cli-ui/scrollback-harness.js +294 -0
- package/dist/src/lib/merge-check/types.js +1 -1
- package/dist/src/lib/relay/archive.js +6 -0
- package/dist/src/lib/relay/types.d.ts +2 -0
- package/dist/src/lib/relay/types.js +9 -0
- package/dist/src/lib/settings.d.ts +34 -0
- package/dist/src/lib/settings.js +23 -1
- package/dist/src/lib/workflow/batch-executor.js +34 -18
- package/dist/src/lib/workflow/drivers/agent-driver.d.ts +48 -1
- package/dist/src/lib/workflow/drivers/aider.d.ts +7 -1
- package/dist/src/lib/workflow/drivers/aider.js +9 -0
- package/dist/src/lib/workflow/drivers/claude-code.d.ts +17 -1
- package/dist/src/lib/workflow/drivers/claude-code.js +51 -2
- package/dist/src/lib/workflow/drivers/index.d.ts +1 -1
- package/dist/src/lib/workflow/event-emitter.d.ts +157 -0
- package/dist/src/lib/workflow/event-emitter.js +102 -0
- package/dist/src/lib/workflow/notice.d.ts +32 -0
- package/dist/src/lib/workflow/notice.js +38 -0
- package/dist/src/lib/workflow/phase-executor.d.ts +9 -21
- package/dist/src/lib/workflow/phase-executor.js +105 -117
- package/dist/src/lib/workflow/phase-mapper.d.ts +26 -13
- package/dist/src/lib/workflow/phase-mapper.js +55 -33
- package/dist/src/lib/workflow/phase-registry.d.ts +127 -0
- package/dist/src/lib/workflow/phase-registry.js +233 -0
- package/dist/src/lib/workflow/platforms/github.d.ts +6 -0
- package/dist/src/lib/workflow/platforms/github.js +17 -0
- package/dist/src/lib/workflow/ready-gate.d.ts +155 -0
- package/dist/src/lib/workflow/ready-gate.js +374 -0
- package/dist/src/lib/workflow/reconcile.js +6 -0
- package/dist/src/lib/workflow/run-log-schema.d.ts +5 -55
- package/dist/src/lib/workflow/run-orchestrator.d.ts +32 -2
- package/dist/src/lib/workflow/run-orchestrator.js +125 -11
- package/dist/src/lib/workflow/state-manager.d.ts +19 -1
- package/dist/src/lib/workflow/state-manager.js +27 -1
- package/dist/src/lib/workflow/state-schema.d.ts +23 -35
- package/dist/src/lib/workflow/state-schema.js +29 -3
- package/dist/src/lib/workflow/types.d.ts +74 -15
- package/dist/src/lib/workflow/types.js +18 -13
- package/dist/src/ui/tui/App.js +8 -2
- package/dist/src/ui/tui/IssueBox.js +3 -4
- package/dist/src/ui/tui/index.d.ts +13 -4
- package/dist/src/ui/tui/index.js +19 -5
- package/dist/src/ui/tui/row-cap.d.ts +51 -0
- package/dist/src/ui/tui/row-cap.js +76 -0
- package/dist/src/ui/tui/teardown.d.ts +20 -0
- package/dist/src/ui/tui/teardown.js +29 -0
- package/dist/src/ui/tui/theme.d.ts +3 -0
- package/dist/src/ui/tui/theme.js +3 -0
- package/package.json +23 -11
- package/templates/hooks/post-tool.sh +81 -0
- package/templates/skills/assess/SKILL.md +28 -28
- package/templates/skills/assess/references/predicted-collision-detection.md +1 -1
- package/templates/skills/qa/SKILL.md +5 -2
- package/templates/skills/setup/SKILL.md +6 -6
|
@@ -149,7 +149,7 @@ Surface red flags. Only track signals that change the recommendation.
|
|
|
149
149
|
|--------|----------|----------|
|
|
150
150
|
| security, auth, authentication, permissions | Domain | `spec → security-review → exec → qa` |
|
|
151
151
|
| ui, frontend, admin, web, browser | Domain | `spec → exec → test → qa` |
|
|
152
|
-
| complex, refactor, breaking, major | Modifier | `spec → exec → qa` + `-
|
|
152
|
+
| complex, refactor, breaking, major | Modifier | `spec → exec → qa` + `-Q` |
|
|
153
153
|
| (ui/frontend) + (enhancement/feature), or testable-AC signals | Modifier | inserts `testgen` before `exec` (see Testgen detection below) |
|
|
154
154
|
| enhancement, feature (default) | Generic | `spec → exec → qa` |
|
|
155
155
|
| bug, fix, hotfix, patch | Generic | `spec → exec → qa` |
|
|
@@ -165,7 +165,7 @@ Surface red flags. Only track signals that change the recommendation.
|
|
|
165
165
|
|
|
166
166
|
**PR review detection:** Open PR with implementation complete → mark as review-needed (`◂ qa`).
|
|
167
167
|
|
|
168
|
-
**Quality loop (`-
|
|
168
|
+
**Quality loop (`-Q`):** Recommend for everything except simple bug fixes and docs-only.
|
|
169
169
|
|
|
170
170
|
**Testgen detection:** Add `testgen` to the workflow when any apply:
|
|
171
171
|
- Labels include (`ui` or `frontend`) AND (`enhancement` or `feature`)
|
|
@@ -179,7 +179,7 @@ Triggers (any one):
|
|
|
179
179
|
- Issue body or comments mention `"depends on #N"`, `"blocked by #N"`, or `"after #N"`
|
|
180
180
|
- One issue's described output is another issue's input (e.g., A changes a function signature that B consumes)
|
|
181
181
|
|
|
182
|
-
Format: `Chain: npx sequant run <N1> <N2> --chain --qa-gate -
|
|
182
|
+
Format: `Chain: npx sequant run <N1> <N2> --chain --qa-gate -Q <phases> # alternative — <one-line reason>`
|
|
183
183
|
|
|
184
184
|
Flag references:
|
|
185
185
|
- `--chain` chains issues (each branches from previous; implies `--sequential`)
|
|
@@ -238,7 +238,7 @@ Order: <N> → <N> (<dependency reason>)
|
|
|
238
238
|
⚠ #<N> <warning>
|
|
239
239
|
⚠ #<N> <warning>
|
|
240
240
|
|
|
241
|
-
Chain: npx sequant run <N1> <N2> --chain --qa-gate -
|
|
241
|
+
Chain: npx sequant run <N1> <N2> --chain --qa-gate -Q <phases> # alternative — <reason>
|
|
242
242
|
|
|
243
243
|
Flags:
|
|
244
244
|
<flag> <one-line reason>
|
|
@@ -300,12 +300,12 @@ Emit annotations in this order between the separators that follow `Commands:`:
|
|
|
300
300
|
- `⚠ #412 bug + auth labels — domain label (auth) takes priority over bug`
|
|
301
301
|
|
|
302
302
|
- **`Chain:`** — Only when 2+ PROCEED issues have a detected dependency (see "Chain detection" in Step 4). Suggests an alternative execution topology. Does not replace the default per-issue commands. Format:
|
|
303
|
-
`Chain: npx sequant run <N1> <N2> --chain --qa-gate -
|
|
303
|
+
`Chain: npx sequant run <N1> <N2> --chain --qa-gate -Q <phases> # alternative — <one-line reason>`
|
|
304
304
|
|
|
305
|
-
- **`Flags:`** — Only when non-default flags appear in the commands and the reason isn't obvious. One line per **distinct** flag used across all commands. Omit entire section when `-
|
|
305
|
+
- **`Flags:`** — Only when non-default flags appear in the commands and the reason isn't obvious. One line per **distinct** flag used across all commands. Omit entire section when `-Q` is the only non-default flag AND its reason is obvious (e.g., all issues are enhancements). Format:
|
|
306
306
|
```
|
|
307
307
|
Flags:
|
|
308
|
-
-
|
|
308
|
+
-Q 9+ ACs or multi-file scope
|
|
309
309
|
--testgen testable ACs detected (UI hooks + API integration)
|
|
310
310
|
--phases ...,test ui label → browser verification
|
|
311
311
|
```
|
|
@@ -331,10 +331,10 @@ Not all issues have explicit `- [ ]` checkboxes, so the `ACs` column is omitted.
|
|
|
331
331
|
405 REWRITE PR #380 200+ commits behind ⟳ spec → exec → qa
|
|
332
332
|
────────────────────────────────────────────────────────────────
|
|
333
333
|
Commands:
|
|
334
|
-
npx sequant run 461 460 458 443 -
|
|
335
|
-
npx sequant run 412 -
|
|
336
|
-
npx sequant run 411 -
|
|
337
|
-
npx sequant run 405 -
|
|
334
|
+
npx sequant run 461 460 458 443 -Q
|
|
335
|
+
npx sequant run 412 -Q --security-review
|
|
336
|
+
npx sequant run 411 -Q --phases exec,qa # resume
|
|
337
|
+
npx sequant run 405 -Q # restart
|
|
338
338
|
────────────────────────────────────────────────────────────────
|
|
339
339
|
Order: 460 → 461 (460 adds batch-executor tests that 461's label matching depends on)
|
|
340
340
|
|
|
@@ -343,7 +343,7 @@ Order: 460 → 461 (460 adds batch-executor tests that 461's label matching depe
|
|
|
343
343
|
⚠ #412 bug + auth labels — auth (domain) adds security-review phase
|
|
344
344
|
|
|
345
345
|
Flags:
|
|
346
|
-
-
|
|
346
|
+
-Q multi-file scope across most PROCEED issues
|
|
347
347
|
--security-review #412 auth label → security review required
|
|
348
348
|
--phases exec,qa #411 resume — prior spec marker already exists
|
|
349
349
|
────────────────────────────────────────────────────────────────
|
|
@@ -374,15 +374,15 @@ All issues have explicit checkbox ACs, so the `ACs` column is shown. A dependenc
|
|
|
374
374
|
186 PROCEED 9 React Query hooks migration spec → testgen → exec → test → qa
|
|
375
375
|
────────────────────────────────────────────────────────────────
|
|
376
376
|
Commands:
|
|
377
|
-
npx sequant run 185 -
|
|
378
|
-
npx sequant run 186 -
|
|
377
|
+
npx sequant run 185 -Q
|
|
378
|
+
npx sequant run 186 -Q --testgen
|
|
379
379
|
────────────────────────────────────────────────────────────────
|
|
380
380
|
Order: 185 → 186 (185 changes fetchApi error format that 186 consumes)
|
|
381
381
|
|
|
382
382
|
⚠ #185 Domain errors already exist in repository layer — scope may be smaller than expected
|
|
383
383
|
⚠ #186 @tanstack/react-query not installed; large scope (9 hooks + optimistic updates)
|
|
384
384
|
|
|
385
|
-
Chain: npx sequant run 185 186 --chain --qa-gate -
|
|
385
|
+
Chain: npx sequant run 185 186 --chain --qa-gate -Q --testgen
|
|
386
386
|
# alternative — use if 186 should branch from 185's work
|
|
387
387
|
|
|
388
388
|
Flags:
|
|
@@ -395,7 +395,7 @@ Flags:
|
|
|
395
395
|
|
|
396
396
|
#### Batch Example (all clean)
|
|
397
397
|
|
|
398
|
-
When every issue is PROCEED with no warnings, no dependencies, and no non-default flags beyond an obvious `-
|
|
398
|
+
When every issue is PROCEED with no warnings, no dependencies, and no non-default flags beyond an obvious `-Q`, the output is minimal. The `Flags:` section is omitted because `-Q` is obvious here (all PROCEED enhancements).
|
|
399
399
|
|
|
400
400
|
```
|
|
401
401
|
# Action Reason Run
|
|
@@ -404,7 +404,7 @@ When every issue is PROCEED with no warnings, no dependencies, and no non-defaul
|
|
|
404
404
|
443 PROCEED Consolidate gh calls spec → exec → qa
|
|
405
405
|
────────────────────────────────────────────────────────────────
|
|
406
406
|
Commands:
|
|
407
|
-
npx sequant run 461 460 443 -
|
|
407
|
+
npx sequant run 461 460 443 -Q
|
|
408
408
|
────────────────────────────────────────────────────────────────
|
|
409
409
|
|
|
410
410
|
<!-- #461 assess:action=PROCEED assess:phases=spec,exec,qa assess:quality-loop=true -->
|
|
@@ -435,9 +435,9 @@ When assessing 9+ issues, commands are split per Rule 7 (max 6 issue numbers per
|
|
|
435
435
|
491 PROCEED Normalize config paths spec → exec → qa
|
|
436
436
|
────────────────────────────────────────────────────────────────
|
|
437
437
|
Commands:
|
|
438
|
-
npx sequant run 503 502 501 499 498 497 -
|
|
439
|
-
npx sequant run 495 494 492 491 -
|
|
440
|
-
npx sequant run 500 -
|
|
438
|
+
npx sequant run 503 502 501 499 498 497 -Q
|
|
439
|
+
npx sequant run 495 494 492 491 -Q
|
|
440
|
+
npx sequant run 500 -Q --security-review
|
|
441
441
|
────────────────────────────────────────────────────────────────
|
|
442
442
|
Order: 497 → 492 (497 refactors batch-executor internals that 492's export command uses)
|
|
443
443
|
|
|
@@ -498,9 +498,9 @@ Flags:
|
|
|
498
498
|
<!-- assess:quality-loop=<bool> -->
|
|
499
499
|
```
|
|
500
500
|
|
|
501
|
-
**`Flags:` (single mode):** Indented list of each enabled non-default flag with a one-line reason. Omit the entire `Flags:` section when `-
|
|
501
|
+
**`Flags:` (single mode):** Indented list of each enabled non-default flag with a one-line reason. Omit the entire `Flags:` section when `-Q` is the only non-default flag AND the reason is obvious (e.g., a straightforward enhancement). Do not repeat obvious flags.
|
|
502
502
|
|
|
503
|
-
Example with `Flags:` (non-obvious `-
|
|
503
|
+
Example with `Flags:` (non-obvious `-Q` + `--testgen`):
|
|
504
504
|
|
|
505
505
|
```
|
|
506
506
|
#458 — Parallel run UX freeze + reconcileState race condition
|
|
@@ -510,12 +510,12 @@ Open · bug, enhancement, cli
|
|
|
510
510
|
→ PROCEED — Both root causes confirmed in codebase
|
|
511
511
|
|
|
512
512
|
Commands:
|
|
513
|
-
npx sequant run 458 -
|
|
513
|
+
npx sequant run 458 -Q
|
|
514
514
|
|
|
515
515
|
spec → exec → qa · 8 ACs
|
|
516
516
|
|
|
517
517
|
Flags:
|
|
518
|
-
-
|
|
518
|
+
-Q dual concern across 4 files
|
|
519
519
|
────────────────────────────────────────────────────────────────
|
|
520
520
|
|
|
521
521
|
<!-- assess:action=PROCEED -->
|
|
@@ -523,7 +523,7 @@ Flags:
|
|
|
523
523
|
<!-- assess:quality-loop=true -->
|
|
524
524
|
```
|
|
525
525
|
|
|
526
|
-
Example omitting `Flags:` (obvious `-
|
|
526
|
+
Example omitting `Flags:` (obvious `-Q` for a standard enhancement):
|
|
527
527
|
|
|
528
528
|
```
|
|
529
529
|
#443 — Consolidate gh CLI calls
|
|
@@ -533,7 +533,7 @@ Open · enhancement
|
|
|
533
533
|
→ PROCEED — Codebase matches spec, 5 ACs
|
|
534
534
|
|
|
535
535
|
Commands:
|
|
536
|
-
npx sequant run 443 -
|
|
536
|
+
npx sequant run 443 -Q
|
|
537
537
|
|
|
538
538
|
spec → exec → qa · 5 ACs
|
|
539
539
|
────────────────────────────────────────────────────────────────
|
|
@@ -637,7 +637,7 @@ Commands:
|
|
|
637
637
|
| `Order:` | File conflicts or dependencies require sequencing |
|
|
638
638
|
| `⚠` warnings | Non-obvious signals exist (complexity, staleness, dual concerns, partial-AC satisfaction) |
|
|
639
639
|
| `Chain:` | 2+ PROCEED issues with detected dependency (suggest-only) |
|
|
640
|
-
| `Flags:` | Non-default flags appear AND `-
|
|
640
|
+
| `Flags:` | Non-default flags appear AND `-Q` is not the sole flag with an obvious reason |
|
|
641
641
|
| `Cleanup:` | Stale branches, merged-but-open issues, or label changes |
|
|
642
642
|
| Separators | Between sections that are both shown; omit if adjacent section is omitted |
|
|
643
643
|
|
|
@@ -680,7 +680,7 @@ If confirmed, post a structured comment to each issue via `gh issue comment`. Ea
|
|
|
680
680
|
- [ ] Commands block only contains PROCEED and REWRITE issues, grouped by compatible workflow
|
|
681
681
|
- [ ] `testgen` included when ui/frontend + enhancement/feature labels OR testable-AC signals
|
|
682
682
|
- [ ] `Chain:` suggested (not auto-applied) when 2+ PROCEED issues have a detected dependency
|
|
683
|
-
- [ ] `Flags:` section present when non-default flags appear (unless only obvious `-
|
|
683
|
+
- [ ] `Flags:` section present when non-default flags appear (unless only obvious `-Q`)
|
|
684
684
|
- [ ] `Order:` annotations carry dependency **reasoning**, not bare filenames
|
|
685
685
|
- [ ] `⚠` warnings include partial-AC satisfaction where applicable
|
|
686
686
|
- [ ] Separators appear between every shown section; omitted when adjacent section is omitted
|
|
@@ -104,6 +104,6 @@ The detector returns `CollisionResult[]` from `detectFileCollisions`. The format
|
|
|
104
104
|
|
|
105
105
|
- `Order: A → B (path)` per pair (or `Order: A → B → C (path)` for 3+ on the same file). `path` is the canonical bare form (e.g. `qa/SKILL.md`).
|
|
106
106
|
- `⚠ #N Modifies <path> (overlaps #M); land sequentially` per affected issue.
|
|
107
|
-
- `Chain: npx sequant run A B C --chain --qa-gate -
|
|
107
|
+
- `Chain: npx sequant run A B C --chain --qa-gate -Q # alternative — N issues modify <path> (chain length≥3 historically 1/6 = 17%; see docs/reference/chain-mode-analysis-2026-05.md)` only when ≥3 issues collide on the same file (suggest-only). The historical-rate annotation comes from the #604 forensic write-up; users see the suggestion alongside the parallel default and can weigh the trade-off.
|
|
108
108
|
|
|
109
109
|
The bare-filename `Order:` exception (defined in the skill's "Annotation Rules") applies here — predicted collisions are file-collision reasons by definition, so the filename in parentheses is the reason verbatim.
|
|
@@ -48,6 +48,7 @@ When running as part of an orchestrated workflow (e.g., `sequant run` or `/fulls
|
|
|
48
48
|
| `SEQUANT_PHASE` | Current phase in the workflow | `qa` |
|
|
49
49
|
| `SEQUANT_ISSUE` | Issue number being processed | `123` |
|
|
50
50
|
| `SEQUANT_WORKTREE` | Path to the feature worktree | `/path/to/worktrees/feature/...` |
|
|
51
|
+
| `SEQUANT_FULL_QA` | Force full-weight (standalone) QA pre-flight even under an orchestrator (#683) | `1` |
|
|
51
52
|
|
|
52
53
|
**Behavior when orchestrated (SEQUANT_ORCHESTRATOR is set):**
|
|
53
54
|
|
|
@@ -57,6 +58,8 @@ When running as part of an orchestrated workflow (e.g., `sequant run` or `/fulls
|
|
|
57
58
|
4. **Reduce GitHub comment frequency** - Defer updates to orchestrator
|
|
58
59
|
5. **Trust git state** - Orchestrator verified branch status
|
|
59
60
|
|
|
61
|
+
> **Full-weight override (`SEQUANT_FULL_QA=1`, #683).** When this flag is set (e.g. by `sequant ready`), do NOT take the git-state shortcuts above. Run the **standalone** pre-flight sync check, the stale-branch detection, and the process-state inspection (uncommitted work, divergent/zero-commit branches) even though `SEQUANT_ORCHESTRATOR` is set — this is the deliberate fresh full-weight pass that catches the no-implementation / divergent-branch class. The other orchestrated behaviors (skip issue fetch, reduced GitHub comments) still apply.
|
|
62
|
+
|
|
60
63
|
**Behavior when standalone (SEQUANT_ORCHESTRATOR is NOT set):**
|
|
61
64
|
|
|
62
65
|
- Perform pre-flight sync check
|
|
@@ -230,7 +233,7 @@ If the cache is corrupted or unreadable:
|
|
|
230
233
|
|
|
231
234
|
### Pre-flight Sync Check
|
|
232
235
|
|
|
233
|
-
**Skip this section if `SEQUANT_ORCHESTRATOR` is set**
|
|
236
|
+
**Skip this section if `SEQUANT_ORCHESTRATOR` is set** (the orchestrator has already verified sync status) — **unless `SEQUANT_FULL_QA=1`**, in which case run this check even under an orchestrator (#683).
|
|
234
237
|
|
|
235
238
|
Before starting QA (standalone mode), verify the local branch is in sync with remote:
|
|
236
239
|
|
|
@@ -251,7 +254,7 @@ git pull origin main # Or merge origin/main if pull fails
|
|
|
251
254
|
|
|
252
255
|
### Stale Branch Detection
|
|
253
256
|
|
|
254
|
-
**Skip this section if `SEQUANT_ORCHESTRATOR` is set**
|
|
257
|
+
**Skip this section if `SEQUANT_ORCHESTRATOR` is set** (the orchestrator handles branch freshness checks) — **unless `SEQUANT_FULL_QA=1`**, in which case run the branch-freshness check even under an orchestrator (#683).
|
|
255
258
|
|
|
256
259
|
**Purpose:** Detect when the feature branch is significantly behind main, which can lead to:
|
|
257
260
|
- QA cycles wasted reviewing code that won't cleanly merge
|
|
@@ -75,16 +75,16 @@ else
|
|
|
75
75
|
PREREQ_FAIL=true
|
|
76
76
|
fi
|
|
77
77
|
|
|
78
|
-
# 3. Node.js
|
|
78
|
+
# 3. Node.js 22.12+ (for MCP server via npx)
|
|
79
79
|
if node --version >/dev/null 2>&1; then
|
|
80
80
|
NODE_VER=$(node --version | sed 's/v//' | cut -d. -f1)
|
|
81
|
-
if [ "$NODE_VER" -ge
|
|
82
|
-
echo "✅ node: $(node --version) (>=
|
|
81
|
+
if [ "$NODE_VER" -ge 22 ] 2>/dev/null; then
|
|
82
|
+
echo "✅ node: $(node --version) (>= 22)"
|
|
83
83
|
else
|
|
84
|
-
echo "⚠️ node: $(node --version) — MCP server requires Node.js
|
|
84
|
+
echo "⚠️ node: $(node --version) — MCP server requires Node.js 22.12+. Upgrade recommended."
|
|
85
85
|
fi
|
|
86
86
|
else
|
|
87
|
-
echo "⚠️ node: not found — MCP server (npx sequant serve) requires Node.js
|
|
87
|
+
echo "⚠️ node: not found — MCP server (npx sequant serve) requires Node.js 22.12+"
|
|
88
88
|
fi
|
|
89
89
|
|
|
90
90
|
if [ "$PREREQ_FAIL" = "true" ]; then
|
|
@@ -383,7 +383,7 @@ You're all set — run `/assess <issue>` to start working on a GitHub issue.
|
|
|
383
383
|
- Check that the file is valid JSON/TOML
|
|
384
384
|
|
|
385
385
|
**MCP tools not available:**
|
|
386
|
-
- Ensure Node.js
|
|
386
|
+
- Ensure Node.js 22.12+ is installed (`node --version`)
|
|
387
387
|
- The MCP server starts automatically via `npx sequant@latest serve`
|
|
388
388
|
- Check Claude Code settings if tools don't appear
|
|
389
389
|
|