sequant 1.2.1 → 1.2.4
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/README.md +18 -0
- package/dist/bin/cli.js +25 -4
- package/dist/bin/cli.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +29 -1
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/lib/manifest.d.ts.map +1 -1
- package/dist/src/lib/manifest.js +26 -1
- package/dist/src/lib/manifest.js.map +1 -1
- package/dist/src/lib/settings.js +1 -1
- package/dist/src/lib/settings.js.map +1 -1
- package/package.json +1 -1
- package/templates/skills/solve/SKILL.md +43 -20
package/README.md
CHANGED
|
@@ -105,9 +105,27 @@ npx sequant run 123 # Single issue
|
|
|
105
105
|
npx sequant run 1 2 3 # Multiple issues in parallel
|
|
106
106
|
npx sequant run 1 2 3 --sequential # Run in order
|
|
107
107
|
npx sequant run 123 --phases spec,qa # Custom phases
|
|
108
|
+
npx sequant run 123 --quality-loop # Auto-retry on failures
|
|
108
109
|
npx sequant run 123 --dry-run # Preview without execution
|
|
109
110
|
```
|
|
110
111
|
|
|
112
|
+
#### Quality Loop
|
|
113
|
+
|
|
114
|
+
Quality loop provides automatic fix iterations when phases fail:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npx sequant run 123 --quality-loop # Enable for any issue
|
|
118
|
+
npx sequant run 123 --quality-loop --max-iterations 5 # Custom limit
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**How it works:**
|
|
122
|
+
1. Runs phases normally (spec → exec → qa)
|
|
123
|
+
2. If a phase fails, runs `/loop` to fix issues
|
|
124
|
+
3. Re-runs failed phases after fixes
|
|
125
|
+
4. Iterates up to 3 times (default)
|
|
126
|
+
|
|
127
|
+
**Smart defaults:** Quality loop auto-enables for issues with `complex`, `refactor`, `breaking`, or `major` labels—no flag needed.
|
|
128
|
+
|
|
111
129
|
#### Phase Detection
|
|
112
130
|
|
|
113
131
|
When you run `sequant run`, phases are determined automatically using a three-level detection system:
|
package/dist/bin/cli.js
CHANGED
|
@@ -6,11 +6,32 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { Command } from "commander";
|
|
8
8
|
import chalk from "chalk";
|
|
9
|
-
import {
|
|
9
|
+
import { fileURLToPath } from "url";
|
|
10
|
+
import { dirname, resolve } from "path";
|
|
11
|
+
import { readFileSync } from "fs";
|
|
10
12
|
import { initCommand } from "../src/commands/init.js";
|
|
11
|
-
// Read version from package.json
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
// Read version from package.json dynamically
|
|
14
|
+
// Works from both source (bin/) and compiled (dist/bin/) locations
|
|
15
|
+
function getVersion() {
|
|
16
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
|
+
let dir = __dirname;
|
|
18
|
+
while (dir !== dirname(dir)) {
|
|
19
|
+
const candidate = resolve(dir, "package.json");
|
|
20
|
+
try {
|
|
21
|
+
const content = readFileSync(candidate, "utf-8");
|
|
22
|
+
const pkg = JSON.parse(content);
|
|
23
|
+
if (pkg.name === "sequant") {
|
|
24
|
+
return pkg.version;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Not found, continue searching
|
|
29
|
+
}
|
|
30
|
+
dir = dirname(dir);
|
|
31
|
+
}
|
|
32
|
+
return "0.0.0"; // Fallback
|
|
33
|
+
}
|
|
34
|
+
const version = getVersion();
|
|
14
35
|
import { updateCommand } from "../src/commands/update.js";
|
|
15
36
|
import { doctorCommand } from "../src/commands/doctor.js";
|
|
16
37
|
import { statusCommand } from "../src/commands/status.js";
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsDH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsDH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA2CD,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmOrE"}
|
|
@@ -8,7 +8,7 @@ import { copyTemplates } from "../lib/templates.js";
|
|
|
8
8
|
import { createManifest } from "../lib/manifest.js";
|
|
9
9
|
import { saveConfig } from "../lib/config.js";
|
|
10
10
|
import { createDefaultSettings } from "../lib/settings.js";
|
|
11
|
-
import { fileExists, ensureDir } from "../lib/fs.js";
|
|
11
|
+
import { fileExists, ensureDir, readFile, writeFile } from "../lib/fs.js";
|
|
12
12
|
import { commandExists, isGhAuthenticated, getInstallHint, } from "../lib/system.js";
|
|
13
13
|
import { shouldUseInteractiveMode, getNonInteractiveReason, } from "../lib/tty.js";
|
|
14
14
|
/**
|
|
@@ -32,6 +32,34 @@ function checkPrerequisites() {
|
|
|
32
32
|
}
|
|
33
33
|
return { warnings, suggestions };
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Entries to add to .gitignore
|
|
37
|
+
*/
|
|
38
|
+
const GITIGNORE_ENTRIES = [
|
|
39
|
+
"",
|
|
40
|
+
"# Sequant runtime data (logs, settings)",
|
|
41
|
+
".sequant/",
|
|
42
|
+
];
|
|
43
|
+
/**
|
|
44
|
+
* Update .gitignore with Sequant entries
|
|
45
|
+
*/
|
|
46
|
+
async function updateGitignore() {
|
|
47
|
+
const gitignorePath = ".gitignore";
|
|
48
|
+
let content = "";
|
|
49
|
+
let existed = false;
|
|
50
|
+
if (await fileExists(gitignorePath)) {
|
|
51
|
+
content = await readFile(gitignorePath);
|
|
52
|
+
existed = true;
|
|
53
|
+
// Check if already has .sequant/
|
|
54
|
+
if (content.includes(".sequant/")) {
|
|
55
|
+
return false; // Already configured
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Append entries
|
|
59
|
+
const newContent = content.trimEnd() + "\n" + GITIGNORE_ENTRIES.join("\n") + "\n";
|
|
60
|
+
await writeFile(gitignorePath, newContent);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
35
63
|
/**
|
|
36
64
|
* Log a default value being used in non-interactive mode
|
|
37
65
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EACL,WAAW,EACX,cAAc,EACd,oBAAoB,GAGrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAiB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/lib/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA8BlD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAW5D;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAUpD"}
|
package/dist/src/lib/manifest.js
CHANGED
|
@@ -2,8 +2,33 @@
|
|
|
2
2
|
* Manifest management for tracking installed version
|
|
3
3
|
*/
|
|
4
4
|
import { readFile, writeFile, fileExists } from "./fs.js";
|
|
5
|
+
import { fileURLToPath } from "url";
|
|
6
|
+
import { dirname, resolve } from "path";
|
|
7
|
+
import { readFileSync } from "fs";
|
|
5
8
|
const MANIFEST_PATH = ".sequant-manifest.json";
|
|
6
|
-
|
|
9
|
+
// Get version from package.json dynamically
|
|
10
|
+
// Works from both source (src/lib/) and compiled (dist/src/lib/) locations
|
|
11
|
+
function findPackageJson() {
|
|
12
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
let dir = __dirname;
|
|
14
|
+
while (dir !== dirname(dir)) {
|
|
15
|
+
const candidate = resolve(dir, "package.json");
|
|
16
|
+
try {
|
|
17
|
+
const content = readFileSync(candidate, "utf-8");
|
|
18
|
+
const pkg = JSON.parse(content);
|
|
19
|
+
if (pkg.name === "sequant") {
|
|
20
|
+
return content;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
// Not found, continue searching
|
|
25
|
+
}
|
|
26
|
+
dir = dirname(dir);
|
|
27
|
+
}
|
|
28
|
+
throw new Error("Could not find sequant package.json");
|
|
29
|
+
}
|
|
30
|
+
const pkg = JSON.parse(findPackageJson());
|
|
31
|
+
const PACKAGE_VERSION = pkg.version;
|
|
7
32
|
export async function getManifest() {
|
|
8
33
|
if (!(await fileExists(MANIFEST_PATH))) {
|
|
9
34
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/lib/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../../src/lib/manifest.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C,4CAA4C;AAC5C,2EAA2E;AAC3E,SAAS,eAAe;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,OAAO,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACzD,CAAC;AACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;AAC1C,MAAM,eAAe,GAAG,GAAG,CAAC,OAAiB,CAAC;AAW9C,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,cAA+B;IAE/B,MAAM,QAAQ,GAAa;QACzB,OAAO,EAAE,eAAe;QACxB,KAAK;QACL,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC;QACzC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,OAAO,GAAG,eAAe,CAAC;IACnC,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
package/dist/src/lib/settings.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/lib/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,0CAA0C;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAEtD,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAkCtC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,OAAO,EAAE,gBAAgB;IACzB,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,eAAe;QACxB,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/lib/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,0CAA0C;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAEtD,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAkCtC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC/C,OAAO,EAAE,gBAAgB;IACzB,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,eAAe;QACxB,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,KAAK;QAClB,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,IAAI;KACjB;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA6B,CAAC;QAE/D,iDAAiD;QACjD,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,OAAO;YACnD,GAAG,EAAE;gBACH,GAAG,gBAAgB,CAAC,GAAG;gBACvB,GAAG,MAAM,CAAC,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,gBAAgB,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAyB;IAC1D,MAAM,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACxC,MAAM,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACvC,CAAC"}
|
package/package.json
CHANGED
|
@@ -46,6 +46,10 @@ gh issue view <issue-number> --json labels --jq '.labels[].name'
|
|
|
46
46
|
**Bug Fixes** (labels: `bug`, `fix`):
|
|
47
47
|
- May need simpler workflow, possibly skip `/spec`
|
|
48
48
|
|
|
49
|
+
**Complex Issues** (labels: `complex`, `refactor`, `breaking`, `major`):
|
|
50
|
+
- Recommend `--quality-loop` flag for auto-retry on failures
|
|
51
|
+
- Quality loop auto-enables for these labels in `sequant run`
|
|
52
|
+
|
|
49
53
|
## Output Format
|
|
50
54
|
|
|
51
55
|
Provide a clear, actionable response with:
|
|
@@ -72,7 +76,7 @@ Provide a clear, actionable response with:
|
|
|
72
76
|
| Issue | Title | Labels | Workflow |
|
|
73
77
|
|-------|-------|--------|----------|
|
|
74
78
|
| #152 | Add user dashboard | ui, enhancement | Full (with /test) |
|
|
75
|
-
| #153 |
|
|
79
|
+
| #153 | Refactor auth module | backend, refactor | Standard + quality loop |
|
|
76
80
|
|
|
77
81
|
### Recommended Workflow
|
|
78
82
|
|
|
@@ -81,37 +85,36 @@ Provide a clear, actionable response with:
|
|
|
81
85
|
/spec 152 # Plan the implementation
|
|
82
86
|
/exec 152 # Implement the feature
|
|
83
87
|
/test 152 # Browser-based UI testing
|
|
84
|
-
/qa
|
|
88
|
+
/qa 152 # Quality review
|
|
85
89
|
```
|
|
86
90
|
|
|
87
|
-
**For #153 (Backend
|
|
91
|
+
**For #153 (Backend refactor):**
|
|
88
92
|
```bash
|
|
89
|
-
/spec 153 #
|
|
90
|
-
/exec 153 # Implement
|
|
91
|
-
/qa
|
|
93
|
+
/spec 153 # Plan the refactor
|
|
94
|
+
/exec 153 # Implement changes
|
|
95
|
+
/qa 153 # Quality review
|
|
92
96
|
```
|
|
93
97
|
|
|
94
|
-
|
|
98
|
+
> **Note:** Issue #153 has `refactor` label. Quality loop will **auto-enable** when using `sequant run`, providing automatic fix iterations if phases fail.
|
|
99
|
+
|
|
100
|
+
### CLI Command
|
|
95
101
|
|
|
96
|
-
|
|
102
|
+
Run from terminal:
|
|
97
103
|
```bash
|
|
98
|
-
|
|
104
|
+
npx sequant run 152 153
|
|
99
105
|
```
|
|
100
106
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Run from terminal (useful for automation/CI):
|
|
107
|
+
For issue #153 (or any complex work), quality loop is recommended:
|
|
104
108
|
```bash
|
|
105
|
-
npx sequant run
|
|
106
|
-
npx sequant run 152 153 # Multiple issues
|
|
109
|
+
npx sequant run 153 --quality-loop # Explicit (auto-enabled for refactor label)
|
|
107
110
|
```
|
|
108
111
|
|
|
109
|
-
> **Tip:**
|
|
112
|
+
> **Tip:** Install globally with `npm install -g sequant` to omit the `npx` prefix.
|
|
110
113
|
|
|
111
114
|
### Notes
|
|
112
115
|
- Issue #152 requires UI testing due to `ui` label
|
|
113
|
-
- Issue #153
|
|
114
|
-
-
|
|
116
|
+
- Issue #153 will auto-enable quality loop due to `refactor` label
|
|
117
|
+
- Quality loop: auto-retries failed phases up to 3 times
|
|
115
118
|
```
|
|
116
119
|
|
|
117
120
|
## Workflow Selection Logic
|
|
@@ -155,9 +158,13 @@ Runs complete workflow with automatic fix iterations.
|
|
|
155
158
|
| UI Feature | ui, frontend, admin | spec → exec → test → qa |
|
|
156
159
|
| Backend Feature | backend, api | spec → exec → qa |
|
|
157
160
|
| Bug Fix | bug, fix | exec → qa (or full if complex) |
|
|
158
|
-
| Complex Feature | complex, refactor | fullsolve |
|
|
161
|
+
| Complex Feature | complex, refactor | `--quality-loop` or fullsolve |
|
|
159
162
|
| Documentation | docs | exec → qa |
|
|
160
163
|
|
|
164
|
+
**Quality Loop vs Fullsolve:**
|
|
165
|
+
- `--quality-loop`: Enables auto-retry within `sequant run` (good for CI/automation)
|
|
166
|
+
- `/fullsolve`: Interactive single-issue resolution with inline loops (good for manual work)
|
|
167
|
+
|
|
161
168
|
## CLI Alternative
|
|
162
169
|
|
|
163
170
|
Use `npx sequant run` for batch execution from the command line:
|
|
@@ -175,6 +182,12 @@ npx sequant run 152 153 --sequential
|
|
|
175
182
|
# Custom phases
|
|
176
183
|
npx sequant run 152 --phases spec,exec,qa
|
|
177
184
|
|
|
185
|
+
# Quality loop (auto-retry on failures, max 3 iterations)
|
|
186
|
+
npx sequant run 152 --quality-loop
|
|
187
|
+
|
|
188
|
+
# Quality loop with custom iterations
|
|
189
|
+
npx sequant run 152 --quality-loop --max-iterations 5
|
|
190
|
+
|
|
178
191
|
# Dry run (shows what would execute)
|
|
179
192
|
npx sequant run 152 --dry-run
|
|
180
193
|
```
|
|
@@ -233,7 +246,7 @@ You MUST use this exact structure:
|
|
|
233
246
|
|
|
234
247
|
| Issue | Title | Labels | Workflow |
|
|
235
248
|
|-------|-------|--------|----------|
|
|
236
|
-
<!-- FILL: one row per issue -->
|
|
249
|
+
<!-- FILL: one row per issue. For complex/refactor/breaking/major labels, add "+ quality loop" to Workflow -->
|
|
237
250
|
|
|
238
251
|
### Recommended Workflow
|
|
239
252
|
|
|
@@ -242,15 +255,25 @@ You MUST use this exact structure:
|
|
|
242
255
|
<!-- FILL: slash commands in order -->
|
|
243
256
|
\`\`\`
|
|
244
257
|
|
|
258
|
+
<!-- IF any issue has complex/refactor/breaking/major label, include this callout: -->
|
|
259
|
+
> **Note:** Issue #<N> has `<label>` label. Quality loop will **auto-enable** when using `sequant run`, providing automatic fix iterations if phases fail.
|
|
260
|
+
|
|
245
261
|
### CLI Command
|
|
246
262
|
|
|
247
|
-
Run from terminal
|
|
263
|
+
Run from terminal:
|
|
248
264
|
\`\`\`bash
|
|
249
265
|
npx sequant run <ISSUE_NUMBERS>
|
|
250
266
|
\`\`\`
|
|
251
267
|
|
|
268
|
+
<!-- IF any issue has complex/refactor/breaking/major label, include: -->
|
|
269
|
+
For complex issues, quality loop is recommended:
|
|
270
|
+
\`\`\`bash
|
|
271
|
+
npx sequant run <ISSUE_NUMBER> --quality-loop # Explicit (auto-enabled for <label> label)
|
|
272
|
+
\`\`\`
|
|
273
|
+
|
|
252
274
|
> **Tip:** Install globally with `npm install -g sequant` to omit the `npx` prefix.
|
|
253
275
|
|
|
254
276
|
### Notes
|
|
255
277
|
<!-- FILL: explanation of workflow choices -->
|
|
278
|
+
<!-- Include note about quality loop auto-enabling if applicable -->
|
|
256
279
|
```
|