@blockspool/cli 0.5.4 → 0.5.5
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/bin/blockspool.js +1 -1
- package/dist/lib/dedup-memory.d.ts +51 -0
- package/dist/lib/dedup-memory.d.ts.map +1 -0
- package/dist/lib/dedup-memory.js +170 -0
- package/dist/lib/dedup-memory.js.map +1 -0
- package/dist/lib/solo-auto.d.ts +6 -0
- package/dist/lib/solo-auto.d.ts.map +1 -1
- package/dist/lib/solo-auto.js +98 -4
- package/dist/lib/solo-auto.js.map +1 -1
- package/package.json +1 -1
package/dist/bin/blockspool.js
CHANGED
|
@@ -18,7 +18,7 @@ const program = new Command();
|
|
|
18
18
|
program
|
|
19
19
|
.name('blockspool')
|
|
20
20
|
.description('Continuous codebase improvement tool')
|
|
21
|
-
.version('0.5.
|
|
21
|
+
.version('0.5.5');
|
|
22
22
|
// `blockspool solo <cmd>` — backwards compat
|
|
23
23
|
program.addCommand(soloCommand);
|
|
24
24
|
// Detect if argv[2] is a known solo subcommand name — if so, lift it.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-run dedup memory with temporal decay.
|
|
3
|
+
*
|
|
4
|
+
* Persists completed/rejected proposal titles to `.blockspool/dedup-memory.json`
|
|
5
|
+
* so the scout prompt knows what NOT to propose. Uses the same hybrid
|
|
6
|
+
* weight-decay + re-confirmation model as learnings.ts:
|
|
7
|
+
*
|
|
8
|
+
* - Weight decays by `DECAY_RATE` each session load (predictable baseline).
|
|
9
|
+
* - Entries that keep getting re-proposed (bumped) decay slower — the
|
|
10
|
+
* "re-confirmation" halves the decay, keeping persistent duplicates
|
|
11
|
+
* prominent while stale old titles fade naturally.
|
|
12
|
+
* - Entries that were successfully executed get a one-time boost so they
|
|
13
|
+
* stick around longer than mere rejections.
|
|
14
|
+
* - Budget-capped prompt formatting (highest-weight first).
|
|
15
|
+
*/
|
|
16
|
+
export interface DedupEntry {
|
|
17
|
+
title: string;
|
|
18
|
+
/** 0-100, decays per session load */
|
|
19
|
+
weight: number;
|
|
20
|
+
/** ISO timestamp of first encounter */
|
|
21
|
+
created_at: string;
|
|
22
|
+
/** ISO timestamp of most recent bump (re-proposal or completion) */
|
|
23
|
+
last_seen_at: string;
|
|
24
|
+
/** How many times this title was encountered (proposed or completed) */
|
|
25
|
+
hit_count: number;
|
|
26
|
+
/** Whether this was actually executed successfully (stronger signal) */
|
|
27
|
+
completed: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Load dedup memory, apply decay, prune dead entries, write back.
|
|
31
|
+
* Call once per session start (mirrors learnings.loadLearnings).
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadDedupMemory(projectRoot: string): DedupEntry[];
|
|
34
|
+
/**
|
|
35
|
+
* Record a title as "seen" — either a new duplicate rejection or a completed ticket.
|
|
36
|
+
* If the title already exists, bumps weight and hit_count (re-confirmation).
|
|
37
|
+
*/
|
|
38
|
+
export declare function recordDedupEntry(projectRoot: string, title: string, completed: boolean): void;
|
|
39
|
+
/**
|
|
40
|
+
* Batch-record multiple titles at once (avoids repeated file I/O).
|
|
41
|
+
*/
|
|
42
|
+
export declare function recordDedupEntries(projectRoot: string, titles: {
|
|
43
|
+
title: string;
|
|
44
|
+
completed: boolean;
|
|
45
|
+
}[]): void;
|
|
46
|
+
/**
|
|
47
|
+
* Format dedup memory for prompt injection.
|
|
48
|
+
* Highest-weight entries first, respects char budget.
|
|
49
|
+
*/
|
|
50
|
+
export declare function formatDedupForPrompt(entries: DedupEntry[], budget?: number): string;
|
|
51
|
+
//# sourceMappingURL=dedup-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dedup-memory.d.ts","sourceRoot":"","sources":["../../src/lib/dedup-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;CACpB;AAgDD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE,CA4BjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,IAAI,CAuBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,EAAE,GAC9C,IAAI,CA0BN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,MAAM,GAAE,MAAuB,GAAG,MAAM,CAqBnG"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-run dedup memory with temporal decay.
|
|
3
|
+
*
|
|
4
|
+
* Persists completed/rejected proposal titles to `.blockspool/dedup-memory.json`
|
|
5
|
+
* so the scout prompt knows what NOT to propose. Uses the same hybrid
|
|
6
|
+
* weight-decay + re-confirmation model as learnings.ts:
|
|
7
|
+
*
|
|
8
|
+
* - Weight decays by `DECAY_RATE` each session load (predictable baseline).
|
|
9
|
+
* - Entries that keep getting re-proposed (bumped) decay slower — the
|
|
10
|
+
* "re-confirmation" halves the decay, keeping persistent duplicates
|
|
11
|
+
* prominent while stale old titles fade naturally.
|
|
12
|
+
* - Entries that were successfully executed get a one-time boost so they
|
|
13
|
+
* stick around longer than mere rejections.
|
|
14
|
+
* - Budget-capped prompt formatting (highest-weight first).
|
|
15
|
+
*/
|
|
16
|
+
import * as fs from 'node:fs';
|
|
17
|
+
import * as path from 'node:path';
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
// Constants
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
const DEDUP_FILE = 'dedup-memory.json';
|
|
22
|
+
const DECAY_RATE = 5; // faster than learnings (3) since titles are more ephemeral
|
|
23
|
+
const DEFAULT_WEIGHT = 60;
|
|
24
|
+
const COMPLETED_WEIGHT = 80; // completed work starts heavier
|
|
25
|
+
const MAX_WEIGHT = 100;
|
|
26
|
+
const BUMP_AMOUNT = 15; // weight boost when re-encountered
|
|
27
|
+
const RECENT_WINDOW_MS = 3 * 24 * 60 * 60 * 1000; // 3 days
|
|
28
|
+
const DEFAULT_BUDGET = 1500;
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// File I/O
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
function dedupPath(projectRoot) {
|
|
33
|
+
return path.join(projectRoot, '.blockspool', DEDUP_FILE);
|
|
34
|
+
}
|
|
35
|
+
function readEntries(projectRoot) {
|
|
36
|
+
const fp = dedupPath(projectRoot);
|
|
37
|
+
if (!fs.existsSync(fp))
|
|
38
|
+
return [];
|
|
39
|
+
try {
|
|
40
|
+
const raw = fs.readFileSync(fp, 'utf8');
|
|
41
|
+
const parsed = JSON.parse(raw);
|
|
42
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function writeEntries(projectRoot, entries) {
|
|
49
|
+
const fp = dedupPath(projectRoot);
|
|
50
|
+
const dir = path.dirname(fp);
|
|
51
|
+
if (!fs.existsSync(dir)) {
|
|
52
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
53
|
+
}
|
|
54
|
+
fs.writeFileSync(fp, JSON.stringify(entries, null, 2) + '\n', 'utf8');
|
|
55
|
+
}
|
|
56
|
+
// ---------------------------------------------------------------------------
|
|
57
|
+
// Core API
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
/**
|
|
60
|
+
* Load dedup memory, apply decay, prune dead entries, write back.
|
|
61
|
+
* Call once per session start (mirrors learnings.loadLearnings).
|
|
62
|
+
*/
|
|
63
|
+
export function loadDedupMemory(projectRoot) {
|
|
64
|
+
const entries = readEntries(projectRoot);
|
|
65
|
+
const now = Date.now();
|
|
66
|
+
const surviving = [];
|
|
67
|
+
for (const e of entries) {
|
|
68
|
+
let decay = DECAY_RATE;
|
|
69
|
+
// Re-confirmation bonus: halve decay if seen recently (keeps persistent dupes prominent)
|
|
70
|
+
const lastSeen = new Date(e.last_seen_at).getTime();
|
|
71
|
+
if (now - lastSeen < RECENT_WINDOW_MS) {
|
|
72
|
+
decay /= 2;
|
|
73
|
+
}
|
|
74
|
+
// Completed work decays slower (stronger signal that it's done)
|
|
75
|
+
if (e.completed) {
|
|
76
|
+
decay /= 2;
|
|
77
|
+
}
|
|
78
|
+
e.weight = Math.min(MAX_WEIGHT, e.weight - decay);
|
|
79
|
+
if (e.weight > 0) {
|
|
80
|
+
surviving.push(e);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
writeEntries(projectRoot, surviving);
|
|
84
|
+
return surviving;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Record a title as "seen" — either a new duplicate rejection or a completed ticket.
|
|
88
|
+
* If the title already exists, bumps weight and hit_count (re-confirmation).
|
|
89
|
+
*/
|
|
90
|
+
export function recordDedupEntry(projectRoot, title, completed) {
|
|
91
|
+
const entries = readEntries(projectRoot);
|
|
92
|
+
const now = new Date().toISOString();
|
|
93
|
+
const normalized = title.toLowerCase().trim();
|
|
94
|
+
const existing = entries.find(e => e.title.toLowerCase().trim() === normalized);
|
|
95
|
+
if (existing) {
|
|
96
|
+
existing.weight = Math.min(MAX_WEIGHT, existing.weight + BUMP_AMOUNT);
|
|
97
|
+
existing.last_seen_at = now;
|
|
98
|
+
existing.hit_count++;
|
|
99
|
+
if (completed)
|
|
100
|
+
existing.completed = true;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
entries.push({
|
|
104
|
+
title,
|
|
105
|
+
weight: completed ? COMPLETED_WEIGHT : DEFAULT_WEIGHT,
|
|
106
|
+
created_at: now,
|
|
107
|
+
last_seen_at: now,
|
|
108
|
+
hit_count: 1,
|
|
109
|
+
completed,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
writeEntries(projectRoot, entries);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Batch-record multiple titles at once (avoids repeated file I/O).
|
|
116
|
+
*/
|
|
117
|
+
export function recordDedupEntries(projectRoot, titles) {
|
|
118
|
+
if (titles.length === 0)
|
|
119
|
+
return;
|
|
120
|
+
const entries = readEntries(projectRoot);
|
|
121
|
+
const now = new Date().toISOString();
|
|
122
|
+
for (const { title, completed } of titles) {
|
|
123
|
+
const normalized = title.toLowerCase().trim();
|
|
124
|
+
const existing = entries.find(e => e.title.toLowerCase().trim() === normalized);
|
|
125
|
+
if (existing) {
|
|
126
|
+
existing.weight = Math.min(MAX_WEIGHT, existing.weight + BUMP_AMOUNT);
|
|
127
|
+
existing.last_seen_at = now;
|
|
128
|
+
existing.hit_count++;
|
|
129
|
+
if (completed)
|
|
130
|
+
existing.completed = true;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
entries.push({
|
|
134
|
+
title,
|
|
135
|
+
weight: completed ? COMPLETED_WEIGHT : DEFAULT_WEIGHT,
|
|
136
|
+
created_at: now,
|
|
137
|
+
last_seen_at: now,
|
|
138
|
+
hit_count: 1,
|
|
139
|
+
completed,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
writeEntries(projectRoot, entries);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Format dedup memory for prompt injection.
|
|
147
|
+
* Highest-weight entries first, respects char budget.
|
|
148
|
+
*/
|
|
149
|
+
export function formatDedupForPrompt(entries, budget = DEFAULT_BUDGET) {
|
|
150
|
+
if (entries.length === 0)
|
|
151
|
+
return '';
|
|
152
|
+
const sorted = [...entries].sort((a, b) => b.weight - a.weight);
|
|
153
|
+
const lines = [];
|
|
154
|
+
let charCount = 0;
|
|
155
|
+
const header = '<already-completed>\n## Already Completed — Do NOT Propose These\n\nThe following improvements have already been done or attempted. Do NOT propose similar changes:\n';
|
|
156
|
+
const footer = '\n</already-completed>';
|
|
157
|
+
charCount += header.length + footer.length;
|
|
158
|
+
for (const e of sorted) {
|
|
159
|
+
const status = e.completed ? '✓ done' : 'attempted';
|
|
160
|
+
const line = `- ${e.title} (${status}, seen ${e.hit_count}x)`;
|
|
161
|
+
if (charCount + line.length + 1 > budget)
|
|
162
|
+
break;
|
|
163
|
+
lines.push(line);
|
|
164
|
+
charCount += line.length + 1;
|
|
165
|
+
}
|
|
166
|
+
if (lines.length === 0)
|
|
167
|
+
return '';
|
|
168
|
+
return header + lines.join('\n') + footer;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=dedup-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dedup-memory.js","sourceRoot":"","sources":["../../src/lib/dedup-memory.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/solo-auto.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { DatabaseAdapter } from '@blockspool/core/db';
|
|
5
5
|
import type { TicketProposal } from '@blockspool/core/scout';
|
|
6
|
+
import { type CodebaseIndex } from './codebase-index.js';
|
|
6
7
|
/**
|
|
7
8
|
* Sleep helper
|
|
8
9
|
*/
|
|
@@ -54,6 +55,11 @@ export declare function runAutoWorkMode(options: {
|
|
|
54
55
|
export declare function partitionIntoWaves<T extends {
|
|
55
56
|
files: string[];
|
|
56
57
|
}>(proposals: T[]): T[][];
|
|
58
|
+
/**
|
|
59
|
+
* Build escalation prompt text for scout retries.
|
|
60
|
+
* Suggests unexplored modules and fresh angles when previous attempts found nothing.
|
|
61
|
+
*/
|
|
62
|
+
export declare function buildScoutEscalation(retryCount: number, scoutedDirs: string[], codebaseIndex: CodebaseIndex | null): string;
|
|
57
63
|
/**
|
|
58
64
|
* Run auto mode - the full "just run it" experience
|
|
59
65
|
* Scout → auto-approve safe changes → run → create draft PRs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solo-auto.d.ts","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"solo-auto.d.ts","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/solo-auto.js
CHANGED
|
@@ -21,6 +21,7 @@ import { buildCodebaseIndex, refreshCodebaseIndex, hasStructuralChanges, formatI
|
|
|
21
21
|
import { buildProposalReviewPrompt, parseReviewedProposals, applyReviewToProposals, } from './proposal-review.js';
|
|
22
22
|
import { detectProjectMetadata, formatMetadataForPrompt } from './project-metadata.js';
|
|
23
23
|
import { DEFAULT_AUTO_CONFIG } from './solo-config.js';
|
|
24
|
+
import { loadDedupMemory, recordDedupEntry, recordDedupEntries, formatDedupForPrompt, } from './dedup-memory.js';
|
|
24
25
|
/**
|
|
25
26
|
* Sleep helper
|
|
26
27
|
*/
|
|
@@ -381,6 +382,44 @@ export function partitionIntoWaves(proposals) {
|
|
|
381
382
|
}
|
|
382
383
|
return waves;
|
|
383
384
|
}
|
|
385
|
+
/**
|
|
386
|
+
* Build escalation prompt text for scout retries.
|
|
387
|
+
* Suggests unexplored modules and fresh angles when previous attempts found nothing.
|
|
388
|
+
*/
|
|
389
|
+
export function buildScoutEscalation(retryCount, scoutedDirs, codebaseIndex) {
|
|
390
|
+
const parts = [
|
|
391
|
+
'## Previous Attempts Found Nothing — Fresh Approach Required',
|
|
392
|
+
'',
|
|
393
|
+
];
|
|
394
|
+
if (scoutedDirs.length > 0) {
|
|
395
|
+
parts.push('### What Was Already Tried');
|
|
396
|
+
for (const dir of scoutedDirs) {
|
|
397
|
+
parts.push(`- Scouted \`${dir}\``);
|
|
398
|
+
}
|
|
399
|
+
parts.push('');
|
|
400
|
+
}
|
|
401
|
+
// Suggest unexplored modules from codebase index
|
|
402
|
+
const exploredSet = new Set(scoutedDirs.map(d => d.replace(/\/$/, '')));
|
|
403
|
+
const unexplored = [];
|
|
404
|
+
if (codebaseIndex) {
|
|
405
|
+
for (const mod of codebaseIndex.modules) {
|
|
406
|
+
if (!exploredSet.has(mod.path) && !exploredSet.has(mod.path + '/')) {
|
|
407
|
+
unexplored.push(mod.path);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
parts.push('### What to Do Differently');
|
|
412
|
+
parts.push('');
|
|
413
|
+
parts.push('Knowing everything from the attempts above, take a completely different angle:');
|
|
414
|
+
parts.push('- Do NOT re-read the directories listed above.');
|
|
415
|
+
if (unexplored.length > 0) {
|
|
416
|
+
parts.push(`- Try unexplored areas: ${unexplored.slice(0, 8).map(d => `\`${d}\``).join(', ')}`);
|
|
417
|
+
}
|
|
418
|
+
parts.push('- Switch categories: if you looked for bugs, look for tests. If tests, try security.');
|
|
419
|
+
parts.push('- Read at least 15 NEW source files.');
|
|
420
|
+
parts.push('- If genuinely nothing to improve, explain your analysis across all attempts.');
|
|
421
|
+
return parts.join('\n');
|
|
422
|
+
}
|
|
384
423
|
/**
|
|
385
424
|
* Run auto mode - the full "just run it" experience
|
|
386
425
|
* Scout → auto-approve safe changes → run → create draft PRs
|
|
@@ -506,7 +545,7 @@ export async function runAutoMode(options) {
|
|
|
506
545
|
else {
|
|
507
546
|
console.log(chalk.gray(' Mode: Scout → Auto-approve → Run → PR'));
|
|
508
547
|
}
|
|
509
|
-
console.log(chalk.gray(` Scope: ${userScope || (isContinuous ? 'rotating' : '
|
|
548
|
+
console.log(chalk.gray(` Scope: ${userScope || (isContinuous ? 'rotating' : 'auto')}`));
|
|
510
549
|
console.log(chalk.gray(` Max PRs: ${maxPrs}`));
|
|
511
550
|
console.log(chalk.gray(` Min confidence: ${minConfidence}%`));
|
|
512
551
|
console.log(chalk.gray(` Categories: ${initialCategories.allow.join(', ')}`));
|
|
@@ -576,6 +615,11 @@ export async function runAutoMode(options) {
|
|
|
576
615
|
if (allLearnings.length > 0) {
|
|
577
616
|
console.log(chalk.gray(` Learnings loaded: ${allLearnings.length}`));
|
|
578
617
|
}
|
|
618
|
+
// Load dedup memory (with decay)
|
|
619
|
+
let dedupMemory = loadDedupMemory(repoRoot);
|
|
620
|
+
if (dedupMemory.length > 0) {
|
|
621
|
+
console.log(chalk.gray(` Dedup memory loaded: ${dedupMemory.length} titles`));
|
|
622
|
+
}
|
|
579
623
|
// Build codebase index for structural awareness
|
|
580
624
|
const excludeDirs = ['node_modules', 'dist', 'build', '.git', '.blockspool', 'coverage', '__pycache__'];
|
|
581
625
|
let codebaseIndex = null;
|
|
@@ -619,6 +663,8 @@ export async function runAutoMode(options) {
|
|
|
619
663
|
const getNextScope = () => {
|
|
620
664
|
if (userScope)
|
|
621
665
|
return userScope;
|
|
666
|
+
if (!isContinuous)
|
|
667
|
+
return '**';
|
|
622
668
|
const scope = defaultScopes[scopeIndex % defaultScopes.length];
|
|
623
669
|
scopeIndex++;
|
|
624
670
|
return scope;
|
|
@@ -722,6 +768,10 @@ export async function runAutoMode(options) {
|
|
|
722
768
|
const pullInterval = config?.auto?.pullEveryNCycles ?? 5;
|
|
723
769
|
const pullPolicy = config?.auto?.pullPolicy ?? 'halt';
|
|
724
770
|
let cyclesSinceLastPull = 0;
|
|
771
|
+
// Scout retry/escalation state
|
|
772
|
+
const MAX_SCOUT_RETRIES = 2;
|
|
773
|
+
let scoutRetries = 0;
|
|
774
|
+
let scoutedDirs = [];
|
|
725
775
|
do {
|
|
726
776
|
cycleCount++;
|
|
727
777
|
const scope = getNextScope();
|
|
@@ -829,7 +879,12 @@ export async function runAutoMode(options) {
|
|
|
829
879
|
const learningsSuffix = learningsPrefix ? learningsPrefix + '\n\n' : '';
|
|
830
880
|
const indexPrefix = codebaseIndex ? formatIndexForPrompt(codebaseIndex, cycleCount) + '\n\n' : '';
|
|
831
881
|
const metadataPrefix = metadataBlock ? metadataBlock + '\n\n' : '';
|
|
832
|
-
const
|
|
882
|
+
const escalationPrefix = scoutRetries > 0
|
|
883
|
+
? buildScoutEscalation(scoutRetries, scoutedDirs, codebaseIndex) + '\n\n'
|
|
884
|
+
: '';
|
|
885
|
+
const dedupPrefix = formatDedupForPrompt(dedupMemory);
|
|
886
|
+
const dedupBlock = dedupPrefix ? dedupPrefix + '\n\n' : '';
|
|
887
|
+
const basePrompt = guidelinesPrefix + metadataPrefix + indexPrefix + dedupBlock + escalationPrefix + learningsSuffix + (cycleFormula?.prompt || '');
|
|
833
888
|
const effectivePrompt = hintBlock ? (basePrompt + hintBlock) : (basePrompt || undefined);
|
|
834
889
|
const scoutResult = await scoutRepo(deps, {
|
|
835
890
|
path: scoutPath,
|
|
@@ -856,13 +911,22 @@ export async function runAutoMode(options) {
|
|
|
856
911
|
}
|
|
857
912
|
const proposals = scoutResult.proposals;
|
|
858
913
|
if (proposals.length === 0) {
|
|
859
|
-
console.log(chalk.gray(` No improvements found in ${scope}`));
|
|
860
914
|
if (scoutResult.errors.length > 0) {
|
|
861
915
|
for (const err of scoutResult.errors) {
|
|
862
916
|
console.log(chalk.yellow(` ⚠ ${err}`));
|
|
863
917
|
}
|
|
864
918
|
}
|
|
919
|
+
scoutedDirs.push(scope);
|
|
920
|
+
if (scoutRetries < MAX_SCOUT_RETRIES) {
|
|
921
|
+
scoutRetries++;
|
|
922
|
+
console.log(chalk.gray(` No improvements found in ${scope} (attempt ${scoutRetries}/${MAX_SCOUT_RETRIES + 1}). Retrying with fresh approach...`));
|
|
923
|
+
await sleep(1000);
|
|
924
|
+
continue;
|
|
925
|
+
}
|
|
926
|
+
// Exhausted retries
|
|
865
927
|
if (isContinuous) {
|
|
928
|
+
scoutRetries = 0;
|
|
929
|
+
scoutedDirs = [];
|
|
866
930
|
await sleep(2000);
|
|
867
931
|
continue;
|
|
868
932
|
}
|
|
@@ -973,10 +1037,12 @@ export async function runAutoMode(options) {
|
|
|
973
1037
|
: categoryFiltered;
|
|
974
1038
|
const approvedProposals = [];
|
|
975
1039
|
let duplicateCount = 0;
|
|
1040
|
+
const rejectedDupTitles = [];
|
|
976
1041
|
for (const p of scopeFiltered) {
|
|
977
1042
|
const dupCheck = await isDuplicateProposal(p, dedupContext.existingTitles, dedupContext.openPrBranches);
|
|
978
1043
|
if (dupCheck.isDuplicate) {
|
|
979
1044
|
duplicateCount++;
|
|
1045
|
+
rejectedDupTitles.push(p.title);
|
|
980
1046
|
if (options.verbose) {
|
|
981
1047
|
console.log(chalk.gray(` Skipping duplicate: ${p.title}`));
|
|
982
1048
|
console.log(chalk.gray(` Reason: ${dupCheck.reason}`));
|
|
@@ -986,12 +1052,26 @@ export async function runAutoMode(options) {
|
|
|
986
1052
|
approvedProposals.push(p);
|
|
987
1053
|
}
|
|
988
1054
|
}
|
|
1055
|
+
// Bump dedup memory for rejected duplicates (re-confirmation keeps them prominent)
|
|
1056
|
+
if (rejectedDupTitles.length > 0) {
|
|
1057
|
+
recordDedupEntries(repoRoot, rejectedDupTitles.map(t => ({ title: t, completed: false })));
|
|
1058
|
+
dedupMemory = loadDedupMemory(repoRoot);
|
|
1059
|
+
}
|
|
989
1060
|
if (approvedProposals.length === 0) {
|
|
990
1061
|
const reason = duplicateCount > 0
|
|
991
1062
|
? `No new proposals (${duplicateCount} duplicates filtered)`
|
|
992
1063
|
: 'No proposals passed trust filter';
|
|
993
1064
|
console.log(chalk.gray(` ${reason}`));
|
|
1065
|
+
scoutedDirs.push(scope);
|
|
1066
|
+
if (scoutRetries < MAX_SCOUT_RETRIES) {
|
|
1067
|
+
scoutRetries++;
|
|
1068
|
+
console.log(chalk.gray(` Retrying with fresh approach (attempt ${scoutRetries}/${MAX_SCOUT_RETRIES + 1})...`));
|
|
1069
|
+
await sleep(1000);
|
|
1070
|
+
continue;
|
|
1071
|
+
}
|
|
994
1072
|
if (isContinuous) {
|
|
1073
|
+
scoutRetries = 0;
|
|
1074
|
+
scoutedDirs = [];
|
|
995
1075
|
await sleep(2000);
|
|
996
1076
|
continue;
|
|
997
1077
|
}
|
|
@@ -1009,6 +1089,9 @@ export async function runAutoMode(options) {
|
|
|
1009
1089
|
: `Auto-approved: ${approvedProposals.length}, processing: ${toProcess.length}`;
|
|
1010
1090
|
console.log(chalk.gray(` ${statsMsg}`));
|
|
1011
1091
|
console.log();
|
|
1092
|
+
// Reset retry state on success
|
|
1093
|
+
scoutRetries = 0;
|
|
1094
|
+
scoutedDirs = [];
|
|
1012
1095
|
if (!isContinuous || cycleCount === 1) {
|
|
1013
1096
|
console.log(chalk.bold('Will process:'));
|
|
1014
1097
|
for (const p of toProcess) {
|
|
@@ -1232,9 +1315,11 @@ export async function runAutoMode(options) {
|
|
|
1232
1315
|
totalPrsCreated++;
|
|
1233
1316
|
if (result.prUrl)
|
|
1234
1317
|
allPrUrls.push(result.prUrl);
|
|
1318
|
+
recordDedupEntry(repoRoot, toProcess[i].title, true);
|
|
1235
1319
|
}
|
|
1236
1320
|
else {
|
|
1237
1321
|
totalFailed++;
|
|
1322
|
+
recordDedupEntry(repoRoot, toProcess[i].title, false);
|
|
1238
1323
|
}
|
|
1239
1324
|
console.log();
|
|
1240
1325
|
if (i < toProcess.length - 1 && shouldContinue()) {
|
|
@@ -1291,17 +1376,22 @@ export async function runAutoMode(options) {
|
|
|
1291
1376
|
}
|
|
1292
1377
|
});
|
|
1293
1378
|
const taskResults = await Promise.allSettled(tasks);
|
|
1294
|
-
for (
|
|
1379
|
+
for (let ri = 0; ri < taskResults.length; ri++) {
|
|
1380
|
+
const r = taskResults[ri];
|
|
1381
|
+
const proposal = wave[ri];
|
|
1295
1382
|
if (r.status === 'fulfilled' && r.value.success) {
|
|
1296
1383
|
totalPrsCreated++;
|
|
1297
1384
|
if (r.value.prUrl)
|
|
1298
1385
|
allPrUrls.push(r.value.prUrl);
|
|
1386
|
+
recordDedupEntry(repoRoot, proposal.title, true);
|
|
1299
1387
|
}
|
|
1300
1388
|
else if (r.status === 'fulfilled') {
|
|
1301
1389
|
totalFailed++;
|
|
1390
|
+
recordDedupEntry(repoRoot, proposal.title, false);
|
|
1302
1391
|
}
|
|
1303
1392
|
else {
|
|
1304
1393
|
totalFailed++;
|
|
1394
|
+
recordDedupEntry(repoRoot, proposal.title, false);
|
|
1305
1395
|
}
|
|
1306
1396
|
}
|
|
1307
1397
|
}
|
|
@@ -1330,6 +1420,10 @@ export async function runAutoMode(options) {
|
|
|
1330
1420
|
// Non-fatal
|
|
1331
1421
|
}
|
|
1332
1422
|
}
|
|
1423
|
+
// Reload dedup memory for next cycle (picks up entries recorded this cycle)
|
|
1424
|
+
if (isContinuous) {
|
|
1425
|
+
dedupMemory = loadDedupMemory(repoRoot);
|
|
1426
|
+
}
|
|
1333
1427
|
if (isContinuous && shouldContinue()) {
|
|
1334
1428
|
console.log(chalk.gray('Pausing before next cycle...'));
|
|
1335
1429
|
await sleep(5000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solo-auto.js","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"solo-auto.js","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"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"}
|