sequant 2.10.0 → 2.12.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.
Files changed (108) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +19 -2
  4. package/dist/bin/cli.js +47 -2
  5. package/dist/marketplace/external_plugins/sequant/.claude-plugin/plugin.json +1 -1
  6. package/dist/marketplace/external_plugins/sequant/.mcp.json +1 -1
  7. package/dist/marketplace/external_plugins/sequant/hooks/pre-tool.sh +331 -12
  8. package/dist/marketplace/external_plugins/sequant/skills/_shared/references/subagent-types.md +7 -18
  9. package/dist/marketplace/external_plugins/sequant/skills/assess/SKILL.md +5 -1
  10. package/dist/marketplace/external_plugins/sequant/skills/exec/SKILL.md +62 -8
  11. package/dist/marketplace/external_plugins/sequant/skills/fullsolve/SKILL.md +187 -28
  12. package/dist/marketplace/external_plugins/sequant/skills/loop/SKILL.md +127 -23
  13. package/dist/marketplace/external_plugins/sequant/skills/merger/SKILL.md +130 -13
  14. package/dist/marketplace/external_plugins/sequant/skills/qa/SKILL.md +306 -8
  15. package/dist/marketplace/external_plugins/sequant/skills/release/SKILL.md +79 -0
  16. package/dist/marketplace/external_plugins/sequant/skills/spec/SKILL.md +40 -20
  17. package/dist/marketplace/external_plugins/sequant/skills/spec/references/recommended-workflow.md +14 -1
  18. package/dist/marketplace/external_plugins/sequant/skills/test/SKILL.md +1 -1
  19. package/dist/marketplace/external_plugins/sequant/skills/testgen/SKILL.md +23 -6
  20. package/dist/src/commands/doctor.js +20 -18
  21. package/dist/src/commands/locks.d.ts +20 -1
  22. package/dist/src/commands/locks.js +206 -4
  23. package/dist/src/commands/ready.d.ts +6 -0
  24. package/dist/src/commands/ready.js +19 -1
  25. package/dist/src/commands/run-display.js +1 -0
  26. package/dist/src/commands/worktree.d.ts +31 -0
  27. package/dist/src/commands/worktree.js +95 -0
  28. package/dist/src/lib/ac-linter.js +26 -0
  29. package/dist/src/lib/ac-parser.d.ts +40 -0
  30. package/dist/src/lib/ac-parser.js +202 -16
  31. package/dist/src/lib/cli-flags.d.ts +23 -0
  32. package/dist/src/lib/cli-flags.js +43 -0
  33. package/dist/src/lib/cli-ui/run-renderer-types.d.ts +2 -0
  34. package/dist/src/lib/cli-ui/run-renderer.js +7 -1
  35. package/dist/src/lib/locks/checkout-lock.d.ts +193 -0
  36. package/dist/src/lib/locks/checkout-lock.js +389 -0
  37. package/dist/src/lib/locks/index.d.ts +6 -3
  38. package/dist/src/lib/locks/index.js +4 -2
  39. package/dist/src/lib/locks/lock-manager.d.ts +81 -1
  40. package/dist/src/lib/locks/lock-manager.js +230 -5
  41. package/dist/src/lib/locks/types.d.ts +72 -0
  42. package/dist/src/lib/locks/types.js +28 -0
  43. package/dist/src/lib/markdown-fence.d.ts +24 -0
  44. package/dist/src/lib/markdown-fence.js +51 -0
  45. package/dist/src/lib/mcp-config.d.ts +24 -0
  46. package/dist/src/lib/mcp-config.js +51 -0
  47. package/dist/src/lib/scope/analyzer.d.ts +4 -0
  48. package/dist/src/lib/scope/analyzer.js +7 -1
  49. package/dist/src/lib/settings.d.ts +111 -1
  50. package/dist/src/lib/settings.js +59 -0
  51. package/dist/src/lib/system.d.ts +7 -3
  52. package/dist/src/lib/system.js +7 -3
  53. package/dist/src/lib/test-tautology-detector.d.ts +4 -3
  54. package/dist/src/lib/test-tautology-detector.js +147 -40
  55. package/dist/src/lib/workflow/batch-executor.d.ts +20 -1
  56. package/dist/src/lib/workflow/batch-executor.js +154 -23
  57. package/dist/src/lib/workflow/config-resolver.d.ts +25 -0
  58. package/dist/src/lib/workflow/config-resolver.js +90 -0
  59. package/dist/src/lib/workflow/drivers/agent-driver.d.ts +22 -0
  60. package/dist/src/lib/workflow/drivers/claude-code.js +14 -3
  61. package/dist/src/lib/workflow/effort-escalation.d.ts +73 -0
  62. package/dist/src/lib/workflow/effort-escalation.js +82 -0
  63. package/dist/src/lib/workflow/error-classifier.d.ts +4 -1
  64. package/dist/src/lib/workflow/error-classifier.js +4 -0
  65. package/dist/src/lib/workflow/log-writer.d.ts +10 -1
  66. package/dist/src/lib/workflow/log-writer.js +20 -0
  67. package/dist/src/lib/workflow/metrics-schema.d.ts +49 -6
  68. package/dist/src/lib/workflow/metrics-schema.js +33 -0
  69. package/dist/src/lib/workflow/metrics-writer.d.ts +11 -0
  70. package/dist/src/lib/workflow/mutation-marker.d.ts +86 -0
  71. package/dist/src/lib/workflow/mutation-marker.js +97 -0
  72. package/dist/src/lib/workflow/phase-detection.d.ts +12 -0
  73. package/dist/src/lib/workflow/phase-detection.js +5 -1
  74. package/dist/src/lib/workflow/phase-executor.d.ts +17 -0
  75. package/dist/src/lib/workflow/phase-executor.js +60 -4
  76. package/dist/src/lib/workflow/qa-gaps-marker.d.ts +38 -0
  77. package/dist/src/lib/workflow/qa-gaps-marker.js +66 -0
  78. package/dist/src/lib/workflow/ready-gate.d.ts +53 -1
  79. package/dist/src/lib/workflow/ready-gate.js +105 -14
  80. package/dist/src/lib/workflow/run-log-schema.d.ts +175 -0
  81. package/dist/src/lib/workflow/run-log-schema.js +71 -1
  82. package/dist/src/lib/workflow/run-orchestrator.js +27 -0
  83. package/dist/src/lib/workflow/spec-recommendation.d.ts +71 -0
  84. package/dist/src/lib/workflow/spec-recommendation.js +142 -0
  85. package/dist/src/lib/workflow/state-schema.d.ts +5 -1
  86. package/dist/src/lib/workflow/state-schema.js +8 -1
  87. package/dist/src/lib/workflow/types.d.ts +78 -0
  88. package/dist/src/lib/workflow/worktree-manager.d.ts +8 -1
  89. package/dist/src/lib/workflow/worktree-manager.js +9 -1
  90. package/dist/src/lib/workflow/worktree-resolver.d.ts +73 -0
  91. package/dist/src/lib/workflow/worktree-resolver.js +126 -0
  92. package/package.json +4 -3
  93. package/templates/hooks/pre-tool.sh +331 -12
  94. package/templates/scripts/cleanup-worktree.sh +36 -15
  95. package/templates/scripts/new-feature.sh +25 -19
  96. package/templates/skills/_shared/references/subagent-types.md +7 -18
  97. package/templates/skills/assess/SKILL.md +5 -1
  98. package/templates/skills/exec/SKILL.md +62 -8
  99. package/templates/skills/fullsolve/SKILL.md +187 -28
  100. package/templates/skills/loop/SKILL.md +127 -23
  101. package/templates/skills/merger/SKILL.md +130 -13
  102. package/templates/skills/qa/SKILL.md +306 -8
  103. package/templates/skills/release/SKILL.md +79 -0
  104. package/templates/skills/spec/SKILL.md +40 -20
  105. package/templates/skills/spec/references/recommended-workflow.md +14 -1
  106. package/templates/skills/test/SKILL.md +1 -1
  107. package/templates/skills/testgen/SKILL.md +23 -6
  108. package/templates/agents/sequant-explorer.md +0 -24
@@ -1,6 +1,17 @@
1
1
  # Recommended Workflow Format
2
2
 
3
- This document shows the expected output format for the `## Recommended Workflow` section in `/spec` output. The `parseRecommendedWorkflow()` function parses this format to determine which phases to execute.
3
+ This document shows the expected output format for the `## Recommended Workflow` section in `/spec` output.
4
+
5
+ ## Resolution chain (#921)
6
+
7
+ `sequant run` resolves phases through an ordered chain, not `parseRecommendedWorkflow()` alone:
8
+
9
+ 1. **`SEQUANT_SPEC` marker** — a structured HTML comment in the posted plan comment, e.g. `<!-- SEQUANT_SPEC: {"phases":["testgen","exec","qa"],"qualityLoop":true} -->`. This is the primary, durable channel — always emit it alongside the prose section below.
10
+ 2. **Comment prose** — `parseRecommendedWorkflow()` applied to the plan comment body (same format as this doc).
11
+ 3. **Chat text** — the same parser applied to the spec agent's chat output. Nondeterministic: only present if the agent happens to restate the section in chat rather than posting via a body file (#814).
12
+ 4. **Label fallback** — `detectPhasesFromLabels()`. Can never produce `testgen` or `security-review`.
13
+
14
+ The marker's `phases` array excludes `spec` (it already ran) and must name only registered phases — an unknown phase name invalidates the whole marker and falls through to step 2.
4
15
 
5
16
  ## Format
6
17
 
@@ -10,6 +21,8 @@ This document shows the expected output format for the `## Recommended Workflow`
10
21
  **Phases:** spec → exec → qa
11
22
  **Quality Loop:** disabled
12
23
  **Reasoning:** Brief explanation of why this workflow was chosen.
24
+
25
+ <!-- SEQUANT_SPEC: {"phases":["exec","qa"],"qualityLoop":false} -->
13
26
  ```
14
27
 
15
28
  ## Examples
@@ -582,7 +582,7 @@ Create structured test results:
582
582
  ### 3.2 GitHub Comment
583
583
 
584
584
  **If orchestrated (SEQUANT_ORCHESTRATOR is set):**
585
- - Skip posting GitHub comment (orchestrator handles summary)
585
+ - Skip posting this skill's own GitHub comment no per-phase comment is posted under `sequant run`; test results surface through the run summary and the PR body (#964)
586
586
  - Include test summary in output for orchestrator to capture
587
587
  - Let orchestrator aggregate results across phases
588
588
 
@@ -6,6 +6,7 @@ metadata:
6
6
  author: sequant
7
7
  version: "1.0"
8
8
  allowed-tools:
9
+ - Bash(npx sequant worktree:*)
9
10
  - Read
10
11
  - Write
11
12
  - Edit
@@ -530,17 +531,33 @@ If an AC has verification method "N/A - Trivial", skip test generation and note
530
531
 
531
532
  ### Step 4: Locate Feature Worktree
532
533
 
533
- If generating file-based tests (Unit Test, Integration Test), find the worktree:
534
+ If generating file-based tests (Unit Test, Integration Test), find the worktree.
534
535
 
535
- ```bash
536
- git worktree list | grep -E "feature.*<issue-number>" || true
537
- ```
536
+ <!-- BEGIN: worktree-standalone-lookup (#899) -->
537
+
538
+ Resolve it through git, not the filesystem:
538
539
 
539
- Or check:
540
540
  ```bash
541
- ls ../worktrees/feature/<issue-number>-*/
541
+ WORKTREE="$(npx sequant worktree resolve <issue-number>)" || {
542
+ echo "❌ HALT: no worktree for #<issue-number> in this repository."
543
+ exit 1
544
+ }
545
+ cd "$WORKTREE"
542
546
  ```
543
547
 
548
+ `sequant worktree resolve` reads `git worktree list` in the current repository
549
+ — which reports only *this* repo's worktrees — and selects on the **branch**
550
+ git reports, not the directory name.
551
+
552
+ **Do not glob `../worktrees/feature/<issue-number>-*`, and do not grep
553
+ `git worktree list` for the issue number.** The first matches across sibling
554
+ repositories, which share that directory; the second matches the printed path,
555
+ so it keys on the directory slug — and a slug can drift from its own branch
556
+ after a rename. Because this skill **writes test files**, landing in the wrong
557
+ tree scatters stubs into an unrelated project.
558
+
559
+ <!-- END: worktree-standalone-lookup (#899) -->
560
+
544
561
  Create test directories if needed:
545
562
  ```bash
546
563
  mkdir -p __tests__/integration
@@ -1,24 +0,0 @@
1
- ---
2
- name: sequant-explorer
3
- description: Codebase exploration agent for sequant /spec phase. Searches for existing patterns, components, database schemas, and file structures. Use when gathering context before planning a feature implementation.
4
- # Note: per anthropics/claude-code#43869 this is currently a no-op; agent runs on parent's model
5
- model: haiku
6
- maxTurns: 15
7
- tools:
8
- - Read
9
- - Grep
10
- - Glob
11
- ---
12
-
13
- You are an exploration agent for the sequant development workflow.
14
-
15
- Your job is to search the codebase for existing patterns, components, and structures relevant to a planned feature.
16
-
17
- Rules:
18
- - Search thoroughly across relevant directories
19
- - Report findings in structured format: file paths, patterns discovered, recommendations
20
- - Do NOT modify any files
21
- - Do NOT run shell commands
22
- - Send results back via SendMessage when complete
23
- - All grep commands must use `|| true` to prevent exit code 1 on zero matches
24
- - Focus on actionable findings that inform implementation decisions