@fredericboyer/dev-team 0.5.0 → 0.6.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/dist/init.js +22 -1
- package/dist/init.js.map +1 -1
- package/dist/parallel.d.ts +127 -0
- package/dist/parallel.js +323 -0
- package/dist/parallel.js.map +1 -0
- package/package.json +2 -2
- package/templates/CLAUDE.md +7 -5
- package/templates/agent-memory/dev-team-hamilton/MEMORY.md +12 -0
- package/templates/agents/dev-team-brooks.md +42 -5
- package/templates/agents/dev-team-deming.md +1 -0
- package/templates/agents/dev-team-drucker.md +5 -3
- package/templates/agents/dev-team-hamilton.md +69 -0
- package/templates/agents/dev-team-mori.md +1 -0
- package/templates/agents/dev-team-tufte.md +17 -0
- package/templates/agents/dev-team-voss.md +2 -1
- package/templates/hooks/dev-team-parallel-loop.js +188 -0
- package/templates/hooks/dev-team-post-change-review.js +68 -15
- package/templates/hooks/dev-team-pre-commit-gate.js +27 -6
- package/templates/hooks/dev-team-tdd-enforce.js +27 -6
- package/templates/settings.json +4 -0
- package/templates/skills/dev-team-security-status/SKILL.md +43 -0
package/dist/init.js
CHANGED
|
@@ -44,6 +44,11 @@ const prompts = __importStar(require("./prompts"));
|
|
|
44
44
|
const scan_1 = require("./scan");
|
|
45
45
|
const ALL_AGENTS = [
|
|
46
46
|
{ label: "Voss", file: "dev-team-voss.md", description: "Backend Engineer" },
|
|
47
|
+
{
|
|
48
|
+
label: "Hamilton",
|
|
49
|
+
file: "dev-team-hamilton.md",
|
|
50
|
+
description: "Infrastructure Engineer",
|
|
51
|
+
},
|
|
47
52
|
{
|
|
48
53
|
label: "Mori",
|
|
49
54
|
file: "dev-team-mori.md",
|
|
@@ -128,13 +133,29 @@ const QUALITY_HOOKS = [
|
|
|
128
133
|
file: "dev-team-watch-list.js",
|
|
129
134
|
description: "Auto-spawn agents when file patterns match (configurable)",
|
|
130
135
|
},
|
|
136
|
+
{
|
|
137
|
+
label: "Parallel loop",
|
|
138
|
+
file: "dev-team-parallel-loop.js",
|
|
139
|
+
description: "Enforce parallel review wave protocol (ADR-019)",
|
|
140
|
+
},
|
|
131
141
|
];
|
|
132
142
|
exports.QUALITY_HOOKS = QUALITY_HOOKS;
|
|
133
143
|
const PRESETS = {
|
|
134
144
|
backend: {
|
|
135
145
|
label: "backend",
|
|
136
146
|
description: "Backend-heavy — API, security, architecture, quality",
|
|
137
|
-
agents: [
|
|
147
|
+
agents: [
|
|
148
|
+
"Voss",
|
|
149
|
+
"Hamilton",
|
|
150
|
+
"Szabo",
|
|
151
|
+
"Knuth",
|
|
152
|
+
"Beck",
|
|
153
|
+
"Deming",
|
|
154
|
+
"Brooks",
|
|
155
|
+
"Conway",
|
|
156
|
+
"Drucker",
|
|
157
|
+
"Borges",
|
|
158
|
+
],
|
|
138
159
|
hooks: QUALITY_HOOKS.map((h) => h.label),
|
|
139
160
|
},
|
|
140
161
|
fullstack: {
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* parallel.ts — Parallel state management for multi-issue orchestration (ADR-019).
|
|
3
|
+
*
|
|
4
|
+
* Manages the `.claude/dev-team-parallel.json` state file that tracks
|
|
5
|
+
* parallel implementation phases, sync barriers, and review waves.
|
|
6
|
+
*
|
|
7
|
+
* Zero runtime dependencies (project constraint from ADR-002).
|
|
8
|
+
*/
|
|
9
|
+
export type IssueStatus = "pending" | "implementing" | "implemented" | "reviewing" | "defects-found" | "fixing" | "approved";
|
|
10
|
+
export type Phase = "pre-assessment" | "implementation" | "sync-barrier" | "review-wave" | "defect-routing" | "borges-completion" | "done";
|
|
11
|
+
export interface IssueEntry {
|
|
12
|
+
issue: number;
|
|
13
|
+
branch: string;
|
|
14
|
+
agent: string;
|
|
15
|
+
status: IssueStatus;
|
|
16
|
+
defects?: string[];
|
|
17
|
+
reviewIteration?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface ReviewWave {
|
|
20
|
+
wave: number;
|
|
21
|
+
startedAt: string;
|
|
22
|
+
completedAt?: string;
|
|
23
|
+
branches: string[];
|
|
24
|
+
findings: Record<string, BranchFindings>;
|
|
25
|
+
}
|
|
26
|
+
export interface BranchFindings {
|
|
27
|
+
defects: string[];
|
|
28
|
+
risks: string[];
|
|
29
|
+
suggestions: string[];
|
|
30
|
+
questions: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface ParallelState {
|
|
33
|
+
mode: "parallel";
|
|
34
|
+
issues: IssueEntry[];
|
|
35
|
+
phase: Phase;
|
|
36
|
+
conflictGroups: number[][];
|
|
37
|
+
reviewWave: ReviewWave | null;
|
|
38
|
+
maxIterations: number;
|
|
39
|
+
createdAt: string;
|
|
40
|
+
updatedAt: string;
|
|
41
|
+
phaseLog: PhaseTransition[];
|
|
42
|
+
}
|
|
43
|
+
export interface PhaseTransition {
|
|
44
|
+
from: Phase;
|
|
45
|
+
to: Phase;
|
|
46
|
+
timestamp: string;
|
|
47
|
+
reason: string;
|
|
48
|
+
}
|
|
49
|
+
export declare const STATE_FILENAME = "dev-team-parallel.json";
|
|
50
|
+
export declare const DEFAULT_MAX_ITERATIONS = 10;
|
|
51
|
+
export declare function statePath(projectRoot: string): string;
|
|
52
|
+
export declare function readState(projectRoot: string): ParallelState | null;
|
|
53
|
+
export declare function writeState(projectRoot: string, state: ParallelState): void;
|
|
54
|
+
export declare function stateExists(projectRoot: string): boolean;
|
|
55
|
+
export declare function deleteState(projectRoot: string): boolean;
|
|
56
|
+
export interface CreateOptions {
|
|
57
|
+
issues: Array<{
|
|
58
|
+
issue: number;
|
|
59
|
+
branch: string;
|
|
60
|
+
agent: string;
|
|
61
|
+
}>;
|
|
62
|
+
conflictGroups?: number[][];
|
|
63
|
+
maxIterations?: number;
|
|
64
|
+
}
|
|
65
|
+
export declare function createState(projectRoot: string, options: CreateOptions): ParallelState;
|
|
66
|
+
export declare function transitionPhase(state: ParallelState, to: Phase, reason: string): ParallelState;
|
|
67
|
+
export declare function isValidTransition(from: Phase, to: Phase): boolean;
|
|
68
|
+
export declare function allowedTransitions(from: Phase): Phase[];
|
|
69
|
+
export declare function updateIssueStatus(state: ParallelState, issueNumber: number, status: IssueStatus): ParallelState;
|
|
70
|
+
/**
|
|
71
|
+
* Checks whether ALL implementation agents have completed.
|
|
72
|
+
* Returns true when every issue has status "implemented" or later.
|
|
73
|
+
*/
|
|
74
|
+
export declare function checkSyncBarrier(state: ParallelState): {
|
|
75
|
+
ready: boolean;
|
|
76
|
+
pending: number[];
|
|
77
|
+
completed: number[];
|
|
78
|
+
};
|
|
79
|
+
export declare function startReviewWave(state: ParallelState): ParallelState;
|
|
80
|
+
export declare function recordFindings(state: ParallelState, branch: string, findings: BranchFindings): ParallelState;
|
|
81
|
+
/**
|
|
82
|
+
* Checks if ALL branches in the current review wave have reported findings.
|
|
83
|
+
*/
|
|
84
|
+
export declare function isReviewWaveComplete(state: ParallelState): boolean;
|
|
85
|
+
export interface DefectRoute {
|
|
86
|
+
issue: number;
|
|
87
|
+
branch: string;
|
|
88
|
+
agent: string;
|
|
89
|
+
defects: string[];
|
|
90
|
+
iteration: number;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Returns defect routes: which issues need fixes routed back to their implementing agent.
|
|
94
|
+
* Respects per-branch iteration limits.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getDefectRoutes(state: ParallelState): {
|
|
97
|
+
routes: DefectRoute[];
|
|
98
|
+
exhausted: DefectRoute[];
|
|
99
|
+
};
|
|
100
|
+
export interface ConvergenceResult {
|
|
101
|
+
converged: boolean;
|
|
102
|
+
allApproved: boolean;
|
|
103
|
+
exhaustedBranches: number[];
|
|
104
|
+
pendingDefects: number[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Checks if the parallel execution has converged (all approved or exhausted).
|
|
108
|
+
*/
|
|
109
|
+
export declare function checkConvergence(state: ParallelState): ConvergenceResult;
|
|
110
|
+
/**
|
|
111
|
+
* Returns issues that can execute in parallel (not in any conflict group with
|
|
112
|
+
* currently-running issues).
|
|
113
|
+
*/
|
|
114
|
+
export declare function getIndependentIssues(state: ParallelState): number[];
|
|
115
|
+
/**
|
|
116
|
+
* Returns the conflict group that contains a given issue, or null.
|
|
117
|
+
*/
|
|
118
|
+
export declare function getConflictGroup(state: ParallelState, issueNumber: number): number[] | null;
|
|
119
|
+
export interface ParallelSummary {
|
|
120
|
+
phase: Phase;
|
|
121
|
+
totalIssues: number;
|
|
122
|
+
byStatus: Record<IssueStatus, number>;
|
|
123
|
+
currentWave: number | null;
|
|
124
|
+
phaseTransitions: number;
|
|
125
|
+
conflictGroupCount: number;
|
|
126
|
+
}
|
|
127
|
+
export declare function summarize(state: ParallelState): ParallelSummary;
|
package/dist/parallel.js
ADDED
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* parallel.ts — Parallel state management for multi-issue orchestration (ADR-019).
|
|
4
|
+
*
|
|
5
|
+
* Manages the `.claude/dev-team-parallel.json` state file that tracks
|
|
6
|
+
* parallel implementation phases, sync barriers, and review waves.
|
|
7
|
+
*
|
|
8
|
+
* Zero runtime dependencies (project constraint from ADR-002).
|
|
9
|
+
*/
|
|
10
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.DEFAULT_MAX_ITERATIONS = exports.STATE_FILENAME = void 0;
|
|
15
|
+
exports.statePath = statePath;
|
|
16
|
+
exports.readState = readState;
|
|
17
|
+
exports.writeState = writeState;
|
|
18
|
+
exports.stateExists = stateExists;
|
|
19
|
+
exports.deleteState = deleteState;
|
|
20
|
+
exports.createState = createState;
|
|
21
|
+
exports.transitionPhase = transitionPhase;
|
|
22
|
+
exports.isValidTransition = isValidTransition;
|
|
23
|
+
exports.allowedTransitions = allowedTransitions;
|
|
24
|
+
exports.updateIssueStatus = updateIssueStatus;
|
|
25
|
+
exports.checkSyncBarrier = checkSyncBarrier;
|
|
26
|
+
exports.startReviewWave = startReviewWave;
|
|
27
|
+
exports.recordFindings = recordFindings;
|
|
28
|
+
exports.isReviewWaveComplete = isReviewWaveComplete;
|
|
29
|
+
exports.getDefectRoutes = getDefectRoutes;
|
|
30
|
+
exports.checkConvergence = checkConvergence;
|
|
31
|
+
exports.getIndependentIssues = getIndependentIssues;
|
|
32
|
+
exports.getConflictGroup = getConflictGroup;
|
|
33
|
+
exports.summarize = summarize;
|
|
34
|
+
const fs_1 = __importDefault(require("fs"));
|
|
35
|
+
const path_1 = __importDefault(require("path"));
|
|
36
|
+
const files_1 = require("./files");
|
|
37
|
+
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
38
|
+
exports.STATE_FILENAME = "dev-team-parallel.json";
|
|
39
|
+
exports.DEFAULT_MAX_ITERATIONS = 10;
|
|
40
|
+
// ─── State file path ─────────────────────────────────────────────────────────
|
|
41
|
+
function statePath(projectRoot) {
|
|
42
|
+
return path_1.default.join(projectRoot, ".claude", exports.STATE_FILENAME);
|
|
43
|
+
}
|
|
44
|
+
// ─── Read / Write ────────────────────────────────────────────────────────────
|
|
45
|
+
function readState(projectRoot) {
|
|
46
|
+
const fp = statePath(projectRoot);
|
|
47
|
+
const content = (0, files_1.readFile)(fp);
|
|
48
|
+
if (content === null)
|
|
49
|
+
return null;
|
|
50
|
+
try {
|
|
51
|
+
return JSON.parse(content);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function writeState(projectRoot, state) {
|
|
58
|
+
state.updatedAt = new Date().toISOString();
|
|
59
|
+
const fp = statePath(projectRoot);
|
|
60
|
+
(0, files_1.writeFile)(fp, JSON.stringify(state, null, 2) + "\n");
|
|
61
|
+
}
|
|
62
|
+
function stateExists(projectRoot) {
|
|
63
|
+
return (0, files_1.fileExists)(statePath(projectRoot));
|
|
64
|
+
}
|
|
65
|
+
function deleteState(projectRoot) {
|
|
66
|
+
const fp = statePath(projectRoot);
|
|
67
|
+
if (!(0, files_1.fileExists)(fp))
|
|
68
|
+
return false;
|
|
69
|
+
fs_1.default.unlinkSync(fp);
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
function createState(projectRoot, options) {
|
|
73
|
+
if (options.issues.length === 0) {
|
|
74
|
+
throw new Error("Cannot create parallel state with zero issues");
|
|
75
|
+
}
|
|
76
|
+
// Validate no duplicate issue numbers
|
|
77
|
+
const issueNumbers = options.issues.map((i) => i.issue);
|
|
78
|
+
const unique = new Set(issueNumbers);
|
|
79
|
+
if (unique.size !== issueNumbers.length) {
|
|
80
|
+
throw new Error("Duplicate issue numbers in parallel state");
|
|
81
|
+
}
|
|
82
|
+
// Validate conflict groups reference existing issues
|
|
83
|
+
for (const group of options.conflictGroups || []) {
|
|
84
|
+
for (const issueNum of group) {
|
|
85
|
+
if (!unique.has(issueNum)) {
|
|
86
|
+
throw new Error(`Conflict group references unknown issue #${issueNum}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const now = new Date().toISOString();
|
|
91
|
+
const state = {
|
|
92
|
+
mode: "parallel",
|
|
93
|
+
issues: options.issues.map((i) => ({
|
|
94
|
+
issue: i.issue,
|
|
95
|
+
branch: i.branch,
|
|
96
|
+
agent: i.agent,
|
|
97
|
+
status: "pending",
|
|
98
|
+
reviewIteration: 0,
|
|
99
|
+
})),
|
|
100
|
+
phase: "pre-assessment",
|
|
101
|
+
conflictGroups: options.conflictGroups || [],
|
|
102
|
+
reviewWave: null,
|
|
103
|
+
maxIterations: options.maxIterations ?? exports.DEFAULT_MAX_ITERATIONS,
|
|
104
|
+
createdAt: now,
|
|
105
|
+
updatedAt: now,
|
|
106
|
+
phaseLog: [],
|
|
107
|
+
};
|
|
108
|
+
writeState(projectRoot, state);
|
|
109
|
+
return state;
|
|
110
|
+
}
|
|
111
|
+
// ─── Phase transitions ──────────────────────────────────────────────────────
|
|
112
|
+
function transitionPhase(state, to, reason) {
|
|
113
|
+
const from = state.phase;
|
|
114
|
+
// Validate transition is legal
|
|
115
|
+
if (!isValidTransition(from, to)) {
|
|
116
|
+
throw new Error(`Invalid phase transition: ${from} -> ${to}. Allowed from ${from}: ${allowedTransitions(from).join(", ")}`);
|
|
117
|
+
}
|
|
118
|
+
state.phaseLog.push({
|
|
119
|
+
from,
|
|
120
|
+
to,
|
|
121
|
+
timestamp: new Date().toISOString(),
|
|
122
|
+
reason,
|
|
123
|
+
});
|
|
124
|
+
state.phase = to;
|
|
125
|
+
return state;
|
|
126
|
+
}
|
|
127
|
+
const TRANSITION_MAP = {
|
|
128
|
+
"pre-assessment": ["implementation"],
|
|
129
|
+
implementation: ["sync-barrier"],
|
|
130
|
+
"sync-barrier": ["review-wave"],
|
|
131
|
+
"review-wave": ["defect-routing", "borges-completion"],
|
|
132
|
+
"defect-routing": ["review-wave", "borges-completion"],
|
|
133
|
+
"borges-completion": ["done"],
|
|
134
|
+
done: [],
|
|
135
|
+
};
|
|
136
|
+
function isValidTransition(from, to) {
|
|
137
|
+
return TRANSITION_MAP[from]?.includes(to) ?? false;
|
|
138
|
+
}
|
|
139
|
+
function allowedTransitions(from) {
|
|
140
|
+
return TRANSITION_MAP[from] || [];
|
|
141
|
+
}
|
|
142
|
+
// ─── Issue status updates ────────────────────────────────────────────────────
|
|
143
|
+
function updateIssueStatus(state, issueNumber, status) {
|
|
144
|
+
const entry = state.issues.find((i) => i.issue === issueNumber);
|
|
145
|
+
if (!entry) {
|
|
146
|
+
throw new Error(`Issue #${issueNumber} not found in parallel state`);
|
|
147
|
+
}
|
|
148
|
+
entry.status = status;
|
|
149
|
+
return state;
|
|
150
|
+
}
|
|
151
|
+
// ─── Sync barrier ────────────────────────────────────────────────────────────
|
|
152
|
+
/**
|
|
153
|
+
* Checks whether ALL implementation agents have completed.
|
|
154
|
+
* Returns true when every issue has status "implemented" or later.
|
|
155
|
+
*/
|
|
156
|
+
function checkSyncBarrier(state) {
|
|
157
|
+
const completedStatuses = [
|
|
158
|
+
"implemented",
|
|
159
|
+
"reviewing",
|
|
160
|
+
"defects-found",
|
|
161
|
+
"fixing",
|
|
162
|
+
"approved",
|
|
163
|
+
];
|
|
164
|
+
const completed = [];
|
|
165
|
+
const pending = [];
|
|
166
|
+
for (const issue of state.issues) {
|
|
167
|
+
if (completedStatuses.includes(issue.status)) {
|
|
168
|
+
completed.push(issue.issue);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
pending.push(issue.issue);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
ready: pending.length === 0,
|
|
176
|
+
pending,
|
|
177
|
+
completed,
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
// ─── Review wave management ──────────────────────────────────────────────────
|
|
181
|
+
function startReviewWave(state) {
|
|
182
|
+
const barrier = checkSyncBarrier(state);
|
|
183
|
+
if (!barrier.ready) {
|
|
184
|
+
throw new Error(`Cannot start review wave: issues still pending: ${barrier.pending.join(", ")}`);
|
|
185
|
+
}
|
|
186
|
+
const waveNumber = state.reviewWave ? state.reviewWave.wave + 1 : 1;
|
|
187
|
+
const branches = state.issues.map((i) => i.branch);
|
|
188
|
+
state.reviewWave = {
|
|
189
|
+
wave: waveNumber,
|
|
190
|
+
startedAt: new Date().toISOString(),
|
|
191
|
+
branches,
|
|
192
|
+
findings: {},
|
|
193
|
+
};
|
|
194
|
+
// Update all issue statuses to reviewing
|
|
195
|
+
for (const issue of state.issues) {
|
|
196
|
+
if (issue.status !== "approved") {
|
|
197
|
+
issue.status = "reviewing";
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return state;
|
|
201
|
+
}
|
|
202
|
+
function recordFindings(state, branch, findings) {
|
|
203
|
+
if (!state.reviewWave) {
|
|
204
|
+
throw new Error("No active review wave to record findings for");
|
|
205
|
+
}
|
|
206
|
+
const issue = state.issues.find((i) => i.branch === branch);
|
|
207
|
+
if (!issue) {
|
|
208
|
+
throw new Error(`Branch "${branch}" not found in parallel state`);
|
|
209
|
+
}
|
|
210
|
+
state.reviewWave.findings[branch] = findings;
|
|
211
|
+
// Update issue status based on findings
|
|
212
|
+
if (findings.defects.length > 0) {
|
|
213
|
+
issue.status = "defects-found";
|
|
214
|
+
issue.defects = findings.defects;
|
|
215
|
+
issue.reviewIteration = (issue.reviewIteration || 0) + 1;
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
issue.status = "approved";
|
|
219
|
+
issue.defects = [];
|
|
220
|
+
}
|
|
221
|
+
return state;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Checks if ALL branches in the current review wave have reported findings.
|
|
225
|
+
*/
|
|
226
|
+
function isReviewWaveComplete(state) {
|
|
227
|
+
if (!state.reviewWave)
|
|
228
|
+
return false;
|
|
229
|
+
const reported = new Set(Object.keys(state.reviewWave.findings));
|
|
230
|
+
return state.reviewWave.branches.every((b) => reported.has(b));
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Returns defect routes: which issues need fixes routed back to their implementing agent.
|
|
234
|
+
* Respects per-branch iteration limits.
|
|
235
|
+
*/
|
|
236
|
+
function getDefectRoutes(state) {
|
|
237
|
+
const routes = [];
|
|
238
|
+
const exhausted = [];
|
|
239
|
+
for (const issue of state.issues) {
|
|
240
|
+
if (issue.status !== "defects-found")
|
|
241
|
+
continue;
|
|
242
|
+
const route = {
|
|
243
|
+
issue: issue.issue,
|
|
244
|
+
branch: issue.branch,
|
|
245
|
+
agent: issue.agent,
|
|
246
|
+
defects: issue.defects || [],
|
|
247
|
+
iteration: issue.reviewIteration || 1,
|
|
248
|
+
};
|
|
249
|
+
if ((issue.reviewIteration || 0) >= state.maxIterations) {
|
|
250
|
+
exhausted.push(route);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
routes.push(route);
|
|
254
|
+
issue.status = "fixing";
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return { routes, exhausted };
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Checks if the parallel execution has converged (all approved or exhausted).
|
|
261
|
+
*/
|
|
262
|
+
function checkConvergence(state) {
|
|
263
|
+
const approved = [];
|
|
264
|
+
const exhausted = [];
|
|
265
|
+
const pendingDefects = [];
|
|
266
|
+
for (const issue of state.issues) {
|
|
267
|
+
if (issue.status === "approved") {
|
|
268
|
+
approved.push(issue.issue);
|
|
269
|
+
}
|
|
270
|
+
else if ((issue.reviewIteration || 0) >= state.maxIterations) {
|
|
271
|
+
exhausted.push(issue.issue);
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
pendingDefects.push(issue.issue);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return {
|
|
278
|
+
converged: approved.length + exhausted.length === state.issues.length,
|
|
279
|
+
allApproved: approved.length === state.issues.length,
|
|
280
|
+
exhaustedBranches: exhausted,
|
|
281
|
+
pendingDefects,
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
// ─── Conflict group helpers ──────────────────────────────────────────────────
|
|
285
|
+
/**
|
|
286
|
+
* Returns issues that can execute in parallel (not in any conflict group with
|
|
287
|
+
* currently-running issues).
|
|
288
|
+
*/
|
|
289
|
+
function getIndependentIssues(state) {
|
|
290
|
+
const inConflict = new Set();
|
|
291
|
+
for (const group of state.conflictGroups) {
|
|
292
|
+
for (const num of group) {
|
|
293
|
+
inConflict.add(num);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return state.issues.filter((i) => !inConflict.has(i.issue)).map((i) => i.issue);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Returns the conflict group that contains a given issue, or null.
|
|
300
|
+
*/
|
|
301
|
+
function getConflictGroup(state, issueNumber) {
|
|
302
|
+
for (const group of state.conflictGroups) {
|
|
303
|
+
if (group.includes(issueNumber)) {
|
|
304
|
+
return group;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return null;
|
|
308
|
+
}
|
|
309
|
+
function summarize(state) {
|
|
310
|
+
const byStatus = {};
|
|
311
|
+
for (const issue of state.issues) {
|
|
312
|
+
byStatus[issue.status] = (byStatus[issue.status] || 0) + 1;
|
|
313
|
+
}
|
|
314
|
+
return {
|
|
315
|
+
phase: state.phase,
|
|
316
|
+
totalIssues: state.issues.length,
|
|
317
|
+
byStatus: byStatus,
|
|
318
|
+
currentWave: state.reviewWave?.wave ?? null,
|
|
319
|
+
phaseTransitions: state.phaseLog.length,
|
|
320
|
+
conflictGroupCount: state.conflictGroups.length,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=parallel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../src/parallel.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;AA4EH,8BAEC;AAID,8BASC;AAED,gCAIC;AAED,kCAEC;AAED,kCAKC;AAUD,kCA0CC;AAID,0CAkBC;AAYD,8CAEC;AAED,gDAEC;AAID,8CAWC;AAQD,4CA4BC;AAID,0CA0BC;AAED,wCA2BC;AAKD,oDAIC;AAgBD,0CA2BC;AAcD,4CAqBC;AAQD,oDASC;AAKD,4CAOC;AAaD,8BAcC;AAncD,4CAAoB;AACpB,gDAAwB;AACxB,mCAA0D;AAiE1D,gFAAgF;AAEnE,QAAA,cAAc,GAAG,wBAAwB,CAAC;AAC1C,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC,gFAAgF;AAEhF,SAAgB,SAAS,CAAC,WAAmB;IAC3C,OAAO,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,sBAAc,CAAC,CAAC;AAC3D,CAAC;AAED,gFAAgF;AAEhF,SAAgB,SAAS,CAAC,WAAmB;IAC3C,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,WAAmB,EAAE,KAAoB;IAClE,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,IAAA,iBAAS,EAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,WAAW,CAAC,WAAmB;IAC7C,OAAO,IAAA,kBAAU,EAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,WAAW,CAAC,WAAmB;IAC7C,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,IAAI,CAAC,IAAA,kBAAU,EAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAClC,YAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAUD,SAAgB,WAAW,CAAC,WAAmB,EAAE,OAAsB;IACrE,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,sCAAsC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,qDAAqD;IACrD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACjD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,KAAK,GAAkB;QAC3B,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,SAAwB;YAChC,eAAe,EAAE,CAAC;SACnB,CAAC,CAAC;QACH,KAAK,EAAE,gBAAgB;QACvB,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;QAC5C,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,8BAAsB;QAC9D,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;QACd,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E,SAAgB,eAAe,CAAC,KAAoB,EAAE,EAAS,EAAE,MAAc;IAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;IAEzB,+BAA+B;IAC/B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,OAAO,EAAE,kBAAkB,IAAI,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClB,IAAI;QACJ,EAAE;QACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM;KACP,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;IACjB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,cAAc,GAA2B;IAC7C,gBAAgB,EAAE,CAAC,gBAAgB,CAAC;IACpC,cAAc,EAAE,CAAC,cAAc,CAAC;IAChC,cAAc,EAAE,CAAC,aAAa,CAAC;IAC/B,aAAa,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IACtD,gBAAgB,EAAE,CAAC,aAAa,EAAE,mBAAmB,CAAC;IACtD,mBAAmB,EAAE,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,SAAgB,iBAAiB,CAAC,IAAW,EAAE,EAAS;IACtD,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;AACrD,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAW;IAC5C,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,gFAAgF;AAEhF,SAAgB,iBAAiB,CAC/B,KAAoB,EACpB,WAAmB,EACnB,MAAmB;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,UAAU,WAAW,8BAA8B,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAoB;IAKnD,MAAM,iBAAiB,GAAkB;QACvC,aAAa;QACb,WAAW;QACX,eAAe;QACf,QAAQ;QACR,UAAU;KACX,CAAC;IACF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;QAC3B,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAgB,eAAe,CAAC,KAAoB;IAClD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,mDAAmD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnD,KAAK,CAAC,UAAU,GAAG;QACjB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ;QACR,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,yCAAyC;IACzC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,cAAc,CAC5B,KAAoB,EACpB,MAAc,EACd,QAAwB;IAExB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,+BAA+B,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;IAE7C,wCAAwC;IACxC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;QAC/B,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QACjC,KAAK,CAAC,eAAe,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QAC1B,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAoB;IACvD,IAAI,CAAC,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAYD;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAoB;IAIlD,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,SAAS,GAAkB,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe;YAAE,SAAS;QAE/C,MAAM,KAAK,GAAgB;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC5B,SAAS,EAAE,KAAK,CAAC,eAAe,IAAI,CAAC;SACtC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAWD;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAoB;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/D,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM;QACrE,WAAW,EAAE,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM;QACpD,iBAAiB,EAAE,SAAS;QAC5B,cAAc;KACf,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,KAAoB;IACvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAClF,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAoB,EAAE,WAAmB;IACxE,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAaD,SAAgB,SAAS,CAAC,KAAoB;IAC5C,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAChC,QAAQ,EAAE,QAAuC;QACjD,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,IAAI;QAC3C,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;QACvC,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;KAChD,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fredericboyer/dev-team",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Adversarial AI agent team for any project — installs Claude Code agents, hooks, and skills that enforce quality through productive friction",
|
|
5
5
|
"main": "dist/init.js",
|
|
6
6
|
"types": "dist/init.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsc",
|
|
17
17
|
"pretest": "npm run build",
|
|
18
|
-
"test": "node --test tests/unit/files.test.js tests/unit/hooks.test.js tests/unit/scan.test.js tests/unit/create-agent.test.js tests/unit/cli.test.js tests/integration/fresh-project.test.js tests/integration/idempotency.test.js tests/integration/update.test.js tests/scenarios/node-project.test.js tests/scenarios/python-project.test.js tests/scenarios/upgrade-path.test.js",
|
|
18
|
+
"test": "node --test tests/unit/files.test.js tests/unit/hooks.test.js tests/unit/scan.test.js tests/unit/create-agent.test.js tests/unit/cli.test.js tests/unit/parallel.test.js tests/integration/fresh-project.test.js tests/integration/idempotency.test.js tests/integration/update.test.js tests/scenarios/node-project.test.js tests/scenarios/python-project.test.js tests/scenarios/upgrade-path.test.js",
|
|
19
19
|
"test:unit": "node --test tests/unit/files.test.js tests/unit/hooks.test.js",
|
|
20
20
|
"test:integration": "node --test tests/integration/fresh-project.test.js tests/integration/idempotency.test.js",
|
|
21
21
|
"test:scenarios": "node --test tests/scenarios/node-project.test.js tests/scenarios/python-project.test.js tests/scenarios/upgrade-path.test.js",
|
package/templates/CLAUDE.md
CHANGED
|
@@ -9,13 +9,14 @@ This project uses [dev-team](https://github.com/dev-team) — adversarial AI age
|
|
|
9
9
|
| Agent | Role | When to use |
|
|
10
10
|
|-------|------|-------------|
|
|
11
11
|
| `@dev-team-voss` | Backend Engineer | API design, data modeling, system architecture, error handling |
|
|
12
|
+
| `@dev-team-hamilton` | Infrastructure Engineer | Dockerfiles, IaC, CI/CD, k8s, deployment, health checks, monitoring |
|
|
12
13
|
| `@dev-team-mori` | Frontend/UI Engineer | Components, accessibility, UX patterns, state management |
|
|
13
14
|
| `@dev-team-szabo` | Security Auditor | Vulnerability review, auth flows, attack surface analysis |
|
|
14
15
|
| `@dev-team-knuth` | Quality Auditor | Coverage gaps, boundary conditions, correctness verification |
|
|
15
16
|
| `@dev-team-beck` | Test Implementer | Writing tests, TDD cycles, translating audit findings into test cases |
|
|
16
17
|
| `@dev-team-deming` | Tooling Optimizer | Linters, formatters, CI/CD, hooks, onboarding, automation |
|
|
17
18
|
| `@dev-team-tufte` | Documentation Engineer | Doc accuracy, stale docs, README/API docs, doc-code sync |
|
|
18
|
-
| `@dev-team-brooks` | Architect | Architectural review, coupling,
|
|
19
|
+
| `@dev-team-brooks` | Architect & Quality Reviewer | Architectural review, coupling, ADR compliance, quality attributes (performance, maintainability, scalability) |
|
|
19
20
|
| `@dev-team-conway` | Release Manager | Versioning, changelog, release readiness, semver validation |
|
|
20
21
|
| `@dev-team-drucker` | Team Lead / Orchestrator | Auto-delegates to specialists, manages review loops, resolves conflicts |
|
|
21
22
|
| `@dev-team-borges` | Librarian | End-of-task/review/audit memory review, cross-agent coherence, system improvement |
|
|
@@ -30,17 +31,18 @@ For non-trivial work: explore the area first, then implement, then review.
|
|
|
30
31
|
- **Szabo** — auto-flagged when security-sensitive files change (auth, token, session, crypto, etc.)
|
|
31
32
|
- **Knuth** — auto-flagged when any non-test implementation code changes
|
|
32
33
|
- **Mori** — auto-flagged when API contract files change (/api/, /routes/, schema, etc.)
|
|
33
|
-
- **
|
|
34
|
+
- **Hamilton** — auto-flagged when infrastructure/operations files change (Dockerfile, docker-compose, CI workflows, Terraform, Helm, k8s, health checks, monitoring config, .env templates, etc.)
|
|
35
|
+
- **Voss** — auto-flagged when app config/data files change (.env, config, migrations, database, etc.)
|
|
34
36
|
- **Deming** — auto-flagged when tooling files change (eslint, CI workflows, package.json, etc.)
|
|
35
|
-
- **Tufte** — auto-flagged when documentation files change (.md, /docs/, README, etc.)
|
|
36
|
-
- **Brooks** — auto-flagged when architectural boundaries are touched (/adr/, /core/, /domain/, /lib/, build config, etc.)
|
|
37
|
+
- **Tufte** — auto-flagged when documentation files change (.md, /docs/, README, etc.) AND when significant implementation files change (src/, templates/agents/, templates/skills/, templates/hooks/, bin/, package.json) to detect doc-code drift
|
|
38
|
+
- **Brooks** — auto-flagged when any non-test implementation code changes (quality attributes) and when architectural boundaries are touched (/adr/, /core/, /domain/, /lib/, build config, etc.)
|
|
37
39
|
- **Conway** — auto-flagged when release artifacts change (package.json, changelog, version files, release/publish/deploy workflows, etc.)
|
|
38
40
|
|
|
39
41
|
**End-of-workflow agents:**
|
|
40
42
|
- **Borges** — mandatory at end of every `/dev-team:task`, `/dev-team:review`, and `/dev-team:audit`. Reviews memory freshness, cross-agent coherence, and system improvement opportunities.
|
|
41
43
|
|
|
42
44
|
**Orchestration:**
|
|
43
|
-
- **Drucker** — delegates tasks to the right implementing agent and spawns reviewers. Brooks
|
|
45
|
+
- **Drucker** — delegates tasks to the right implementing agent and spawns reviewers. Szabo, Knuth, and Brooks review all code changes. Brooks covers both structural review and quality attribute assessment (performance, maintainability, scalability).
|
|
44
46
|
|
|
45
47
|
Agents challenge each other using classified findings:
|
|
46
48
|
- `[DEFECT]` blocks progress. `[RISK]`, `[QUESTION]`, `[SUGGESTION]` are advisory.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Agent Memory: Hamilton (Infrastructure Engineer)
|
|
2
|
+
<!-- First 200 lines are loaded into agent context. Keep concise. -->
|
|
3
|
+
|
|
4
|
+
## Project Conventions
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Patterns to Watch For
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Calibration Log
|
|
11
|
+
<!-- Challenges accepted/overruled — tunes adversarial intensity over time -->
|
|
12
|
+
|