oh-my-claude-sisyphus 2.5.0 → 2.6.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/README.md +101 -24
- package/dist/__tests__/hooks.test.js +255 -1
- package/dist/__tests__/hooks.test.js.map +1 -1
- package/dist/__tests__/installer.test.js +1 -1
- package/dist/__tests__/notepad.test.d.ts +2 -0
- package/dist/__tests__/notepad.test.d.ts.map +1 -0
- package/dist/__tests__/notepad.test.js +374 -0
- package/dist/__tests__/notepad.test.js.map +1 -0
- package/dist/__tests__/ralph-prd.test.d.ts +2 -0
- package/dist/__tests__/ralph-prd.test.d.ts.map +1 -0
- package/dist/__tests__/ralph-prd.test.js +308 -0
- package/dist/__tests__/ralph-prd.test.js.map +1 -0
- package/dist/__tests__/ralph-progress.test.d.ts +2 -0
- package/dist/__tests__/ralph-progress.test.d.ts.map +1 -0
- package/dist/__tests__/ralph-progress.test.js +312 -0
- package/dist/__tests__/ralph-progress.test.js.map +1 -0
- package/dist/__tests__/skills.test.js +5 -3
- package/dist/__tests__/skills.test.js.map +1 -1
- package/dist/agents/definitions.d.ts +4 -0
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +147 -3
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/prometheus.js +2 -2
- package/dist/agents/prometheus.js.map +1 -1
- package/dist/features/builtin-skills/skills.d.ts.map +1 -1
- package/dist/features/builtin-skills/skills.js +61 -0
- package/dist/features/builtin-skills/skills.js.map +1 -1
- package/dist/features/magic-keywords.js +1 -1
- package/dist/hooks/index.d.ts +5 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +15 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/notepad/index.d.ts +114 -0
- package/dist/hooks/notepad/index.d.ts.map +1 -0
- package/dist/hooks/notepad/index.js +372 -0
- package/dist/hooks/notepad/index.js.map +1 -0
- package/dist/hooks/persistent-mode/index.d.ts +5 -0
- package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
- package/dist/hooks/persistent-mode/index.js +71 -5
- package/dist/hooks/persistent-mode/index.js.map +1 -1
- package/dist/hooks/ralph-loop/index.d.ts +48 -0
- package/dist/hooks/ralph-loop/index.d.ts.map +1 -1
- package/dist/hooks/ralph-loop/index.js +127 -0
- package/dist/hooks/ralph-loop/index.js.map +1 -1
- package/dist/hooks/ralph-prd/index.d.ts +130 -0
- package/dist/hooks/ralph-prd/index.d.ts.map +1 -0
- package/dist/hooks/ralph-prd/index.js +310 -0
- package/dist/hooks/ralph-prd/index.js.map +1 -0
- package/dist/hooks/ralph-progress/index.d.ts +102 -0
- package/dist/hooks/ralph-progress/index.d.ts.map +1 -0
- package/dist/hooks/ralph-progress/index.js +408 -0
- package/dist/hooks/ralph-progress/index.js.map +1 -0
- package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +1 -1
- package/dist/hooks/sisyphus-orchestrator/index.js +26 -0
- package/dist/hooks/sisyphus-orchestrator/index.js.map +1 -1
- package/dist/hooks/ultraqa-loop/index.d.ts +94 -0
- package/dist/hooks/ultraqa-loop/index.d.ts.map +1 -0
- package/dist/hooks/ultraqa-loop/index.js +216 -0
- package/dist/hooks/ultraqa-loop/index.js.map +1 -0
- package/dist/installer/hooks.d.ts +28 -0
- package/dist/installer/hooks.d.ts.map +1 -1
- package/dist/installer/hooks.js +262 -2
- package/dist/installer/hooks.js.map +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +426 -12
- package/dist/installer/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/persistent-mode.mjs +187 -7
- package/scripts/post-tool-verifier.mjs +62 -1
- package/scripts/session-start.mjs +22 -0
- package/scripts/test-max-attempts.ts +94 -0
- package/scripts/test-mutual-exclusion.ts +152 -0
- package/scripts/test-notepad-integration.ts +495 -0
- package/scripts/test-remember-tags.ts +121 -0
- package/scripts/test-session-injection.ts +41 -0
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ralph Progress Log Support
|
|
3
|
+
*
|
|
4
|
+
* Implements append-only progress tracking using progress.txt format from original Ralph.
|
|
5
|
+
* This provides memory persistence between ralph-loop iterations.
|
|
6
|
+
*
|
|
7
|
+
* Structure:
|
|
8
|
+
* - Codebase Patterns section at top (consolidated learnings)
|
|
9
|
+
* - Per-story progress entries appended
|
|
10
|
+
* - Learnings captured for future iterations
|
|
11
|
+
*/
|
|
12
|
+
import { existsSync, readFileSync, writeFileSync, appendFileSync, mkdirSync } from 'fs';
|
|
13
|
+
import { join } from 'path';
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Constants
|
|
16
|
+
// ============================================================================
|
|
17
|
+
export const PROGRESS_FILENAME = 'progress.txt';
|
|
18
|
+
export const PATTERNS_HEADER = '## Codebase Patterns';
|
|
19
|
+
export const ENTRY_SEPARATOR = '---';
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// File Operations
|
|
22
|
+
// ============================================================================
|
|
23
|
+
/**
|
|
24
|
+
* Get the path to progress.txt in a directory
|
|
25
|
+
*/
|
|
26
|
+
export function getProgressPath(directory) {
|
|
27
|
+
return join(directory, PROGRESS_FILENAME);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get the path to progress.txt in .sisyphus subdirectory
|
|
31
|
+
*/
|
|
32
|
+
export function getSisyphusProgressPath(directory) {
|
|
33
|
+
return join(directory, '.sisyphus', PROGRESS_FILENAME);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Find progress.txt in a directory (checks both root and .sisyphus)
|
|
37
|
+
*/
|
|
38
|
+
export function findProgressPath(directory) {
|
|
39
|
+
const rootPath = getProgressPath(directory);
|
|
40
|
+
if (existsSync(rootPath)) {
|
|
41
|
+
return rootPath;
|
|
42
|
+
}
|
|
43
|
+
const sisyphusPath = getSisyphusProgressPath(directory);
|
|
44
|
+
if (existsSync(sisyphusPath)) {
|
|
45
|
+
return sisyphusPath;
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Read raw progress.txt content
|
|
51
|
+
*/
|
|
52
|
+
export function readProgressRaw(directory) {
|
|
53
|
+
const progressPath = findProgressPath(directory);
|
|
54
|
+
if (!progressPath) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
return readFileSync(progressPath, 'utf-8');
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Parse progress.txt content into structured format
|
|
66
|
+
*/
|
|
67
|
+
export function parseProgress(content) {
|
|
68
|
+
const lines = content.split('\n');
|
|
69
|
+
const patterns = [];
|
|
70
|
+
const entries = [];
|
|
71
|
+
let startedAt = '';
|
|
72
|
+
let inPatterns = false;
|
|
73
|
+
let currentEntry = null;
|
|
74
|
+
let currentSection = '';
|
|
75
|
+
for (let i = 0; i < lines.length; i++) {
|
|
76
|
+
const line = lines[i];
|
|
77
|
+
const trimmed = line.trim();
|
|
78
|
+
// Check for started timestamp
|
|
79
|
+
if (trimmed.startsWith('Started:')) {
|
|
80
|
+
startedAt = trimmed.replace('Started:', '').trim();
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
// Check for patterns section
|
|
84
|
+
if (trimmed === PATTERNS_HEADER) {
|
|
85
|
+
inPatterns = true;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
// Check for separator (ends patterns section, separates entries)
|
|
89
|
+
if (trimmed === ENTRY_SEPARATOR) {
|
|
90
|
+
inPatterns = false;
|
|
91
|
+
if (currentEntry && currentEntry.storyId) {
|
|
92
|
+
entries.push(currentEntry);
|
|
93
|
+
}
|
|
94
|
+
currentEntry = null;
|
|
95
|
+
currentSection = '';
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
// Parse patterns
|
|
99
|
+
if (inPatterns && trimmed.startsWith('-')) {
|
|
100
|
+
patterns.push({
|
|
101
|
+
pattern: trimmed.slice(1).trim()
|
|
102
|
+
});
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
// Parse entry header (## [Date] - [Story ID])
|
|
106
|
+
const headerMatch = trimmed.match(/^##\s*\[(.+?)\]\s*-\s*(.+)$/);
|
|
107
|
+
if (headerMatch) {
|
|
108
|
+
if (currentEntry && currentEntry.storyId) {
|
|
109
|
+
entries.push(currentEntry);
|
|
110
|
+
}
|
|
111
|
+
currentEntry = {
|
|
112
|
+
timestamp: headerMatch[1],
|
|
113
|
+
storyId: headerMatch[2],
|
|
114
|
+
implementation: [],
|
|
115
|
+
filesChanged: [],
|
|
116
|
+
learnings: []
|
|
117
|
+
};
|
|
118
|
+
currentSection = '';
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
// Parse sections within entry
|
|
122
|
+
if (currentEntry) {
|
|
123
|
+
if (trimmed.toLowerCase().includes('learnings')) {
|
|
124
|
+
currentSection = 'learnings';
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
if (trimmed.toLowerCase().includes('files changed') || trimmed.toLowerCase().includes('files:')) {
|
|
128
|
+
currentSection = 'files';
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (trimmed.startsWith('-') || trimmed.startsWith('*')) {
|
|
132
|
+
const item = trimmed.slice(1).trim();
|
|
133
|
+
if (currentSection === 'learnings') {
|
|
134
|
+
currentEntry.learnings.push(item);
|
|
135
|
+
}
|
|
136
|
+
else if (currentSection === 'files') {
|
|
137
|
+
currentEntry.filesChanged.push(item);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
currentEntry.implementation.push(item);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// Don't forget the last entry
|
|
146
|
+
if (currentEntry && currentEntry.storyId) {
|
|
147
|
+
entries.push(currentEntry);
|
|
148
|
+
}
|
|
149
|
+
return {
|
|
150
|
+
patterns,
|
|
151
|
+
entries,
|
|
152
|
+
startedAt
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Read and parse progress.txt
|
|
157
|
+
*/
|
|
158
|
+
export function readProgress(directory) {
|
|
159
|
+
const content = readProgressRaw(directory);
|
|
160
|
+
if (!content) {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
return parseProgress(content);
|
|
164
|
+
}
|
|
165
|
+
// ============================================================================
|
|
166
|
+
// Progress Operations
|
|
167
|
+
// ============================================================================
|
|
168
|
+
/**
|
|
169
|
+
* Initialize a new progress.txt file
|
|
170
|
+
*/
|
|
171
|
+
export function initProgress(directory) {
|
|
172
|
+
const sisyphusDir = join(directory, '.sisyphus');
|
|
173
|
+
if (!existsSync(sisyphusDir)) {
|
|
174
|
+
try {
|
|
175
|
+
mkdirSync(sisyphusDir, { recursive: true });
|
|
176
|
+
}
|
|
177
|
+
catch {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const progressPath = getSisyphusProgressPath(directory);
|
|
182
|
+
const now = new Date().toISOString();
|
|
183
|
+
const content = `# Ralph Progress Log
|
|
184
|
+
Started: ${now}
|
|
185
|
+
|
|
186
|
+
${PATTERNS_HEADER}
|
|
187
|
+
(No patterns discovered yet)
|
|
188
|
+
|
|
189
|
+
${ENTRY_SEPARATOR}
|
|
190
|
+
|
|
191
|
+
`;
|
|
192
|
+
try {
|
|
193
|
+
writeFileSync(progressPath, content);
|
|
194
|
+
return true;
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Append a progress entry
|
|
202
|
+
*/
|
|
203
|
+
export function appendProgress(directory, entry) {
|
|
204
|
+
let progressPath = findProgressPath(directory);
|
|
205
|
+
if (!progressPath) {
|
|
206
|
+
// Initialize if doesn't exist
|
|
207
|
+
if (!initProgress(directory)) {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
progressPath = getSisyphusProgressPath(directory);
|
|
211
|
+
}
|
|
212
|
+
const now = new Date().toISOString();
|
|
213
|
+
const dateStr = now.split('T')[0];
|
|
214
|
+
const timeStr = now.split('T')[1].slice(0, 5);
|
|
215
|
+
const lines = [
|
|
216
|
+
'',
|
|
217
|
+
`## [${dateStr} ${timeStr}] - ${entry.storyId}`,
|
|
218
|
+
''
|
|
219
|
+
];
|
|
220
|
+
if (entry.implementation.length > 0) {
|
|
221
|
+
lines.push('**What was implemented:**');
|
|
222
|
+
entry.implementation.forEach(item => {
|
|
223
|
+
lines.push(`- ${item}`);
|
|
224
|
+
});
|
|
225
|
+
lines.push('');
|
|
226
|
+
}
|
|
227
|
+
if (entry.filesChanged.length > 0) {
|
|
228
|
+
lines.push('**Files changed:**');
|
|
229
|
+
entry.filesChanged.forEach(file => {
|
|
230
|
+
lines.push(`- ${file}`);
|
|
231
|
+
});
|
|
232
|
+
lines.push('');
|
|
233
|
+
}
|
|
234
|
+
if (entry.learnings.length > 0) {
|
|
235
|
+
lines.push('**Learnings for future iterations:**');
|
|
236
|
+
entry.learnings.forEach(learning => {
|
|
237
|
+
lines.push(`- ${learning}`);
|
|
238
|
+
});
|
|
239
|
+
lines.push('');
|
|
240
|
+
}
|
|
241
|
+
lines.push(ENTRY_SEPARATOR);
|
|
242
|
+
lines.push('');
|
|
243
|
+
try {
|
|
244
|
+
appendFileSync(progressPath, lines.join('\n'));
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Add a codebase pattern to the patterns section
|
|
253
|
+
* @param retryCount - Internal retry counter to prevent infinite recursion
|
|
254
|
+
*/
|
|
255
|
+
export function addPattern(directory, pattern, retryCount = 0) {
|
|
256
|
+
// Guard against infinite recursion
|
|
257
|
+
if (retryCount > 1) {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
const progressPath = findProgressPath(directory);
|
|
261
|
+
if (!progressPath) {
|
|
262
|
+
// Initialize if doesn't exist
|
|
263
|
+
if (!initProgress(directory)) {
|
|
264
|
+
return false;
|
|
265
|
+
}
|
|
266
|
+
// Retry once after initialization
|
|
267
|
+
return addPattern(directory, pattern, retryCount + 1);
|
|
268
|
+
}
|
|
269
|
+
try {
|
|
270
|
+
let content = readFileSync(progressPath, 'utf-8');
|
|
271
|
+
// Remove placeholder if present (do this FIRST before calculating positions)
|
|
272
|
+
content = content.replace('(No patterns discovered yet)\n', '');
|
|
273
|
+
// Find the patterns section and add the new pattern
|
|
274
|
+
const patternsSectionStart = content.indexOf(PATTERNS_HEADER);
|
|
275
|
+
if (patternsSectionStart === -1) {
|
|
276
|
+
return false;
|
|
277
|
+
}
|
|
278
|
+
// Find the first separator after patterns
|
|
279
|
+
const separatorPos = content.indexOf(ENTRY_SEPARATOR, patternsSectionStart);
|
|
280
|
+
if (separatorPos === -1) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
// Insert the pattern before the separator
|
|
284
|
+
const before = content.slice(0, separatorPos);
|
|
285
|
+
const after = content.slice(separatorPos);
|
|
286
|
+
const newContent = before + `- ${pattern}\n\n` + after;
|
|
287
|
+
writeFileSync(progressPath, newContent);
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
return false;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Get patterns from progress.txt for injection into context
|
|
296
|
+
*/
|
|
297
|
+
export function getPatterns(directory) {
|
|
298
|
+
const progress = readProgress(directory);
|
|
299
|
+
if (!progress) {
|
|
300
|
+
return [];
|
|
301
|
+
}
|
|
302
|
+
return progress.patterns.map(p => p.pattern);
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Get recent learnings for context injection
|
|
306
|
+
*/
|
|
307
|
+
export function getRecentLearnings(directory, limit = 5) {
|
|
308
|
+
const progress = readProgress(directory);
|
|
309
|
+
if (!progress) {
|
|
310
|
+
return [];
|
|
311
|
+
}
|
|
312
|
+
const learnings = [];
|
|
313
|
+
const recentEntries = progress.entries.slice(-limit);
|
|
314
|
+
for (const entry of recentEntries) {
|
|
315
|
+
learnings.push(...entry.learnings);
|
|
316
|
+
}
|
|
317
|
+
return learnings;
|
|
318
|
+
}
|
|
319
|
+
// ============================================================================
|
|
320
|
+
// Formatting
|
|
321
|
+
// ============================================================================
|
|
322
|
+
/**
|
|
323
|
+
* Format patterns for context injection
|
|
324
|
+
*/
|
|
325
|
+
export function formatPatternsForContext(directory) {
|
|
326
|
+
const patterns = getPatterns(directory);
|
|
327
|
+
if (patterns.length === 0) {
|
|
328
|
+
return '';
|
|
329
|
+
}
|
|
330
|
+
const lines = [
|
|
331
|
+
'<codebase-patterns>',
|
|
332
|
+
'',
|
|
333
|
+
'## Known Patterns from Previous Iterations',
|
|
334
|
+
''
|
|
335
|
+
];
|
|
336
|
+
patterns.forEach(pattern => {
|
|
337
|
+
lines.push(`- ${pattern}`);
|
|
338
|
+
});
|
|
339
|
+
lines.push('');
|
|
340
|
+
lines.push('</codebase-patterns>');
|
|
341
|
+
lines.push('');
|
|
342
|
+
return lines.join('\n');
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Format recent progress for context injection
|
|
346
|
+
*/
|
|
347
|
+
export function formatProgressForContext(directory, limit = 3) {
|
|
348
|
+
const progress = readProgress(directory);
|
|
349
|
+
if (!progress || progress.entries.length === 0) {
|
|
350
|
+
return '';
|
|
351
|
+
}
|
|
352
|
+
const recent = progress.entries.slice(-limit);
|
|
353
|
+
const lines = [
|
|
354
|
+
'<recent-progress>',
|
|
355
|
+
'',
|
|
356
|
+
'## Recent Progress',
|
|
357
|
+
''
|
|
358
|
+
];
|
|
359
|
+
for (const entry of recent) {
|
|
360
|
+
lines.push(`### ${entry.storyId} (${entry.timestamp})`);
|
|
361
|
+
if (entry.implementation.length > 0) {
|
|
362
|
+
entry.implementation.forEach(item => {
|
|
363
|
+
lines.push(`- ${item}`);
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
lines.push('');
|
|
367
|
+
}
|
|
368
|
+
lines.push('</recent-progress>');
|
|
369
|
+
lines.push('');
|
|
370
|
+
return lines.join('\n');
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Format learnings for context injection
|
|
374
|
+
*/
|
|
375
|
+
export function formatLearningsForContext(directory) {
|
|
376
|
+
const learnings = getRecentLearnings(directory, 10);
|
|
377
|
+
if (learnings.length === 0) {
|
|
378
|
+
return '';
|
|
379
|
+
}
|
|
380
|
+
const lines = [
|
|
381
|
+
'<learnings>',
|
|
382
|
+
'',
|
|
383
|
+
'## Learnings from Previous Iterations',
|
|
384
|
+
''
|
|
385
|
+
];
|
|
386
|
+
// Deduplicate learnings
|
|
387
|
+
const unique = [...new Set(learnings)];
|
|
388
|
+
unique.forEach(learning => {
|
|
389
|
+
lines.push(`- ${learning}`);
|
|
390
|
+
});
|
|
391
|
+
lines.push('');
|
|
392
|
+
lines.push('</learnings>');
|
|
393
|
+
lines.push('');
|
|
394
|
+
return lines.join('\n');
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Get full context injection for ralph-loop
|
|
398
|
+
*/
|
|
399
|
+
export function getProgressContext(directory) {
|
|
400
|
+
const patterns = formatPatternsForContext(directory);
|
|
401
|
+
const learnings = formatLearningsForContext(directory);
|
|
402
|
+
const recent = formatProgressForContext(directory, 2);
|
|
403
|
+
if (!patterns && !learnings && !recent) {
|
|
404
|
+
return '';
|
|
405
|
+
}
|
|
406
|
+
return [patterns, learnings, recent].filter(Boolean).join('\n');
|
|
407
|
+
}
|
|
408
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/ralph-progress/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/sisyphus-orchestrator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/sisyphus-orchestrator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuBH,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAmDhE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAkC9D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAapE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC9C,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,MAAM,CAGR;AA2BD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAuBrF;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,GACb,iBAAiB,CA2DnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG;IAC3D,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAmBA;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM;IAE5D;;OAEG;;IAGH;;OAEG;wBACiB,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ9D;;OAEG;yBACkB,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,MAAM;IAO/E;;OAEG;;wBAxDW,OAAO;kBACb,MAAM;;IA4Dd;;OAEG;;EAGN"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { execSync } from 'child_process';
|
|
11
11
|
import { HOOK_NAME, ALLOWED_PATH_PREFIX, WRITE_EDIT_TOOLS, DIRECT_WORK_REMINDER, ORCHESTRATOR_DELEGATION_REQUIRED, BOULDER_CONTINUATION_PROMPT, VERIFICATION_REMINDER, SINGLE_TASK_DIRECTIVE, } from './constants.js';
|
|
12
12
|
import { readBoulderState, getPlanProgress, } from '../../features/boulder-state/index.js';
|
|
13
|
+
import { addWorkingMemoryEntry, setPriorityContext, } from '../notepad/index.js';
|
|
13
14
|
// Re-export constants
|
|
14
15
|
export * from './constants.js';
|
|
15
16
|
/**
|
|
@@ -151,6 +152,29 @@ export function buildBoulderContinuation(planName, remaining, total) {
|
|
|
151
152
|
return BOULDER_CONTINUATION_PROMPT.replace(/{PLAN_NAME}/g, planName) +
|
|
152
153
|
`\n\n[Status: ${total - remaining}/${total} completed, ${remaining} remaining]`;
|
|
153
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Detect and process <remember> tags from agent output
|
|
157
|
+
* <remember>content</remember> -> Working Memory
|
|
158
|
+
* <remember priority>content</remember> -> Priority Context
|
|
159
|
+
*/
|
|
160
|
+
function processRememberTags(output, directory) {
|
|
161
|
+
// Match priority remember tags
|
|
162
|
+
const priorityMatches = output.matchAll(/<remember\s+priority>([\s\S]*?)<\/remember>/gi);
|
|
163
|
+
for (const match of priorityMatches) {
|
|
164
|
+
const content = match[1].trim();
|
|
165
|
+
if (content) {
|
|
166
|
+
setPriorityContext(directory, content);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Match regular remember tags
|
|
170
|
+
const regularMatches = output.matchAll(/<remember>([\s\S]*?)<\/remember>/gi);
|
|
171
|
+
for (const match of regularMatches) {
|
|
172
|
+
const content = match[1].trim();
|
|
173
|
+
if (content) {
|
|
174
|
+
addWorkingMemoryEntry(directory, content);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
154
178
|
/**
|
|
155
179
|
* Process pre-tool-use hook for orchestrator
|
|
156
180
|
* Returns warning message if orchestrator tries to modify non-allowed paths
|
|
@@ -198,6 +222,8 @@ export function processOrchestratorPostTool(input, output) {
|
|
|
198
222
|
if (isBackgroundLaunch) {
|
|
199
223
|
return { continue: true };
|
|
200
224
|
}
|
|
225
|
+
// Process <remember> tags from agent output
|
|
226
|
+
processRememberTags(output, workDir);
|
|
201
227
|
// Get git stats and build enhanced output
|
|
202
228
|
const gitStats = getGitDiffStats(workDir);
|
|
203
229
|
const fileChanges = formatFileChanges(gitStats);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/sisyphus-orchestrator/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,gCAAgC,EAChC,2BAA2B,EAC3B,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,eAAe,GAChB,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/sisyphus-orchestrator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UltraQA Loop Hook
|
|
3
|
+
*
|
|
4
|
+
* QA cycling workflow that runs test → oracle verify → fix → repeat
|
|
5
|
+
* until the QA goal is met or max cycles reached.
|
|
6
|
+
*/
|
|
7
|
+
export type UltraQAGoalType = 'tests' | 'build' | 'lint' | 'typecheck' | 'custom';
|
|
8
|
+
export interface UltraQAState {
|
|
9
|
+
/** Whether the loop is currently active */
|
|
10
|
+
active: boolean;
|
|
11
|
+
/** Type of QA goal */
|
|
12
|
+
goal_type: UltraQAGoalType;
|
|
13
|
+
/** Custom pattern to match (for custom goal type) */
|
|
14
|
+
goal_pattern: string | null;
|
|
15
|
+
/** Current cycle number */
|
|
16
|
+
cycle: number;
|
|
17
|
+
/** Maximum cycles before stopping */
|
|
18
|
+
max_cycles: number;
|
|
19
|
+
/** Array of failure descriptions for pattern detection */
|
|
20
|
+
failures: string[];
|
|
21
|
+
/** When the loop started */
|
|
22
|
+
started_at: string;
|
|
23
|
+
/** Session ID the loop is bound to */
|
|
24
|
+
session_id?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface UltraQAOptions {
|
|
27
|
+
/** Maximum cycles (default: 5) */
|
|
28
|
+
maxCycles?: number;
|
|
29
|
+
/** Custom pattern for custom goal type */
|
|
30
|
+
customPattern?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface UltraQAResult {
|
|
33
|
+
/** Whether the goal was met */
|
|
34
|
+
success: boolean;
|
|
35
|
+
/** Number of cycles taken */
|
|
36
|
+
cycles: number;
|
|
37
|
+
/** Reason for exit */
|
|
38
|
+
reason: 'goal_met' | 'max_cycles' | 'same_failure' | 'env_error' | 'cancelled';
|
|
39
|
+
/** Diagnosis message if failed */
|
|
40
|
+
diagnosis?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Read UltraQA state from disk
|
|
44
|
+
*/
|
|
45
|
+
export declare function readUltraQAState(directory: string): UltraQAState | null;
|
|
46
|
+
/**
|
|
47
|
+
* Write UltraQA state to disk
|
|
48
|
+
*/
|
|
49
|
+
export declare function writeUltraQAState(directory: string, state: UltraQAState): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Clear UltraQA state
|
|
52
|
+
*/
|
|
53
|
+
export declare function clearUltraQAState(directory: string): boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Check if Ralph Loop is active (mutual exclusion check)
|
|
56
|
+
*/
|
|
57
|
+
export declare function isRalphLoopActive(directory: string): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Start a new UltraQA cycle
|
|
60
|
+
* Returns false if Ralph Loop is already active (mutual exclusion)
|
|
61
|
+
*/
|
|
62
|
+
export declare function startUltraQA(directory: string, goalType: UltraQAGoalType, sessionId: string, options?: UltraQAOptions): {
|
|
63
|
+
success: boolean;
|
|
64
|
+
error?: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Record a failure and increment cycle
|
|
68
|
+
*/
|
|
69
|
+
export declare function recordFailure(directory: string, failureDescription: string): {
|
|
70
|
+
state: UltraQAState | null;
|
|
71
|
+
shouldExit: boolean;
|
|
72
|
+
reason?: string;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Mark UltraQA as successful
|
|
76
|
+
*/
|
|
77
|
+
export declare function completeUltraQA(directory: string): UltraQAResult | null;
|
|
78
|
+
/**
|
|
79
|
+
* Stop UltraQA with failure
|
|
80
|
+
*/
|
|
81
|
+
export declare function stopUltraQA(directory: string, reason: 'max_cycles' | 'same_failure' | 'env_error', diagnosis: string): UltraQAResult | null;
|
|
82
|
+
/**
|
|
83
|
+
* Cancel UltraQA
|
|
84
|
+
*/
|
|
85
|
+
export declare function cancelUltraQA(directory: string): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Get goal command based on goal type
|
|
88
|
+
*/
|
|
89
|
+
export declare function getGoalCommand(goalType: UltraQAGoalType): string;
|
|
90
|
+
/**
|
|
91
|
+
* Format progress message
|
|
92
|
+
*/
|
|
93
|
+
export declare function formatProgressMessage(cycle: number, maxCycles: number, status: string): string;
|
|
94
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/ultraqa-loop/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElF,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB;IACtB,SAAS,EAAE,eAAe,CAAC;IAC3B,qDAAqD;IACrD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,GAAG,WAAW,CAAC;IAC/E,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAavE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CASjF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAa5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAsBtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM,GACzB;IAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAqCtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAevE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,WAAW,EACnD,SAAS,EAAE,MAAM,GAChB,aAAa,GAAG,IAAI,CAgBtB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAExD;AAgBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAahE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,MAAM,CAER"}
|