sequant 2.1.1 → 2.1.2
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/plugin.json +1 -1
- package/dist/src/commands/init.js +4 -3
- package/dist/src/commands/run-compat.d.ts +14 -0
- package/dist/src/commands/run-compat.js +12 -0
- package/dist/src/commands/run.d.ts +4 -26
- package/dist/src/commands/run.js +92 -765
- package/dist/src/commands/status.js +9 -0
- package/dist/src/index.d.ts +11 -0
- package/dist/src/index.js +9 -0
- package/dist/src/lib/errors.d.ts +93 -0
- package/dist/src/lib/errors.js +97 -0
- package/dist/src/lib/settings.d.ts +236 -0
- package/dist/src/lib/settings.js +482 -37
- package/dist/src/lib/workflow/batch-executor.js +12 -4
- package/dist/src/lib/workflow/config-resolver.d.ts +50 -0
- package/dist/src/lib/workflow/config-resolver.js +167 -0
- package/dist/src/lib/workflow/error-classifier.d.ts +17 -7
- package/dist/src/lib/workflow/error-classifier.js +113 -15
- package/dist/src/lib/workflow/phase-executor.js +14 -2
- package/dist/src/lib/workflow/run-log-schema.d.ts +12 -0
- package/dist/src/lib/workflow/run-log-schema.js +7 -1
- package/dist/src/lib/workflow/run-orchestrator.d.ts +124 -0
- package/dist/src/lib/workflow/run-orchestrator.js +482 -0
- package/package.json +1 -1
- package/templates/skills/assess/SKILL.md +84 -35
- package/templates/skills/exec/SKILL.md +7 -27
- package/templates/skills/fullsolve/SKILL.md +329 -137
- package/templates/skills/qa/SKILL.md +23 -46
|
@@ -110,18 +110,20 @@ Surface red flags. Only track signals that change the recommendation.
|
|
|
110
110
|
|
|
111
111
|
**Phase selection from labels:**
|
|
112
112
|
|
|
113
|
-
| Labels | Workflow |
|
|
114
|
-
|
|
115
|
-
|
|
|
116
|
-
|
|
|
117
|
-
|
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
113
|
+
| Labels | Category | Workflow |
|
|
114
|
+
|--------|----------|----------|
|
|
115
|
+
| security, auth, authentication, permissions | Domain | `spec → security-review → exec → qa` |
|
|
116
|
+
| ui, frontend, admin, web, browser | Domain | `spec → exec → test → qa` |
|
|
117
|
+
| complex, refactor, breaking, major | Modifier | `spec → exec → qa` + `-q` |
|
|
118
|
+
| enhancement, feature (default) | Generic | `spec → exec → qa` |
|
|
119
|
+
| bug, fix, hotfix, patch | Generic | `exec → qa` |
|
|
120
|
+
| docs, documentation, readme | Generic | `exec → qa` |
|
|
121
|
+
|
|
122
|
+
**Label priority:** Domain labels take precedence over generic labels. When an issue has both a domain label and a generic label (e.g., `bug` + `auth`), use the domain-specific workflow. Example: an issue labeled `bug` + `auth` gets `spec → security-review → exec → qa`, not `exec → qa`. Similarly, `bug` + `ui` gets `spec → exec → test → qa`.
|
|
121
123
|
|
|
122
124
|
**Valid phases (from `PhaseSchema` in `src/lib/workflow/types.ts`):** `spec`, `security-review`, `exec`, `testgen`, `test`, `verify`, `qa`, `loop`, `merger`
|
|
123
125
|
|
|
124
|
-
**Skip spec when:** bug/docs label, OR spec comment already exists on issue.
|
|
126
|
+
**Skip spec when:** (bug/docs label AND no domain labels like security/auth/ui/frontend), OR spec comment already exists on issue.
|
|
125
127
|
|
|
126
128
|
**Resume detection:** Branch exists with commits ahead of main → mark as resume (`◂`).
|
|
127
129
|
|
|
@@ -150,6 +152,8 @@ For each active worktree, check `git diff --name-only main...HEAD` for file over
|
|
|
150
152
|
|
|
151
153
|
**Design principle:** Dashboard first. Copy-pasteable commands. Silence means healthy.
|
|
152
154
|
|
|
155
|
+
**Table column rules:** The "Reason" column must not be truncated mid-word. If a row's reason text would exceed the column width, prefer abbreviating the reason to a shorter synonym rather than cutting a word in half. Column widths should adapt to content — do not force a fixed table width.
|
|
156
|
+
|
|
153
157
|
```
|
|
154
158
|
# Action Reason Run
|
|
155
159
|
<N> <ACTION> <short reason> <workflow or symbol>
|
|
@@ -157,10 +161,8 @@ For each active worktree, check `git diff --name-only main...HEAD` for file over
|
|
|
157
161
|
...
|
|
158
162
|
────────────────────────────────────────────────────────────────
|
|
159
163
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
│ npx sequant run <N3> <flags> # resume │
|
|
163
|
-
╰──────────────────────────────────────────────────────────────╯
|
|
164
|
+
npx sequant run <N1> <N2> <flags>
|
|
165
|
+
npx sequant run <N3> <flags> # resume
|
|
164
166
|
|
|
165
167
|
────────────────────────────────────────────────────────────────
|
|
166
168
|
Order: <N> → <N> (<shared file>) · <N> → <N> (<dependency>)
|
|
@@ -201,6 +203,7 @@ Cleanup:
|
|
|
201
203
|
4. Rewrite issues get `# restart` comment
|
|
202
204
|
5. Chain mode issues use `--chain` flag
|
|
203
205
|
6. If ALL issues share the same workflow, emit a single command
|
|
206
|
+
7. **Line splitting:** When a single command would contain more than 6 issue numbers, split into multiple commands of at most 6 issues each, grouped by compatible workflow. Example: 11 issues → two commands (6 + 5)
|
|
204
207
|
|
|
205
208
|
#### Annotation Rules
|
|
206
209
|
|
|
@@ -210,7 +213,7 @@ Cleanup:
|
|
|
210
213
|
- **Omit entire section** (including its separator) when no annotations of that type exist.
|
|
211
214
|
- **"All clear" is silence** — no annotation means no issues.
|
|
212
215
|
|
|
213
|
-
#### Batch Example (mixed states)
|
|
216
|
+
#### Batch Example (mixed states, with label priority)
|
|
214
217
|
|
|
215
218
|
```
|
|
216
219
|
# Action Reason Run
|
|
@@ -220,22 +223,23 @@ Cleanup:
|
|
|
220
223
|
458 PROCEED Parallel UX + race condition spec → exec → qa
|
|
221
224
|
447 CLOSE PR #457 merged —
|
|
222
225
|
443 PROCEED Consolidate gh calls spec → exec → qa
|
|
223
|
-
412 PROCEED Auth
|
|
226
|
+
412 PROCEED Auth bug (domain: auth overrides bug) spec → security-review → exec → qa
|
|
227
|
+
411 PROCEED Config path normalization ◂ exec → qa
|
|
224
228
|
405 REWRITE PR #380 200+ commits behind ⟳ spec → exec → qa
|
|
225
229
|
────────────────────────────────────────────────────────────────
|
|
226
230
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
╰──────────────────────────────────────────────────────────────╯
|
|
231
|
+
npx sequant run 461 460 -q --phases exec,qa
|
|
232
|
+
npx sequant run 458 443 -q
|
|
233
|
+
npx sequant run 412 -q --phases spec,security-review,exec,qa
|
|
234
|
+
npx sequant run 411 -q --phases exec,qa # resume
|
|
235
|
+
npx sequant run 405 -q # restart
|
|
233
236
|
|
|
234
237
|
────────────────────────────────────────────────────────────────
|
|
235
238
|
Order: 460 → 461 (batch-executor.ts)
|
|
236
239
|
|
|
237
240
|
⚠ #458 Dual concern (UX + race) across 4 files
|
|
238
241
|
⚠ #405 Stale 30+ days, ACs still valid
|
|
242
|
+
⚠ #412 bug + auth labels — domain label (auth) takes priority over bug
|
|
239
243
|
────────────────────────────────────────────────────────────────
|
|
240
244
|
Cleanup:
|
|
241
245
|
git worktree remove .../447-... # merged, stale worktree
|
|
@@ -249,7 +253,8 @@ Cleanup:
|
|
|
249
253
|
<!-- #458 assess:action=PROCEED assess:phases=spec,exec,qa assess:quality-loop=true -->
|
|
250
254
|
<!-- #447 assess:action=CLOSE -->
|
|
251
255
|
<!-- #443 assess:action=PROCEED assess:phases=spec,exec,qa assess:quality-loop=true -->
|
|
252
|
-
<!-- #412 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
256
|
+
<!-- #412 assess:action=PROCEED assess:phases=spec,security-review,exec,qa assess:quality-loop=true -->
|
|
257
|
+
<!-- #411 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
253
258
|
<!-- #405 assess:action=REWRITE assess:phases=spec,exec,qa assess:quality-loop=true -->
|
|
254
259
|
```
|
|
255
260
|
|
|
@@ -264,10 +269,8 @@ When every issue is PROCEED with no warnings, the output is minimal:
|
|
|
264
269
|
443 PROCEED Consolidate gh calls spec → exec → qa
|
|
265
270
|
────────────────────────────────────────────────────────────────
|
|
266
271
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
│ npx sequant run 443 -q │
|
|
270
|
-
╰──────────────────────────────────────────────────────────────╯
|
|
272
|
+
npx sequant run 461 460 -q --phases exec,qa
|
|
273
|
+
npx sequant run 443 -q
|
|
271
274
|
|
|
272
275
|
────────────────────────────────────────────────────────────────
|
|
273
276
|
|
|
@@ -276,6 +279,58 @@ When every issue is PROCEED with no warnings, the output is minimal:
|
|
|
276
279
|
<!-- #443 assess:action=PROCEED assess:phases=spec,exec,qa assess:quality-loop=true -->
|
|
277
280
|
```
|
|
278
281
|
|
|
282
|
+
#### Batch Example (large batch, 13 issues with Rule 7 split)
|
|
283
|
+
|
|
284
|
+
When assessing 9+ issues, commands are split per Rule 7 (max 6 issue numbers per line), and the table adapts to content width:
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
# Action Reason Run
|
|
288
|
+
503 PROCEED Fix typo in error output exec → qa
|
|
289
|
+
502 PROCEED Update deprecated API call exec → qa
|
|
290
|
+
501 PROCEED Add retry logic to API client exec → qa
|
|
291
|
+
500 PROCEED Fix token refresh race condition spec → security-review → exec → qa
|
|
292
|
+
499 PROCEED Dashboard chart rendering bug spec → exec → test → qa
|
|
293
|
+
498 PROCEED Update error messages exec → qa
|
|
294
|
+
497 PROCEED Refactor batch executor spec → exec → qa
|
|
295
|
+
496 PARK Blocked on #490 schema migration ‖
|
|
296
|
+
495 PROCEED CLI help text improvements exec → qa
|
|
297
|
+
494 PROCEED Assess batch formatting fix exec → qa
|
|
298
|
+
493 CLOSE Duplicate of #491 —
|
|
299
|
+
492 PROCEED Add export command spec → exec → qa
|
|
300
|
+
491 PROCEED Normalize config paths exec → qa
|
|
301
|
+
────────────────────────────────────────────────────────────────
|
|
302
|
+
|
|
303
|
+
npx sequant run 503 502 501 498 495 494 -q --phases exec,qa
|
|
304
|
+
npx sequant run 491 -q --phases exec,qa
|
|
305
|
+
npx sequant run 499 -q --phases spec,exec,test,qa
|
|
306
|
+
npx sequant run 500 -q --phases spec,security-review,exec,qa
|
|
307
|
+
npx sequant run 497 492 -q
|
|
308
|
+
|
|
309
|
+
────────────────────────────────────────────────────────────────
|
|
310
|
+
Order: 497 → 492 (batch-executor.ts)
|
|
311
|
+
|
|
312
|
+
⚠ #500 bug + auth labels — domain label takes priority
|
|
313
|
+
⚠ #499 bug + ui labels — domain label triggers test phase
|
|
314
|
+
────────────────────────────────────────────────────────────────
|
|
315
|
+
Cleanup:
|
|
316
|
+
gh issue close 493 # duplicate of #491
|
|
317
|
+
────────────────────────────────────────────────────────────────
|
|
318
|
+
|
|
319
|
+
<!-- #503 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
320
|
+
<!-- #502 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
321
|
+
<!-- #501 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
322
|
+
<!-- #500 assess:action=PROCEED assess:phases=spec,security-review,exec,qa assess:quality-loop=true -->
|
|
323
|
+
<!-- #499 assess:action=PROCEED assess:phases=spec,exec,test,qa assess:quality-loop=true -->
|
|
324
|
+
<!-- #498 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
325
|
+
<!-- #497 assess:action=PROCEED assess:phases=spec,exec,qa assess:quality-loop=true -->
|
|
326
|
+
<!-- #496 assess:action=PARK -->
|
|
327
|
+
<!-- #495 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
328
|
+
<!-- #494 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
329
|
+
<!-- #493 assess:action=CLOSE -->
|
|
330
|
+
<!-- #492 assess:action=PROCEED assess:phases=spec,exec,qa assess:quality-loop=true -->
|
|
331
|
+
<!-- #491 assess:action=PROCEED assess:phases=exec,qa assess:quality-loop=true -->
|
|
332
|
+
```
|
|
333
|
+
|
|
279
334
|
---
|
|
280
335
|
|
|
281
336
|
### Single Mode (1 issue)
|
|
@@ -291,9 +346,7 @@ More context since you're focused on one issue. Separators between every section
|
|
|
291
346
|
|
|
292
347
|
→ PROCEED — <one-line reason>
|
|
293
348
|
|
|
294
|
-
|
|
295
|
-
│ npx sequant run <N> <flags> │
|
|
296
|
-
╰──────────────────────────────────────────────────────────────╯
|
|
349
|
+
npx sequant run <N> <flags>
|
|
297
350
|
|
|
298
351
|
<phases> · <N> ACs · <flag reasoning>
|
|
299
352
|
────────────────────────────────────────────────────────────────
|
|
@@ -315,9 +368,7 @@ Open · bug, enhancement, cli
|
|
|
315
368
|
|
|
316
369
|
→ PROCEED — Both root causes confirmed in codebase
|
|
317
370
|
|
|
318
|
-
|
|
319
|
-
│ npx sequant run 458 -q │
|
|
320
|
-
╰──────────────────────────────────────────────────────────────╯
|
|
371
|
+
npx sequant run 458 -q
|
|
321
372
|
|
|
322
373
|
spec → exec → qa · 8 ACs · -q (dual concern)
|
|
323
374
|
────────────────────────────────────────────────────────────────
|
|
@@ -397,9 +448,7 @@ Need: <specific information required>
|
|
|
397
448
|
|
|
398
449
|
→ REWRITE — <reason>
|
|
399
450
|
|
|
400
|
-
|
|
401
|
-
│ npx sequant run <N> <flags> # fresh start │
|
|
402
|
-
╰──────────────────────────────────────────────────────────────╯
|
|
451
|
+
npx sequant run <N> <flags> # fresh start
|
|
403
452
|
|
|
404
453
|
<phases> · <N> ACs
|
|
405
454
|
────────────────────────────────────────────────────────────────
|
|
@@ -1837,40 +1837,20 @@ When in doubt, choose:
|
|
|
1837
1837
|
|
|
1838
1838
|
The goal is to satisfy AC with the smallest, safest change possible.
|
|
1839
1839
|
|
|
1840
|
-
### 5.
|
|
1840
|
+
### 5. Pre-PR Confidence Check (REQUIRED)
|
|
1841
1841
|
|
|
1842
|
-
**Before
|
|
1843
|
-
|
|
1844
|
-
**Why this matters:** Sessions show that honest self-questioning consistently catches real issues:
|
|
1845
|
-
- Tests that pass but don't cover the actual changes
|
|
1846
|
-
- Features that build but don't work as expected
|
|
1847
|
-
- AC items marked "done" but with weak implementation
|
|
1848
|
-
|
|
1849
|
-
**Answer these questions honestly:**
|
|
1850
|
-
1. "Did anything not work as expected during implementation?"
|
|
1851
|
-
2. "If this feature broke tomorrow, would the current tests catch it?"
|
|
1852
|
-
3. "What's the weakest part of this implementation?"
|
|
1853
|
-
4. "Am I reporting success metrics without honest self-evaluation?"
|
|
1854
|
-
5. "For each changed source file, does a corresponding test file exist? If not, why is that acceptable?"
|
|
1855
|
-
6. "Did I run `npm run lint` and fix all errors, or am I hoping CI will pass?"
|
|
1842
|
+
**Before creating a PR**, state your confidence in 2-3 sentences.
|
|
1856
1843
|
|
|
1857
1844
|
**Include this section in your output:**
|
|
1858
1845
|
|
|
1859
1846
|
```markdown
|
|
1860
|
-
###
|
|
1847
|
+
### Pre-PR Confidence Check
|
|
1861
1848
|
|
|
1862
|
-
- **
|
|
1863
|
-
- **
|
|
1864
|
-
- **Weakest part:** [Identify the weakest aspect of the implementation]
|
|
1865
|
-
- **Honest assessment:** [Any concerns or caveats?]
|
|
1849
|
+
- **Weakest part:** [What's the most fragile aspect of this implementation?]
|
|
1850
|
+
- **Coverage gaps:** [Which changed files lack corresponding tests, and why is that acceptable?]
|
|
1866
1851
|
```
|
|
1867
1852
|
|
|
1868
|
-
**If
|
|
1869
|
-
- Address the issues before proceeding
|
|
1870
|
-
- Re-run relevant checks (`npm test`, `npm run build`)
|
|
1871
|
-
- Update the self-evaluation after fixes
|
|
1872
|
-
|
|
1873
|
-
**Do NOT skip this self-evaluation.** Honest reflection catches issues that automated checks miss.
|
|
1853
|
+
**If either field reveals concerns**, address them before creating the PR. Re-run `npm test` and `npm run build` after fixes.
|
|
1874
1854
|
|
|
1875
1855
|
---
|
|
1876
1856
|
|
|
@@ -1979,7 +1959,7 @@ npx tsx scripts/state/update.ts fail <issue-number> exec "Error description"
|
|
|
1979
1959
|
|
|
1980
1960
|
**Before responding, verify your output includes ALL of these:**
|
|
1981
1961
|
|
|
1982
|
-
- [ ] **
|
|
1962
|
+
- [ ] **Pre-PR Confidence Check** - Weakest part and coverage gaps stated
|
|
1983
1963
|
- [ ] **AC Progress Summary** - Which AC items are satisfied, partially met, or blocked
|
|
1984
1964
|
- [ ] **Files Changed** - List of key files modified
|
|
1985
1965
|
- [ ] **Test/Build/Lint Results** - Output from `npm run build`, `npm run lint`, and `npm test`
|