@hivehub/rulebook 5.8.0 → 5.8.1
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/dist/core/claude/claude-mcp.d.ts +1 -1
- package/dist/core/claude/claude-mcp.d.ts.map +1 -1
- package/dist/core/claude/claude-mcp.js +19 -3
- package/dist/core/claude/claude-mcp.js.map +1 -1
- package/dist/core/generators/generator.d.ts +1 -1
- package/dist/core/generators/generator.d.ts.map +1 -1
- package/dist/core/generators/generator.js +1 -1
- package/dist/core/generators/generator.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/project-manager.md +2 -0
- package/templates/agents/quality-gatekeeper.md +3 -0
- package/templates/claude-workflows/review-fanout.js +17 -10
- package/templates/claude-workflows/rulebook-driver.js +92 -53
- package/templates/workflows/typescript-test.yml +9 -3
|
@@ -51,7 +51,7 @@ export declare function configureClaudeSettings(projectRoot: string): Promise<bo
|
|
|
51
51
|
* Creates the target directory even when no source templates exist.
|
|
52
52
|
* Returns the list of installed file names.
|
|
53
53
|
*/
|
|
54
|
-
export declare function installAgentDefinitions(projectRoot: string, templatesPath: string): Promise<string[]>;
|
|
54
|
+
export declare function installAgentDefinitions(projectRoot: string, templatesPath: string, language?: string): Promise<string[]>;
|
|
55
55
|
/**
|
|
56
56
|
* Install multi-agent workflow scripts into .claude/workflows/.
|
|
57
57
|
* Copies templates/claude-workflows/*.js to the project's .claude/workflows/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mcp.d.ts","sourceRoot":"","sources":["../../../src/core/claude/claude-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"claude-mcp.d.ts","sourceRoot":"","sources":["../../../src/core/claude/claude-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,4BAA4B,EAAE,MAAM,EAAE,CAAC;CACxC;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9E;AAcD;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAwCjG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBnF;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC,CA+BnB;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBnB;AAWD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAoDhC"}
|
|
@@ -11,6 +11,8 @@ import { homedir } from 'os';
|
|
|
11
11
|
import { readdir } from 'fs/promises';
|
|
12
12
|
import { fileExists, readFile, writeFile, ensureDir } from '../../utils/file-system.js';
|
|
13
13
|
import { WorkspaceManager } from '../workspace/workspace-manager.js';
|
|
14
|
+
import { resolveAgentPlaceholders, substituteAgentPlaceholders, } from '../generators/generator.js';
|
|
15
|
+
import { detectProject } from '../detect/detector.js';
|
|
14
16
|
/**
|
|
15
17
|
* Detect if Claude Code is installed by checking for ~/.claude directory
|
|
16
18
|
*/
|
|
@@ -156,13 +158,18 @@ export async function configureClaudeSettings(projectRoot) {
|
|
|
156
158
|
* Creates the target directory even when no source templates exist.
|
|
157
159
|
* Returns the list of installed file names.
|
|
158
160
|
*/
|
|
159
|
-
export async function installAgentDefinitions(projectRoot, templatesPath) {
|
|
161
|
+
export async function installAgentDefinitions(projectRoot, templatesPath, language) {
|
|
160
162
|
const agentsSourceDir = join(templatesPath, 'agents');
|
|
161
163
|
const agentsTargetDir = join(projectRoot, '.claude', 'agents');
|
|
162
164
|
await ensureDir(agentsTargetDir);
|
|
163
165
|
if (!(await fileExists(agentsSourceDir))) {
|
|
164
166
|
return [];
|
|
165
167
|
}
|
|
168
|
+
// Agent templates carry {{language}}/{{file_naming}}/{{test_framework}}
|
|
169
|
+
// placeholders. Resolve them from the project's primary language so the
|
|
170
|
+
// installed agents are stack-correct (e.g. TypeScript/kebab-case/vitest)
|
|
171
|
+
// instead of leaking raw placeholders to the consumer.
|
|
172
|
+
const placeholders = resolveAgentPlaceholders(language);
|
|
166
173
|
const entries = await readdir(agentsSourceDir);
|
|
167
174
|
const installed = [];
|
|
168
175
|
for (const entry of entries) {
|
|
@@ -171,7 +178,7 @@ export async function installAgentDefinitions(projectRoot, templatesPath) {
|
|
|
171
178
|
const sourcePath = join(agentsSourceDir, entry);
|
|
172
179
|
const targetPath = join(agentsTargetDir, entry);
|
|
173
180
|
const content = await readFile(sourcePath);
|
|
174
|
-
await writeFile(targetPath, content);
|
|
181
|
+
await writeFile(targetPath, substituteAgentPlaceholders(content, placeholders));
|
|
175
182
|
installed.push(entry);
|
|
176
183
|
}
|
|
177
184
|
return installed;
|
|
@@ -235,7 +242,16 @@ export async function setupClaudeCodeIntegration(projectRoot, templatesPath, hom
|
|
|
235
242
|
const skillsInstalled = await installClaudeCodeSkills(projectRoot, resolvedTemplatesPath);
|
|
236
243
|
const devSkillsInstalled = await installDevSkills(projectRoot, resolvedTemplatesPath);
|
|
237
244
|
const agentTeamsEnabled = await configureClaudeSettings(projectRoot);
|
|
238
|
-
|
|
245
|
+
// Resolve the project's primary language so agent placeholders render correctly.
|
|
246
|
+
let primaryLanguage;
|
|
247
|
+
try {
|
|
248
|
+
const detection = await detectProject(projectRoot);
|
|
249
|
+
primaryLanguage = detection.languages[0]?.language;
|
|
250
|
+
}
|
|
251
|
+
catch {
|
|
252
|
+
// Detection failure → installAgentDefinitions falls back to TypeScript defaults.
|
|
253
|
+
}
|
|
254
|
+
const agentDefinitionsInstalled = await installAgentDefinitions(projectRoot, resolvedTemplatesPath, primaryLanguage);
|
|
239
255
|
const workflowDefinitionsInstalled = await installWorkflowDefinitions(projectRoot, resolvedTemplatesPath);
|
|
240
256
|
return {
|
|
241
257
|
detected: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../../src/core/claude/claude-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../../src/core/claude/claude-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare function generateDelegationSection(config: ProjectConfig): string
|
|
|
13
13
|
/**
|
|
14
14
|
* Resolve placeholder values from project config.
|
|
15
15
|
*/
|
|
16
|
-
export declare function resolveAgentPlaceholders(config: ProjectConfig): Record<string, string>;
|
|
16
|
+
export declare function resolveAgentPlaceholders(config: ProjectConfig | string | undefined): Record<string, string>;
|
|
17
17
|
/**
|
|
18
18
|
* Substitute placeholders in agent template content.
|
|
19
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/core/generators/generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWpD,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAcD,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAgVlF;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAezE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa3E;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDxE;AAgQD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAwCvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/core/generators/generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWpD,wBAAgB,eAAe,IAAI,MAAM,CAKxC;AAcD,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAgVlF;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAezE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa3E;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDxE;AAgQD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAwCvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,GACzC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgDxB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAMR;AA4BD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,sGAKxB,CAAC;AAEX;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAmBD;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,MAAM,CAAC,CAwTjB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAuCf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,aAAa,EACrB,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -621,7 +621,7 @@ export function generateDelegationSection(config) {
|
|
|
621
621
|
* Resolve placeholder values from project config.
|
|
622
622
|
*/
|
|
623
623
|
export function resolveAgentPlaceholders(config) {
|
|
624
|
-
const primaryLang = config
|
|
624
|
+
const primaryLang = (typeof config === 'string' ? config : config?.languages?.[0]) || 'TypeScript';
|
|
625
625
|
// Map language to common test framework
|
|
626
626
|
const testFrameworkMap = {
|
|
627
627
|
typescript: 'vitest',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/core/generators/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/core/generators/generator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hivehub/rulebook",
|
|
3
|
-
"version": "5.8.
|
|
3
|
+
"version": "5.8.1",
|
|
4
4
|
"description": "Tool-agnostic AI development framework. Standardize projects across Claude Code, Cursor, Gemini, Codex, Windsurf, Copilot with automated templates, quality gates, persistent memory, and framework detection for 28 languages, 17 frameworks, 13 MCP modules, and 20 services",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -4,6 +4,8 @@ description: "Use this agent when you need to track project progress, update tas
|
|
|
4
4
|
model: haiku
|
|
5
5
|
color: blue
|
|
6
6
|
memory: project
|
|
7
|
+
tools: Read, Glob, Grep, Bash, Write, Edit
|
|
8
|
+
maxTurns: 20
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
You are an elite Project Manager and Technical Lead with deep expertise in software development lifecycle management, agile methodologies, quality assurance, and continuous delivery. You have 15+ years of experience managing complex software projects, tracking deliverables, conducting code reviews, and ensuring teams maintain high standards of quality and test coverage.
|
|
@@ -4,6 +4,9 @@ description: "Use this agent when code has been written or modified and needs to
|
|
|
4
4
|
model: opus
|
|
5
5
|
color: purple
|
|
6
6
|
memory: project
|
|
7
|
+
tools: Read, Glob, Grep, Bash
|
|
8
|
+
disallowedTools: Write, Edit
|
|
9
|
+
maxTurns: 25
|
|
7
10
|
---
|
|
8
11
|
|
|
9
12
|
You are a Senior Software Quality Engineer and Security Specialist with 20+ years of experience in code review, static analysis, security auditing, and quality assurance across enterprise-grade systems. You have deep expertise in OWASP security standards, SOLID principles, clean code practices, design patterns, and software testing methodologies. You are the final quality gate — nothing ships without your approval.
|
|
@@ -64,16 +64,23 @@ const DIMENSIONS = [
|
|
|
64
64
|
},
|
|
65
65
|
]
|
|
66
66
|
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
? `
|
|
76
|
-
:
|
|
67
|
+
// Scoping, in priority order:
|
|
68
|
+
// args.baseRef — review everything committed since this ref (`git diff <ref>..HEAD`).
|
|
69
|
+
// Preferred when the caller commits each unit of work (rulebook-driver).
|
|
70
|
+
// args.paths — review only these files in the uncommitted working-tree diff.
|
|
71
|
+
// (neither) — review the full uncommitted diff.
|
|
72
|
+
const baseRef = args && typeof args.baseRef === 'string' && args.baseRef ? args.baseRef : null
|
|
73
|
+
const scopePaths = !baseRef && args && Array.isArray(args.paths) && args.paths.length ? args.paths : null
|
|
74
|
+
const diffCmd = baseRef
|
|
75
|
+
? `git --no-pager diff ${baseRef}..HEAD`
|
|
76
|
+
: scopePaths
|
|
77
|
+
? `git --no-pager diff -- ${scopePaths.join(' ')} ; git --no-pager diff --staged -- ${scopePaths.join(' ')}`
|
|
78
|
+
: 'git --no-pager diff ; git --no-pager diff --staged'
|
|
79
|
+
const scopeNote = baseRef
|
|
80
|
+
? `Review ONLY the changes committed since ${baseRef} (this task's changeset). Ignore anything before that ref.`
|
|
81
|
+
: scopePaths
|
|
82
|
+
? `Review ONLY these files (the caller's changeset): ${scopePaths.join(', ')}. Ignore changes in any other file.`
|
|
83
|
+
: 'Review the full current diff.'
|
|
77
84
|
|
|
78
85
|
// Pipeline: each dimension's findings verify as soon as that dimension finishes —
|
|
79
86
|
// no barrier, so the fast haiku security pass is not blocked by the slower lenses.
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
export const meta = {
|
|
2
2
|
name: 'rulebook-driver',
|
|
3
3
|
description:
|
|
4
|
-
'Drain the rulebook backlog in a loop: discover the next unchecked task item, implement it, gate it through an independent SDD+TDD opus reviewer (max 3 rounds), document it, then move to the next item — until none remain, a item fails review, the item cap is hit, or the token budget runs low.',
|
|
4
|
+
'Drain the rulebook backlog in a loop: discover the next unchecked task item, implement it, gate it through an independent SDD+TDD opus reviewer (max 3 rounds), document it, COMMIT it, then move to the next item — until none remain, a item fails review, the item cap is hit, or the token budget runs low. Each approved item is committed before the next starts, so the working tree is clean between items and every gate sees only the relevant diff.',
|
|
5
5
|
phases: [
|
|
6
6
|
{ title: 'Discover', detail: 'find first unchecked item (lowest phase)', model: 'haiku' },
|
|
7
7
|
{ title: 'Implement', detail: 'dev implements; independent opus reviewer gates; loop ≤3', model: 'sonnet' },
|
|
8
8
|
{ title: 'Review', detail: 'independent full SDD+TDD review', model: 'opus' },
|
|
9
|
-
{ title: 'Fanout', detail: 'review-fanout adversarial diff review per approved item' },
|
|
10
9
|
{ title: 'Document', detail: 'docs-writer updates README/CHANGELOG', model: 'haiku' },
|
|
11
|
-
{ title: '
|
|
10
|
+
{ title: 'Commit', detail: 'commit the approved item (conventional, hooks must pass)', model: 'sonnet' },
|
|
11
|
+
{ title: 'Fanout', detail: 'review-fanout adversarial review of the task changeset', model: 'sonnet' },
|
|
12
|
+
{ title: 'Gate', detail: 'release-gate go/no-go once the backlog is drained', model: 'sonnet' },
|
|
12
13
|
],
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -73,19 +74,55 @@ const VERDICT_SCHEMA = {
|
|
|
73
74
|
},
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
const
|
|
77
|
+
const HEAD_SCHEMA = {
|
|
77
78
|
type: 'object',
|
|
78
79
|
additionalProperties: false,
|
|
79
|
-
required: ['
|
|
80
|
+
required: ['sha'],
|
|
81
|
+
properties: { sha: { type: 'string', description: 'full commit sha of HEAD' } },
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const COMMIT_SCHEMA = {
|
|
85
|
+
type: 'object',
|
|
86
|
+
additionalProperties: false,
|
|
87
|
+
required: ['committed', 'sha', 'message'],
|
|
80
88
|
properties: {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
},
|
|
89
|
+
committed: { type: 'boolean', description: 'true only if a commit was actually created and hooks passed' },
|
|
90
|
+
sha: { type: 'string', description: 'the new commit sha; empty if not committed' },
|
|
91
|
+
message: { type: 'string', description: 'the conventional-commit message used' },
|
|
92
|
+
error: { type: 'string', description: 'reason / hook output when committed=false' },
|
|
86
93
|
},
|
|
87
94
|
}
|
|
88
95
|
|
|
96
|
+
// ---- Git helpers (agent-run, since workflows cannot exec shell directly) ----
|
|
97
|
+
|
|
98
|
+
async function gitHead() {
|
|
99
|
+
const r = await agent(
|
|
100
|
+
'Run `git rev-parse HEAD` and return the full commit sha as { sha }.',
|
|
101
|
+
{ label: 'git-head', phase: 'Discover', agentType: 'researcher', model: 'haiku', schema: HEAD_SCHEMA }
|
|
102
|
+
)
|
|
103
|
+
return r && r.sha ? r.sha : 'HEAD'
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Commit the current working tree as ONE conventional commit. The project's pre-commit
|
|
107
|
+
// hooks (type-check + lint + tests) run here and MUST pass — never bypass with --no-verify.
|
|
108
|
+
// Returns COMMIT_SCHEMA. committed=false signals the commit/quality gate failed.
|
|
109
|
+
async function commitWork(label, context, specPaths) {
|
|
110
|
+
return agent(
|
|
111
|
+
`Commit the current working-tree changes as ONE Conventional Commits commit.
|
|
112
|
+
|
|
113
|
+
Context: ${context}
|
|
114
|
+
Specs (for scope/context): ${(specPaths || []).join(', ') || 'n/a'}
|
|
115
|
+
|
|
116
|
+
Steps:
|
|
117
|
+
1. \`git status --short\` and \`git --no-pager diff --stat\` to see what changed. If nothing is staged or modified, return committed=false, error="nothing to commit".
|
|
118
|
+
2. \`git add -A\`.
|
|
119
|
+
3. Commit with a Conventional Commits message — \`type(scope): subject\` (subject ≤72 chars), optional body. Choose the type from the actual change (feat/fix/docs/test/refactor/chore).
|
|
120
|
+
4. The pre-commit hooks (type-check, lint, tests) MUST pass. NEVER pass --no-verify. If a hook fails, do NOT bypass it: return committed=false with the hook output in error.
|
|
121
|
+
Return committed, the new commit sha, and the message used.`,
|
|
122
|
+
{ label, phase: 'Commit', agentType: 'build-engineer', model: 'sonnet', schema: COMMIT_SCHEMA }
|
|
123
|
+
)
|
|
124
|
+
}
|
|
125
|
+
|
|
89
126
|
// ---- Per-item pipeline ----------------------------------------------------
|
|
90
127
|
|
|
91
128
|
async function driveItem(task, itemIndex) {
|
|
@@ -102,6 +139,7 @@ Task: ${task.taskId} / ${task.phase}
|
|
|
102
139
|
Item: ${task.item}
|
|
103
140
|
Specs to satisfy (READ THESE FIRST): ${task.specPaths.join(', ')}
|
|
104
141
|
|
|
142
|
+
The working tree is clean (previous items are already committed), so your changes are the ONLY uncommitted diff. Do NOT commit — the driver commits after review.
|
|
105
143
|
TDD: write the failing test(s) first, then the minimum implementation that makes them pass.
|
|
106
144
|
SDD: every behavior you add must trace to a SHALL/MUST scenario in the spec. Do NOT add unspecified features.
|
|
107
145
|
Before finishing: run the type-checker, then the relevant tests. Both must be green.
|
|
@@ -110,7 +148,7 @@ Report exactly which files you created/changed and which tests you added.`
|
|
|
110
148
|
|
|
111
149
|
${lastIssues.map((i, n) => `${n + 1}. ${i}`).join('\n')}
|
|
112
150
|
|
|
113
|
-
Re-run the type-checker and tests (both must pass). Report which files you changed and which tests you added or updated.`
|
|
151
|
+
Do NOT commit. Re-run the type-checker and tests (both must pass). Report which files you changed and which tests you added or updated.`
|
|
114
152
|
|
|
115
153
|
const dev = await agent(devPrompt, {
|
|
116
154
|
label: `dev:item${itemIndex}:r${round}`,
|
|
@@ -119,13 +157,14 @@ Re-run the type-checker and tests (both must pass). Report which files you chang
|
|
|
119
157
|
model: 'sonnet',
|
|
120
158
|
})
|
|
121
159
|
|
|
122
|
-
// Independent reviewer — fresh subagent, NO conversation context, opus for a
|
|
123
|
-
//
|
|
160
|
+
// Independent reviewer — fresh subagent, NO conversation context, opus for a thorough
|
|
161
|
+
// review. Sees only the current item's diff (working tree) + the spec, because previous
|
|
162
|
+
// items are already committed.
|
|
124
163
|
verdict = await agent(
|
|
125
164
|
`You are an INDEPENDENT senior reviewer with NO prior context. This is the FINAL quality gate — be exhaustive, judge ONLY from hard evidence, never trust the developer's claims without checking.
|
|
126
165
|
|
|
127
166
|
Steps:
|
|
128
|
-
1. Run \`git --no-pager diff\` and \`git --no-pager diff --staged\` to see exactly what changed.
|
|
167
|
+
1. Run \`git --no-pager diff\` and \`git --no-pager diff --staged\` to see exactly what changed. (Previous items are committed; this is only the current item's work.)
|
|
129
168
|
2. Read the spec files: ${task.specPaths.join(', ')}
|
|
130
169
|
3. Judge on two axes:
|
|
131
170
|
- SDD: does the diff satisfy EVERY SHALL/MUST scenario in the spec, with nothing unspecified bolted on?
|
|
@@ -166,7 +205,7 @@ Task: ${task.taskId} / ${task.phase}
|
|
|
166
205
|
Item: ${task.item}
|
|
167
206
|
Specs: ${task.specPaths.join(', ')}
|
|
168
207
|
|
|
169
|
-
Update the application documentation to reflect what shipped:
|
|
208
|
+
Update the application documentation to reflect what shipped (do NOT commit — the driver commits next):
|
|
170
209
|
1. Run \`git --no-pager diff\` to see exactly what changed.
|
|
171
210
|
2. Update CHANGELOG.md with a conventional-commit-style entry under the unreleased section.
|
|
172
211
|
3. Update README.md only if public/user-facing behavior changed.
|
|
@@ -175,27 +214,32 @@ Report which documentation files you updated.`,
|
|
|
175
214
|
{ label: `document:item${itemIndex}`, phase: 'Document', agentType: 'docs-writer', model: 'haiku' }
|
|
176
215
|
)
|
|
177
216
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const r = await agent(
|
|
185
|
-
'Run `git --no-pager diff --name-only` and `git --no-pager diff --name-only --staged`. Return the de-duplicated union of file paths, one per entry. Return an empty list if there are no changes.',
|
|
186
|
-
{ label: 'git-files', phase: 'Discover', agentType: 'researcher', model: 'haiku', schema: FILES_SCHEMA }
|
|
217
|
+
// Commit the approved item BEFORE the next item starts. Pre-commit hooks gate it; a hook
|
|
218
|
+
// failure means the item is not actually done, so we surface it as a failure.
|
|
219
|
+
const commit = await commitWork(
|
|
220
|
+
`commit:item${itemIndex}`,
|
|
221
|
+
`Rulebook task item "${task.item}" (${task.taskId}/${task.phase}) — passed independent SDD+TDD review and docs are updated.`,
|
|
222
|
+
task.specPaths
|
|
187
223
|
)
|
|
188
|
-
|
|
224
|
+
if (!commit || !commit.committed) {
|
|
225
|
+
return {
|
|
226
|
+
passed: false,
|
|
227
|
+
issues: [`commit failed: ${(commit && commit.error) || 'unknown error'}`],
|
|
228
|
+
verdict: 'item implementation passed review but the commit (pre-commit quality gate) failed',
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return { passed: true, passedRound, review: verdict.summary, docs, commitSha: commit.sha, commitMessage: commit.message }
|
|
189
233
|
}
|
|
190
234
|
|
|
191
235
|
// ---- Per-task adversarial gate (review-fanout) -----------------------------
|
|
192
|
-
// Runs ONCE per completed task, not per item. Scoped (via
|
|
193
|
-
// changeset. Blocking (blocker/major) findings are remediated by a dev agent and
|
|
194
|
-
// re-reviewed, up to MAX_FANOUT_ROUNDS. Returns { passed, rounds, blocking } —
|
|
195
|
-
//
|
|
196
|
-
async function reviewFanoutGate(taskId, specPaths,
|
|
197
|
-
const scope =
|
|
198
|
-
const scopeLabel =
|
|
236
|
+
// Runs ONCE per completed task, not per item. Scoped (via baseRef) to that task's committed
|
|
237
|
+
// changeset. Blocking (blocker/major) findings are remediated by a dev agent, committed, and
|
|
238
|
+
// re-reviewed, up to MAX_FANOUT_ROUNDS. Returns { passed, rounds, blocking } — passed=false
|
|
239
|
+
// means the task could not be cleaned.
|
|
240
|
+
async function reviewFanoutGate(taskId, specPaths, baseRef) {
|
|
241
|
+
const scope = baseRef ? { baseRef } : undefined
|
|
242
|
+
const scopeLabel = baseRef ? ` (since ${baseRef.slice(0, 8)})` : ''
|
|
199
243
|
for (let fround = 1; fround <= MAX_FANOUT_ROUNDS; fround++) {
|
|
200
244
|
phase('Fanout')
|
|
201
245
|
log(`Task ${taskId}: review-fanout round ${fround}/${MAX_FANOUT_ROUNDS}${scopeLabel}…`)
|
|
@@ -203,6 +247,10 @@ async function reviewFanoutGate(taskId, specPaths, paths) {
|
|
|
203
247
|
const blocking = (fanout && fanout.blocking) || []
|
|
204
248
|
|
|
205
249
|
if (blocking.length === 0) {
|
|
250
|
+
// If a prior round remediated, those fixes are uncommitted — commit them now.
|
|
251
|
+
if (fround > 1) {
|
|
252
|
+
await commitWork(`commit:fanout-fix:${taskId}`, `review-fanout remediation for task ${taskId}`, specPaths)
|
|
253
|
+
}
|
|
206
254
|
log(`Task ${taskId}: review-fanout clean (round ${fround}).`)
|
|
207
255
|
return { passed: true, rounds: fround, blocking: [] }
|
|
208
256
|
}
|
|
@@ -217,7 +265,7 @@ async function reviewFanoutGate(taskId, specPaths, paths) {
|
|
|
217
265
|
.join('\n')
|
|
218
266
|
log(`Task ${taskId}: review-fanout flagged ${blocking.length} blocking issue(s); remediating.`)
|
|
219
267
|
await agent(
|
|
220
|
-
`An independent adversarial review of task ${taskId} found blocking issues in the
|
|
268
|
+
`An independent adversarial review of task ${taskId} found blocking issues in the committed diff. Fix ONLY these; do not touch anything else, and do not weaken or delete tests to make them pass. Do NOT commit — the driver commits the remediation after re-review:
|
|
221
269
|
|
|
222
270
|
${issues}
|
|
223
271
|
|
|
@@ -236,22 +284,13 @@ const taskGates = []
|
|
|
236
284
|
let stopReason = 'backlog-drained'
|
|
237
285
|
let currentTaskId = null
|
|
238
286
|
let currentSpecPaths = []
|
|
239
|
-
let
|
|
287
|
+
let currentTaskBaseRef = null
|
|
240
288
|
let halted = false
|
|
241
289
|
|
|
242
|
-
// Run the per-task review-fanout gate once, scoped to the task's changeset
|
|
243
|
-
async function gateCompletedTask(taskId, specPaths,
|
|
244
|
-
const
|
|
245
|
-
|
|
246
|
-
const paths = now.filter((f) => !baseSet.has(f))
|
|
247
|
-
const gate = await reviewFanoutGate(taskId, specPaths, paths)
|
|
248
|
-
taskGates.push({
|
|
249
|
-
taskId,
|
|
250
|
-
passed: gate.passed,
|
|
251
|
-
rounds: gate.rounds,
|
|
252
|
-
blockingCount: gate.blocking.length,
|
|
253
|
-
scopedFiles: paths.length,
|
|
254
|
-
})
|
|
290
|
+
// Run the per-task review-fanout gate once, scoped to the task's committed changeset (baseRef).
|
|
291
|
+
async function gateCompletedTask(taskId, specPaths, baseRef) {
|
|
292
|
+
const gate = await reviewFanoutGate(taskId, specPaths, baseRef)
|
|
293
|
+
taskGates.push({ taskId, passed: gate.passed, rounds: gate.rounds, blockingCount: gate.blocking.length, baseRef })
|
|
255
294
|
return gate
|
|
256
295
|
}
|
|
257
296
|
|
|
@@ -282,10 +321,10 @@ Set found=false (and leave the other string fields empty) if every item in every
|
|
|
282
321
|
}
|
|
283
322
|
|
|
284
323
|
// Task boundary: a new taskId means the previous task is fully checked → gate it once,
|
|
285
|
-
// then
|
|
324
|
+
// then record the new task's baseRef (current HEAD) so its gate is scoped to its own commits.
|
|
286
325
|
if (task.taskId !== currentTaskId) {
|
|
287
326
|
if (currentTaskId) {
|
|
288
|
-
const gate = await gateCompletedTask(currentTaskId, currentSpecPaths,
|
|
327
|
+
const gate = await gateCompletedTask(currentTaskId, currentSpecPaths, currentTaskBaseRef)
|
|
289
328
|
if (!gate.passed) {
|
|
290
329
|
stopReason = 'task-fanout-failed'
|
|
291
330
|
log(`Halting: task ${currentTaskId} failed the review-fanout gate.`)
|
|
@@ -295,7 +334,7 @@ Set found=false (and leave the other string fields empty) if every item in every
|
|
|
295
334
|
}
|
|
296
335
|
currentTaskId = task.taskId
|
|
297
336
|
currentSpecPaths = task.specPaths || []
|
|
298
|
-
|
|
337
|
+
currentTaskBaseRef = await gitHead()
|
|
299
338
|
}
|
|
300
339
|
|
|
301
340
|
log(`[${i}/${MAX_ITEMS}] ${task.taskId} / ${task.phase}: ${task.item}`)
|
|
@@ -304,7 +343,7 @@ Set found=false (and leave the other string fields empty) if every item in every
|
|
|
304
343
|
|
|
305
344
|
if (!result.passed) {
|
|
306
345
|
stopReason = 'item-failed-review'
|
|
307
|
-
log(`Item ${i} failed
|
|
346
|
+
log(`Item ${i} failed (${(result.issues || []).join('; ') || 'see verdict'}) — halting loop (sequential tasks must not build on a broken item).`)
|
|
308
347
|
halted = true
|
|
309
348
|
break
|
|
310
349
|
}
|
|
@@ -319,7 +358,7 @@ Set found=false (and leave the other string fields empty) if every item in every
|
|
|
319
358
|
// Gate the final task only when the backlog drained cleanly (last task fully checked).
|
|
320
359
|
// Mid-task stops (once / max-items / budget-low) leave the task incomplete — skip the gate.
|
|
321
360
|
if (!halted && stopReason === 'backlog-drained' && currentTaskId) {
|
|
322
|
-
const gate = await gateCompletedTask(currentTaskId, currentSpecPaths,
|
|
361
|
+
const gate = await gateCompletedTask(currentTaskId, currentSpecPaths, currentTaskBaseRef)
|
|
323
362
|
if (!gate.passed) {
|
|
324
363
|
stopReason = 'task-fanout-failed'
|
|
325
364
|
halted = true
|
|
@@ -338,6 +377,6 @@ if (passed > 0 && !halted) {
|
|
|
338
377
|
log(`release-gate: ${releaseGate && releaseGate.go ? 'GO ✅' : 'NO-GO ⛔'}`)
|
|
339
378
|
}
|
|
340
379
|
|
|
341
|
-
log(`Done: ${passed}/${processed.length} item(s) passed. Stop reason: ${stopReason}.`)
|
|
380
|
+
log(`Done: ${passed}/${processed.length} item(s) passed & committed. Stop reason: ${stopReason}.`)
|
|
342
381
|
|
|
343
382
|
return { stopReason, processedCount: processed.length, passedCount: passed, processed, taskGates, releaseGate }
|
|
@@ -60,10 +60,16 @@ jobs:
|
|
|
60
60
|
flags: unittests
|
|
61
61
|
fail_ci_if_error: false
|
|
62
62
|
|
|
63
|
-
- name: Security audit
|
|
63
|
+
- name: Security audit (blocking on high/critical)
|
|
64
|
+
# Fails the build on high or critical production vulnerabilities.
|
|
65
|
+
# Runs only once (ubuntu/20.x) to avoid duplicate failures across the matrix.
|
|
66
|
+
if: matrix.os == 'ubuntu-latest' && matrix.node-version == '20.x'
|
|
67
|
+
run: |
|
|
68
|
+
echo "Running security audit (production, high+)..."
|
|
69
|
+
npm audit --production --audit-level=high
|
|
70
|
+
|
|
71
|
+
- name: Dependency hygiene (informational)
|
|
64
72
|
run: |
|
|
65
|
-
echo "Running security audit..."
|
|
66
|
-
npm audit --production --audit-level=moderate || true
|
|
67
73
|
echo "Checking for outdated dependencies..."
|
|
68
74
|
npm outdated || true
|
|
69
75
|
|