@boyingliu01/xp-gate 0.12.3 → 0.12.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/adapters/cpp.sh +0 -0
- package/adapters/dart.sh +0 -0
- package/adapters/flutter.sh +0 -0
- package/adapters/go.sh +0 -0
- package/adapters/java.sh +0 -0
- package/adapters/kotlin.sh +0 -0
- package/adapters/objectivec.sh +0 -0
- package/adapters/powershell.sh +0 -0
- package/adapters/python.sh +0 -0
- package/adapters/shell.sh +0 -0
- package/adapters/swift.sh +0 -0
- package/adapters/typescript.sh +0 -0
- package/bin/xp-gate.js +0 -8
- package/gate-3.sh +0 -0
- package/gate-4.sh +0 -0
- package/gate-7.sh +0 -0
- package/gate-8.sh +0 -0
- package/gate-9.sh +0 -0
- package/lib/init.js +9 -6
- package/lib/sprint-status.js +35 -1
- package/lib/update-hooks.js +46 -46
- package/mock-policy/AGENTS.md +2 -2
- package/mutation/AGENTS.md +2 -2
- package/package.json +1 -1
- package/plugins/claude-code/.claude-plugin/plugin.json +1 -1
- package/plugins/claude-code/skills/delphi-review/AGENTS.md +2 -2
- package/plugins/claude-code/skills/sprint-flow/AGENTS.md +2 -2
- package/plugins/claude-code/skills/test-specification-alignment/AGENTS.md +2 -2
- package/plugins/opencode/package.json +1 -1
- package/plugins/opencode/skills/delphi-review/AGENTS.md +2 -2
- package/plugins/opencode/skills/sprint-flow/AGENTS.md +2 -2
- package/plugins/opencode/skills/test-specification-alignment/AGENTS.md +2 -2
- package/plugins/qoder/plugin.json +1 -1
- package/plugins/qoder/skills/delphi-review/AGENTS.md +2 -2
- package/plugins/qoder/skills/sprint-flow/AGENTS.md +2 -2
- package/plugins/qoder/skills/test-specification-alignment/AGENTS.md +2 -2
- package/principles/AGENTS.md +2 -2
- package/skills/delphi-review/AGENTS.md +2 -2
- package/skills/sprint-flow/AGENTS.md +2 -2
- package/skills/test-specification-alignment/AGENTS.md +2 -2
- package/lib/__tests__/next-sprint.test.js +0 -231
- package/lib/next-sprint.js +0 -129
- package/lib/shared-phase-constants.d.ts +0 -17
- package/lib/shared-phase-constants.js +0 -77
- package/plugins/opencode/__tests__/tui-plugin.test.ts +0 -543
- package/plugins/opencode/__tests__/xp-gate-e2e-upgrade.test.ts +0 -562
- package/plugins/opencode/__tests__/xp-gate-update.test.ts +0 -518
- package/plugins/opencode/tui-plugin.ts +0 -414
- package/plugins/opencode/tui-plugin.tsx +0 -306
package/adapters/cpp.sh
CHANGED
|
File without changes
|
package/adapters/dart.sh
CHANGED
|
File without changes
|
package/adapters/flutter.sh
CHANGED
|
File without changes
|
package/adapters/go.sh
CHANGED
|
File without changes
|
package/adapters/java.sh
CHANGED
|
File without changes
|
package/adapters/kotlin.sh
CHANGED
|
File without changes
|
package/adapters/objectivec.sh
CHANGED
|
File without changes
|
package/adapters/powershell.sh
CHANGED
|
File without changes
|
package/adapters/python.sh
CHANGED
|
File without changes
|
package/adapters/shell.sh
CHANGED
|
File without changes
|
package/adapters/swift.sh
CHANGED
|
File without changes
|
package/adapters/typescript.sh
CHANGED
|
File without changes
|
package/bin/xp-gate.js
CHANGED
|
@@ -137,14 +137,6 @@ const COMMANDS = {
|
|
|
137
137
|
},
|
|
138
138
|
usage: 'xp-gate sprint-status [--json] [--watch] [--dir <path>]'
|
|
139
139
|
},
|
|
140
|
-
'next-sprint': {
|
|
141
|
-
description: 'Analyze remaining open issues and plan next iteration',
|
|
142
|
-
run: subargs => {
|
|
143
|
-
const { handleNextSprint } = require('../lib/next-sprint.js');
|
|
144
|
-
handleNextSprint(subargs).then(code => process.exit(code));
|
|
145
|
-
},
|
|
146
|
-
usage: 'xp-gate next-sprint [--json] [--plan] [--dir <path>]'
|
|
147
|
-
},
|
|
148
140
|
'update-hooks': {
|
|
149
141
|
description: 'Sync latest hooks from xp-gate package to project',
|
|
150
142
|
run: subargs => {
|
package/gate-3.sh
CHANGED
|
File without changes
|
package/gate-4.sh
CHANGED
|
File without changes
|
package/gate-7.sh
CHANGED
|
File without changes
|
package/gate-8.sh
CHANGED
|
File without changes
|
package/gate-9.sh
CHANGED
|
File without changes
|
package/lib/init.js
CHANGED
|
@@ -35,13 +35,16 @@ function copyAdapters(srcDir, destDir) {
|
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
// Copy gate scripts (gate
|
|
38
|
+
// Copy gate scripts (gate-*.sh) from githooks/ source-of-truth to destDir.
|
|
39
39
|
// These are sourced by pre-commit via GATE_DIR which resolves to the adapter dir.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
const githooksDir = path.resolve(srcDir, '..', '..', '..', 'githooks');
|
|
41
|
+
if (fs.existsSync(githooksDir)) {
|
|
42
|
+
fs.readdirSync(githooksDir).forEach(f => {
|
|
43
|
+
if (f.startsWith('gate-') && f.endsWith('.sh')) {
|
|
44
|
+
fs.copyFileSync(path.join(githooksDir, f), path.join(destDir, f));
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
function copyRecursive(src, dest) {
|
package/lib/sprint-status.js
CHANGED
|
@@ -9,9 +9,43 @@
|
|
|
9
9
|
|
|
10
10
|
const fs = require('fs');
|
|
11
11
|
const path = require('path');
|
|
12
|
-
const { PHASE_NAMES, PHASE_ORDER, getLatestTimestamp, isStale } = require('./shared-phase-constants');
|
|
13
12
|
const { discoverActiveSprints } = require('./sprint-discovery');
|
|
14
13
|
|
|
14
|
+
// Phase constants (inlined; was shared-phase-constants.js, removed in v0.13.0 slimming)
|
|
15
|
+
const PHASE_NAMES = {
|
|
16
|
+
'-1': 'ISOLATE', '-0.5': 'AUTO-ESTIMATE',
|
|
17
|
+
'0': 'THINK', '1': 'PLAN', '2': 'BUILD', '3': 'REVIEW',
|
|
18
|
+
'4': 'USER ACCEPTANCE', '5': 'FEEDBACK', '6': 'SHIP', '7': 'LAND', '8': 'CLEANUP',
|
|
19
|
+
};
|
|
20
|
+
const PHASE_ORDER = ['-1', '-0.5', '0', '1', '2', '3', '4', '5', '6', '7', '8'];
|
|
21
|
+
|
|
22
|
+
function parseTime(value) {
|
|
23
|
+
if (!value) return 0;
|
|
24
|
+
const t = new Date(value).getTime();
|
|
25
|
+
return isNaN(t) ? 0 : t;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function getLatestTimestamp(state) {
|
|
29
|
+
if (!state || !state.started_at) return 0;
|
|
30
|
+
const started = parseTime(state.started_at);
|
|
31
|
+
if (!started) return 0;
|
|
32
|
+
const timestamps = [started];
|
|
33
|
+
if (Array.isArray(state.phase_history)) {
|
|
34
|
+
for (const ph of state.phase_history) {
|
|
35
|
+
timestamps.push(parseTime(ph.completed_at));
|
|
36
|
+
timestamps.push(parseTime(ph.started_at));
|
|
37
|
+
timestamps.push(parseTime(ph.timestamp));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return Math.max(...timestamps);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function isStale(state) {
|
|
44
|
+
if (!state || !state.started_at) return false;
|
|
45
|
+
const latest = getLatestTimestamp(state);
|
|
46
|
+
return latest > 0 && Date.now() - latest > 3600000;
|
|
47
|
+
}
|
|
48
|
+
|
|
15
49
|
/**
|
|
16
50
|
* Read and parse sprint-state.json from a project directory.
|
|
17
51
|
* @param {string} dir - Project root directory
|
package/lib/update-hooks.js
CHANGED
|
@@ -198,43 +198,25 @@ function copyGateScripts(srcDir, destDir, dryRun, noBackup) {
|
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
*
|
|
204
|
-
* @param {Object} options
|
|
205
|
-
* @param {boolean} [options.global=false] - Update global hooks (~/.config/xp-gate/)
|
|
206
|
-
* @param {boolean} [options.force=false] - Skip local modification detection
|
|
207
|
-
* @param {boolean} [options.dryRun=false] - Show what would be updated without writing
|
|
208
|
-
* @param {boolean} [options.noBackup=false] - Skip creating .bak backup files
|
|
209
|
-
* @param {string} [options.scope='all'] - Selectively update: 'hooks', 'adapters', or 'all'
|
|
210
|
-
* @returns {number} Exit code (0 = success, 1 = error/warn)
|
|
211
|
-
*/
|
|
212
|
-
function updateHooks(options = {}) {
|
|
213
|
-
const { global = false, force = false, dryRun = false, noBackup = false, scope = 'all' } = options;
|
|
214
|
-
|
|
215
|
-
// Use module.exports.getPackageRoot() so tests can mock via mod.getPackageRoot
|
|
216
|
-
const srcDir = (module.exports && module.exports.getPackageRoot)
|
|
201
|
+
function resolveSrcDir() {
|
|
202
|
+
return (module.exports && module.exports.getPackageRoot)
|
|
217
203
|
? module.exports.getPackageRoot()
|
|
218
204
|
: getPackageRoot();
|
|
205
|
+
}
|
|
219
206
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if (global) {
|
|
225
|
-
hooksDestDir = GLOBAL_HOOKS_DIR;
|
|
226
|
-
adaptersDestDir = GLOBAL_ADAPTERS_DIR;
|
|
227
|
-
} else {
|
|
228
|
-
hooksDestDir = getProjectHooksDir();
|
|
229
|
-
// For local mode, adapters go to project's githooks/ directory
|
|
230
|
-
adaptersDestDir = path.join(process.cwd(), 'githooks');
|
|
231
|
-
}
|
|
207
|
+
function resolveDirs(global) {
|
|
208
|
+
if (global) return { hooksDestDir: GLOBAL_HOOKS_DIR, adaptersDestDir: GLOBAL_ADAPTERS_DIR };
|
|
209
|
+
return { hooksDestDir: getProjectHooksDir(), adaptersDestDir: path.join(process.cwd(), 'githooks') };
|
|
210
|
+
}
|
|
232
211
|
|
|
233
|
-
|
|
212
|
+
function ensureDirsExist(adaptersDestDir, hooksDestDir) {
|
|
234
213
|
fs.mkdirSync(hooksDestDir, { recursive: true });
|
|
235
214
|
fs.mkdirSync(adaptersDestDir, { recursive: true });
|
|
236
215
|
fs.mkdirSync(path.join(adaptersDestDir, 'adapters'), { recursive: true });
|
|
216
|
+
}
|
|
237
217
|
|
|
218
|
+
function printUpdateHeader(opts) {
|
|
219
|
+
const { global, srcDir, hooksDestDir, adaptersDestDir, scope, dryRun } = opts;
|
|
238
220
|
console.log(`XP-Gate Update Hooks`);
|
|
239
221
|
console.log(`====================`);
|
|
240
222
|
console.log(`Mode: ${global ? 'Global' : 'Local'}`);
|
|
@@ -244,35 +226,53 @@ function updateHooks(options = {}) {
|
|
|
244
226
|
console.log(`Scope: ${scope}`);
|
|
245
227
|
if (dryRun) console.log(`Dry run: yes (no files will be modified)`);
|
|
246
228
|
console.log('');
|
|
229
|
+
}
|
|
247
230
|
|
|
248
|
-
|
|
249
|
-
if (
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
}
|
|
231
|
+
function checkLocalModifications(srcDir, hooksDestDir, adaptersDestDir, force, dryRun) {
|
|
232
|
+
if (force || dryRun) return 0;
|
|
233
|
+
const localMods = detectLocalModifications(srcDir, hooksDestDir, adaptersDestDir);
|
|
234
|
+
if (localMods.length === 0) return 0;
|
|
235
|
+
console.warn(`[WARN] Detected ${localMods.length} locally modified file(s):`);
|
|
236
|
+
localMods.forEach(f => console.warn(` - ${f}`));
|
|
237
|
+
console.warn('Use --force to overwrite, or manually backup first.');
|
|
238
|
+
return 1;
|
|
239
|
+
}
|
|
258
240
|
|
|
259
|
-
|
|
241
|
+
function copyByScope(opts) {
|
|
242
|
+
const { scope, srcDir, hooksDestDir, adaptersDestDir, dryRun, noBackup } = opts;
|
|
260
243
|
if (scope === 'all' || scope === 'hooks') {
|
|
261
|
-
|
|
244
|
+
printInfo('hooks');
|
|
262
245
|
copyHooks(srcDir, hooksDestDir, dryRun, noBackup);
|
|
263
246
|
}
|
|
264
247
|
if (scope === 'all' || scope === 'adapters') {
|
|
265
|
-
|
|
248
|
+
printInfo('adapters');
|
|
266
249
|
copyAdapters(srcDir, adaptersDestDir, dryRun, noBackup);
|
|
267
250
|
}
|
|
268
251
|
if (scope === 'all') {
|
|
269
|
-
|
|
252
|
+
printInfo('gate scripts');
|
|
270
253
|
copyGateScripts(srcDir, adaptersDestDir, dryRun, noBackup);
|
|
271
254
|
}
|
|
255
|
+
}
|
|
272
256
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
257
|
+
function printInfo(label) { console.log(`Updating ${label}...`); }
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Main entry point: sync latest hook versions from xp-gate package to project or global directory.
|
|
261
|
+
*/
|
|
262
|
+
function updateHooks(options = {}) {
|
|
263
|
+
const { global = false, force = false, dryRun = false, noBackup = false, scope = 'all' } = options;
|
|
264
|
+
const srcDir = resolveSrcDir();
|
|
265
|
+
const { hooksDestDir, adaptersDestDir } = resolveDirs(global);
|
|
266
|
+
|
|
267
|
+
ensureDirsExist(adaptersDestDir, hooksDestDir);
|
|
268
|
+
printUpdateHeader({ global, srcDir, hooksDestDir, adaptersDestDir, scope, dryRun });
|
|
269
|
+
|
|
270
|
+
const modCheck = checkLocalModifications(srcDir, hooksDestDir, adaptersDestDir, force, dryRun);
|
|
271
|
+
if (modCheck !== 0) return modCheck;
|
|
272
|
+
|
|
273
|
+
copyByScope({ scope, srcDir, hooksDestDir, adaptersDestDir, dryRun, noBackup });
|
|
274
|
+
|
|
275
|
+
if (!dryRun) console.log('\nUpdate complete!');
|
|
276
276
|
return 0;
|
|
277
277
|
}
|
|
278
278
|
|
package/mock-policy/AGENTS.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SRC/MOCK-POLICY KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Mock layering policy enforcement — Gate M3 of pre-push hook. Ensures integration tests use real implementations for internal dependencies, mock external dependencies, and annotate pending mocks with removal plans. Combines project scope scanning, mock decision engine, and per-file validation into a single pipeline.
|
package/mutation/AGENTS.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SRC/MUTATION KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
**Gate M** (incremental mutation testing) + **Gate M2** helpers (test-layer detection used by `src/mock-policy/`). Pre-push quality gate. TypeScript-only; uses Stryker.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xp-gate",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"displayName": "XP-Gate",
|
|
5
5
|
"description": "Extreme Programming quality gates + AI workflow skills for Claude Code. Includes 10 quality gates (Gate 0-9), Sprint Flow (11 phases), and Delphi multi-expert review (>=90% consensus).",
|
|
6
6
|
"author": {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, 3 experts from ≥2 providers, domestic models only). Supports design + code-walkthrough modes.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/SPRINT-FLOW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
**11-phase** development pipeline: ISOLATE → AUTO-ESTIMATE → THINK → PLAN → BUILD → REVIEW → SHIP → LAND → USER ACCEPTANCE → FEEDBACK → CLEANUP. Phase 2 default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE in Phase 1: design must pass Delphi review (≥90% consensus) before any coding.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, 3 experts from ≥2 providers, domestic models only). Supports design + code-walkthrough modes.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/SPRINT-FLOW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
**11-phase** development pipeline: ISOLATE → AUTO-ESTIMATE → THINK → PLAN → BUILD → REVIEW → SHIP → LAND → USER ACCEPTANCE → FEEDBACK → CLEANUP. Phase 2 default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE in Phase 1: design must pass Delphi review (≥90% consensus) before any coding.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xp-gate",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"displayName": "XP-Gate",
|
|
5
5
|
"description": "Extreme Programming quality gates + AI workflow skills for Qoder. Includes 10 quality gates (Gate 0-9), Sprint Flow (11 phases), and Delphi multi-expert review (>=90% consensus).",
|
|
6
6
|
"author": {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, 3 experts from ≥2 providers, domestic models only). Supports design + code-walkthrough modes.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/SPRINT-FLOW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
**11-phase** development pipeline: ISOLATE → AUTO-ESTIMATE → THINK → PLAN → BUILD → REVIEW → USER ACCEPTANCE → FEEDBACK → SHIP → LAND → CLEANUP. Phase 2 default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE in Phase 1: design must pass Delphi review (≥90% consensus) before any coding.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
|
package/principles/AGENTS.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# PRINCIPLES CHECKER MODULE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Clean Code & SOLID principles checker — **Gate 4** of pre-commit. 14 rules × 9 language adapters, SARIF 2.1.0 output. Houses the **Boy Scout Rule** enforcement engine (Gate 6) and warning-baseline storage.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, 3 experts from ≥2 providers, domestic models only). Supports design + code-walkthrough modes.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/SPRINT-FLOW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
**11-phase** development pipeline: ISOLATE → AUTO-ESTIMATE → THINK → PLAN → BUILD → REVIEW → SHIP → LAND → USER ACCEPTANCE → FEEDBACK → CLEANUP. Phase 2 default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE in Phase 1: design must pass Delphi review (≥90% consensus) before any coding.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/TEST-SPECIFICATION-ALIGNMENT KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-03
|
|
4
|
-
**Commit:**
|
|
4
|
+
**Commit:** c3ed581
|
|
5
5
|
**Branch:** main
|
|
6
|
-
**Version:** 0.12.
|
|
6
|
+
**Version:** 0.12.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Test-Specification Alignment Engine — two-stage validation ensuring tests accurately reflect requirements and design specs.
|