sequant 2.8.0 → 2.9.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 +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +9 -1
- package/dist/bin/cli.js +2 -1
- package/dist/marketplace/external_plugins/sequant/.claude-plugin/plugin.json +1 -1
- package/dist/marketplace/external_plugins/sequant/README.md +2 -0
- package/dist/marketplace/external_plugins/sequant/hooks/post-tool.sh +18 -3
- package/dist/marketplace/external_plugins/sequant/hooks/pre-tool.sh +330 -57
- package/dist/marketplace/external_plugins/sequant/skills/assess/SKILL.md +96 -15
- package/dist/marketplace/external_plugins/sequant/skills/assess/references/predicted-collision-detection.md +9 -6
- package/dist/marketplace/external_plugins/sequant/skills/fullsolve/SKILL.md +1 -1
- package/dist/marketplace/external_plugins/sequant/skills/reflect/SKILL.md +27 -13
- package/dist/marketplace/external_plugins/sequant/skills/reflect/references/documentation-tiers.md +80 -68
- package/dist/marketplace/external_plugins/sequant/skills/reflect/references/phase-reflection.md +31 -15
- package/dist/marketplace/external_plugins/sequant/skills/release/SKILL.md +10 -2
- package/dist/marketplace/external_plugins/sequant/skills/spec/references/verification-criteria.md +1 -1
- package/dist/src/commands/logs.js +6 -1
- package/dist/src/commands/run-display.d.ts +20 -0
- package/dist/src/commands/run-display.js +80 -1
- package/dist/src/commands/stats.js +47 -0
- package/dist/src/lib/assess-collision-detect.d.ts +19 -2
- package/dist/src/lib/assess-collision-detect.js +68 -4
- package/dist/src/lib/cli-ui/run-renderer.js +17 -9
- package/dist/src/lib/errors.d.ts +6 -0
- package/dist/src/lib/errors.js +9 -2
- package/dist/src/lib/manifest.js +1 -17
- package/dist/src/lib/version-check.js +1 -5
- package/dist/src/lib/workflow/batch-executor.d.ts +13 -0
- package/dist/src/lib/workflow/batch-executor.js +81 -18
- package/dist/src/lib/workflow/chain-preflight.d.ts +89 -0
- package/dist/src/lib/workflow/chain-preflight.js +199 -0
- package/dist/src/lib/workflow/chain-resume.d.ts +116 -0
- package/dist/src/lib/workflow/chain-resume.js +166 -0
- package/dist/src/lib/workflow/dependency-markers.d.ts +29 -0
- package/dist/src/lib/workflow/dependency-markers.js +79 -0
- package/dist/src/lib/workflow/drivers/claude-code.d.ts +7 -0
- package/dist/src/lib/workflow/drivers/claude-code.js +30 -6
- package/dist/src/lib/workflow/error-classifier.d.ts +9 -2
- package/dist/src/lib/workflow/error-classifier.js +14 -1
- package/dist/src/lib/workflow/log-writer.js +6 -8
- package/dist/src/lib/workflow/metrics-schema.d.ts +39 -0
- package/dist/src/lib/workflow/metrics-schema.js +16 -0
- package/dist/src/lib/workflow/metrics-writer.d.ts +2 -1
- package/dist/src/lib/workflow/phase-executor.d.ts +32 -0
- package/dist/src/lib/workflow/phase-executor.js +77 -5
- package/dist/src/lib/workflow/run-log-schema.d.ts +23 -0
- package/dist/src/lib/workflow/run-log-schema.js +45 -1
- package/dist/src/lib/workflow/run-orchestrator.d.ts +14 -0
- package/dist/src/lib/workflow/run-orchestrator.js +291 -30
- package/dist/src/lib/workflow/status-derivation.d.ts +30 -0
- package/dist/src/lib/workflow/status-derivation.js +27 -0
- package/dist/src/lib/workflow/types.d.ts +23 -0
- package/dist/src/lib/workflow/worktree-manager.d.ts +43 -1
- package/dist/src/lib/workflow/worktree-manager.js +103 -33
- package/dist/src/mcp/tools/run.d.ts +2 -0
- package/dist/src/mcp/tools/run.js +2 -0
- package/package.json +2 -4
- package/templates/hooks/post-tool.sh +18 -3
- package/templates/hooks/pre-tool.sh +330 -57
- package/templates/scripts/cleanup-worktree.sh +103 -14
- package/templates/skills/assess/SKILL.md +96 -15
- package/templates/skills/assess/references/predicted-collision-detection.md +9 -6
- package/templates/skills/fullsolve/SKILL.md +1 -1
- package/templates/skills/reflect/SKILL.md +27 -13
- package/templates/skills/reflect/references/documentation-tiers.md +80 -68
- package/templates/skills/reflect/references/phase-reflection.md +31 -15
- package/templates/skills/release/SKILL.md +10 -2
- package/templates/skills/spec/references/verification-criteria.md +1 -1
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
{
|
|
9
9
|
"name": "sequant",
|
|
10
10
|
"description": "AI coding agent orchestrator for Claude Code — resolve GitHub issues end-to-end with isolated git worktrees, quality gates, and an MCP server. Includes 17 skills, workflow MCP tools, and pre/post-tool hooks.",
|
|
11
|
-
"version": "2.
|
|
11
|
+
"version": "2.9.0",
|
|
12
12
|
"author": {
|
|
13
13
|
"name": "sequant-io",
|
|
14
14
|
"email": "hello@sequant.io"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sequant",
|
|
3
3
|
"description": "AI coding agent orchestrator for Claude Code — resolve GitHub issues end-to-end with isolated git worktrees and quality gates, through spec → exec → qa phases.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.9.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "sequant-io",
|
|
7
7
|
"email": "hello@sequant.io"
|
package/README.md
CHANGED
|
@@ -16,6 +16,12 @@ AI coding agents write code well, but leave you to run the workflow around it
|
|
|
16
16
|
|
|
17
17
|
See the [CHANGELOG](CHANGELOG.md) for release notes, or the [migration guide](CHANGELOG.md#migration-from-v1x) if upgrading from v1.x.
|
|
18
18
|
|
|
19
|
+
### What's new in 2.9
|
|
20
|
+
|
|
21
|
+
- **`--chain` survives a failed link** — re-running a partially-completed chain resumes from its last good link, skipping the completed prefix and rebasing onto that committed tip instead of redoing hours of finished work (#760). A warn-by-default content pre-flight also runs before the first worktree is provisioned, flagging missing ACs, mis-ordered dependencies, predicted file overlaps, and closed issues; `--strict-preflight` makes any warning a hard stop (#762).
|
|
22
|
+
- **Rate limits stop burning hours** — a rate limit hit inside a phase now skips doomed cold-start retries, and the run summary labels the chain halt with its cause and how to resume, instead of cascading into a ~2h retry ladder (#761).
|
|
23
|
+
- **Stale plugin-cache warning** — `pre-tool.sh` now prints a once-per-day, network-free reminder (`claude plugin update sequant@sequant`) when a plugin-channel install has drifted behind the marketplace (#784, #788).
|
|
24
|
+
|
|
19
25
|
### What's new in 2.8
|
|
20
26
|
|
|
21
27
|
- **Clearer failures when an agent stops early** — phases that hit a turn cap now preserve their partial work and halt cleanly for resume instead of discarding it (#739, #733), and rate-limit/out-of-credits failures are named for what they are (with reset time and credit-purchase hints) rather than buried under generic retry noise (#732).
|
|
@@ -42,7 +48,7 @@ See the [CHANGELOG](CHANGELOG.md) for release notes, or the [migration guide](CH
|
|
|
42
48
|
### Prerequisites
|
|
43
49
|
|
|
44
50
|
**An AI coding agent — one of:**
|
|
45
|
-
- [Claude Code](https://claude.ai/code) — default agent
|
|
51
|
+
- [Claude Code](https://claude.ai/code) — default agent. **Recommended: Claude Code ≥ 2.1.208.** The pre-tool hooks lean on Claude Code's native dangerous-`rm` analyzer (which fires even under `bypassPermissions`) instead of re-implementing catastrophic-delete detection; that analyzer's command-substitution coverage landed in 2.1.208. This is a recommendation, not an enforced floor — plugins cannot declare a minimum Claude Code version, so nothing gates install, and the pre-2.1.208 command-substitution gap (e.g. `echo "$(rm -rf ~)"`) is accepted rather than guarded.
|
|
46
52
|
- [Aider](https://aider.chat/) — alternative, via `--agent aider`
|
|
47
53
|
|
|
48
54
|
**Always required (both):**
|
|
@@ -68,6 +74,8 @@ Pick the path that matches **where you run Sequant**:
|
|
|
68
74
|
/sequant:setup
|
|
69
75
|
```
|
|
70
76
|
|
|
77
|
+
> **Plugins do not auto-update.** Claude Code pins a plugin to the version you installed and never updates it on its own — even as new releases ship. To pick up a new version, run `claude plugin update sequant@sequant`, then restart Claude Code. Sequant's pre-tool hook warns once a day when your installed version falls behind the marketplace.
|
|
78
|
+
|
|
71
79
|
**Headless / CI (npm package)** — drive runs from the terminal or a CI job:
|
|
72
80
|
```bash
|
|
73
81
|
npm install sequant # or: pnpm add / yarn add / bun add sequant
|
package/dist/bin/cli.js
CHANGED
|
@@ -196,9 +196,10 @@ program
|
|
|
196
196
|
.option("--testgen", "Run testgen phase after spec")
|
|
197
197
|
.option("--security-review", "Run security-review phase after spec")
|
|
198
198
|
.option("-s, --quiet", "Suppress version warnings and non-essential output (heartbeat-only)")
|
|
199
|
-
.option("--chain", "Chain issues: each
|
|
199
|
+
.option("--chain", "Chain issues: each successor is rebased onto the previous issue's committed work before it runs (implies --sequential)")
|
|
200
200
|
.option("--stacked", "Stack PRs: middle PRs target predecessor branch instead of main; first/last target main (implies --chain)")
|
|
201
201
|
.option("--qa-gate", "Wait for QA pass before starting next issue in chain (requires --chain)")
|
|
202
|
+
.option("--strict-preflight", "Make --chain content pre-flight warnings (missing AC, dependency/overlap order, closed issues) fatal before any worktree is provisioned")
|
|
202
203
|
.option("--base <branch>", "Base branch for worktree creation (default: main or settings.run.defaultBase)")
|
|
203
204
|
.option("--no-mcp", "Disable MCP server injection in headless mode")
|
|
204
205
|
.option("--no-retry", "Disable automatic retry with MCP fallback (useful for debugging)")
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sequant",
|
|
3
3
|
"description": "AI coding agent orchestrator for Claude Code — resolve GitHub issues end-to-end with isolated git worktrees and quality gates, through spec → exec → qa phases.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.9.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "sequant-io",
|
|
7
7
|
"email": "hello@sequant.io"
|
|
@@ -20,6 +20,8 @@ Or browse in `/plugin > Discover`.
|
|
|
20
20
|
|
|
21
21
|
After installing, run `/sequant:setup` to configure your project.
|
|
22
22
|
|
|
23
|
+
> **Plugins do not auto-update.** Claude Code pins a plugin to the version you installed. To pick up a new release, run `claude plugin update sequant@sequant`, then restart Claude Code.
|
|
24
|
+
|
|
23
25
|
### npm (power users / CI)
|
|
24
26
|
|
|
25
27
|
```bash
|
|
@@ -51,13 +51,28 @@ fi
|
|
|
51
51
|
|
|
52
52
|
_TMPDIR="${TMPDIR:-/tmp}"
|
|
53
53
|
|
|
54
|
-
#
|
|
55
|
-
|
|
54
|
+
# Log sink (#763 AC-5c: blocked-command history must survive to be a useful
|
|
55
|
+
# regression corpus, so $TMPDIR — which macOS purges — is a last resort only).
|
|
56
|
+
#
|
|
57
|
+
# This block MUST stay identical to the one in pre-tool.sh. The two hooks
|
|
58
|
+
# write the *same* claude-timing.log (START there, END here) and the same
|
|
59
|
+
# claude-quality.log, so any divergence silently splits every START/END pair
|
|
60
|
+
# across two files.
|
|
61
|
+
#
|
|
62
|
+
# Every candidate is absolute and lives outside the repo. A repo-local or
|
|
63
|
+
# relative path is wrong three times over: it resolves against the hook's cwd
|
|
64
|
+
# (which Claude Code does not pin), it yields one sink per directory instead
|
|
65
|
+
# of the single corpus AC-5 asks for, and — worst — creating it inside a repo
|
|
66
|
+
# makes `git status --porcelain` non-empty, which silently defeats pre-tool.sh's
|
|
67
|
+
# no-changes guard that reads exactly that output.
|
|
68
|
+
if [[ -n "${CLAUDE_PLUGIN_DATA:-}" ]]; then
|
|
56
69
|
_LOG_DIR="${CLAUDE_PLUGIN_DATA}/logs"
|
|
57
|
-
|
|
70
|
+
elif [[ -n "${HOME:-}" ]]; then
|
|
71
|
+
_LOG_DIR="${HOME}/.sequant/logs"
|
|
58
72
|
else
|
|
59
73
|
_LOG_DIR="${_TMPDIR}"
|
|
60
74
|
fi
|
|
75
|
+
mkdir -p "$_LOG_DIR" 2>/dev/null || _LOG_DIR="${_TMPDIR}"
|
|
61
76
|
|
|
62
77
|
TIMING_LOG="${_LOG_DIR}/claude-timing.log"
|
|
63
78
|
QUALITY_LOG="${_LOG_DIR}/claude-quality.log"
|