@blockspool/mcp 0.4.2 → 0.5.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/advance.d.ts.map +1 -1
- package/dist/advance.js +182 -9
- package/dist/advance.js.map +1 -1
- package/dist/codebase-index.d.ts +44 -0
- package/dist/codebase-index.d.ts.map +1 -0
- package/dist/codebase-index.js +427 -0
- package/dist/codebase-index.js.map +1 -0
- package/dist/event-processor.d.ts.map +1 -1
- package/dist/event-processor.js +136 -8
- package/dist/event-processor.js.map +1 -1
- package/dist/learnings.d.ts +65 -0
- package/dist/learnings.d.ts.map +1 -0
- package/dist/learnings.js +220 -0
- package/dist/learnings.js.map +1 -0
- package/dist/proposals.d.ts +1 -0
- package/dist/proposals.d.ts.map +1 -1
- package/dist/proposals.js +25 -0
- package/dist/proposals.js.map +1 -1
- package/dist/run-manager.d.ts +2 -0
- package/dist/run-manager.d.ts.map +1 -1
- package/dist/run-manager.js +36 -0
- package/dist/run-manager.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/ticket-worker.d.ts.map +1 -1
- package/dist/ticket-worker.js +1 -0
- package/dist/ticket-worker.js.map +1 -1
- package/dist/tools/session.d.ts.map +1 -1
- package/dist/tools/session.js +6 -0
- package/dist/tools/session.js.map +1 -1
- package/dist/types.d.ts +16 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/advance.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"advance.d.ts","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,YAAY,CAAC;AAyDpB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,UAAU,CAAC;IAChB,EAAE,EAAE,eAAe,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA+F3E"}
|
package/dist/advance.js
CHANGED
|
@@ -20,8 +20,39 @@ import { checkSpindle, getFileEditWarnings } from './spindle.js';
|
|
|
20
20
|
import { loadFormula } from './formulas.js';
|
|
21
21
|
import { loadGuidelines, formatGuidelinesForPrompt } from './guidelines.js';
|
|
22
22
|
import { detectProjectMetadata, formatMetadataForPrompt } from './project-metadata.js';
|
|
23
|
+
import { formatIndexForPrompt, refreshCodebaseIndex, hasStructuralChanges } from './codebase-index.js';
|
|
24
|
+
import { buildProposalReviewPrompt } from './proposals.js';
|
|
25
|
+
import { loadLearnings as readLearningsFromDisk, selectRelevant, formatLearningsForPrompt, recordAccess, } from './learnings.js';
|
|
23
26
|
const MAX_PLAN_REJECTIONS = 3;
|
|
24
27
|
const MAX_QA_RETRIES = 3;
|
|
28
|
+
const DEFAULT_LEARNINGS_BUDGET = 2000;
|
|
29
|
+
/**
|
|
30
|
+
* Build a learnings block for prompt injection. Tracks injected IDs in state.
|
|
31
|
+
*/
|
|
32
|
+
function buildLearningsBlock(run, contextPaths, contextCommands) {
|
|
33
|
+
const s = run.require();
|
|
34
|
+
if (!s.learnings_enabled)
|
|
35
|
+
return '';
|
|
36
|
+
const projectPath = run.rootPath;
|
|
37
|
+
const allLearnings = readLearningsFromDisk(projectPath, 0); // decay=0, already decayed at session start
|
|
38
|
+
if (allLearnings.length === 0)
|
|
39
|
+
return '';
|
|
40
|
+
const relevant = selectRelevant(allLearnings, { paths: contextPaths, commands: contextCommands });
|
|
41
|
+
const budget = DEFAULT_LEARNINGS_BUDGET;
|
|
42
|
+
const block = formatLearningsForPrompt(relevant, budget);
|
|
43
|
+
if (!block)
|
|
44
|
+
return '';
|
|
45
|
+
// Track which learnings were injected
|
|
46
|
+
const injectedIds = relevant
|
|
47
|
+
.filter(l => block.includes(l.text))
|
|
48
|
+
.map(l => l.id);
|
|
49
|
+
s.injected_learning_ids = [...new Set([...s.injected_learning_ids, ...injectedIds])];
|
|
50
|
+
// Record access
|
|
51
|
+
if (injectedIds.length > 0) {
|
|
52
|
+
recordAccess(projectPath, injectedIds);
|
|
53
|
+
}
|
|
54
|
+
return block + '\n\n';
|
|
55
|
+
}
|
|
25
56
|
/**
|
|
26
57
|
* Core advance function. Called once per loop iteration.
|
|
27
58
|
* Returns the next action for the client to perform.
|
|
@@ -114,9 +145,53 @@ export async function advance(ctx) {
|
|
|
114
145
|
// ---------------------------------------------------------------------------
|
|
115
146
|
// Phase handlers
|
|
116
147
|
// ---------------------------------------------------------------------------
|
|
148
|
+
const SCOUT_AUTO_APPROVE = [
|
|
149
|
+
'Read(*)', 'Glob(*)', 'Grep(*)', 'Bash(ls *)', 'Bash(find *)', 'Bash(cat *)', 'Bash(head *)', 'Bash(wc *)',
|
|
150
|
+
];
|
|
151
|
+
const EXECUTE_AUTO_APPROVE = [
|
|
152
|
+
'Read(*)', 'Glob(*)', 'Grep(*)', 'Edit(*)', 'Write(*)',
|
|
153
|
+
'Bash(npm test*)', 'Bash(npx vitest*)', 'Bash(npx tsc*)', 'Bash(git diff*)', 'Bash(git status*)',
|
|
154
|
+
];
|
|
155
|
+
const QA_AUTO_APPROVE = [
|
|
156
|
+
'Read(*)', 'Bash(npm test*)', 'Bash(npx vitest*)', 'Bash(npx tsc*)',
|
|
157
|
+
];
|
|
158
|
+
const PR_AUTO_APPROVE = [
|
|
159
|
+
'Bash(git *)', 'Bash(gh pr *)',
|
|
160
|
+
];
|
|
117
161
|
async function advanceScout(ctx) {
|
|
118
162
|
const { run, db } = ctx;
|
|
119
163
|
const s = run.require();
|
|
164
|
+
// If pending proposals exist, return adversarial review prompt
|
|
165
|
+
if (s.pending_proposals !== null) {
|
|
166
|
+
// Convert raw proposals to ValidatedProposal shape for the review prompt
|
|
167
|
+
const forReview = s.pending_proposals.map(p => ({
|
|
168
|
+
category: p.category ?? 'unknown',
|
|
169
|
+
title: p.title ?? 'Untitled',
|
|
170
|
+
description: p.description ?? '',
|
|
171
|
+
acceptance_criteria: p.acceptance_criteria ?? [],
|
|
172
|
+
verification_commands: p.verification_commands ?? [],
|
|
173
|
+
allowed_paths: p.allowed_paths ?? [],
|
|
174
|
+
files: p.files ?? [],
|
|
175
|
+
confidence: p.confidence ?? 0,
|
|
176
|
+
impact_score: p.impact_score ?? 5,
|
|
177
|
+
rationale: p.rationale ?? '',
|
|
178
|
+
estimated_complexity: p.estimated_complexity ?? 'moderate',
|
|
179
|
+
risk: p.risk ?? 'medium',
|
|
180
|
+
touched_files_estimate: p.touched_files_estimate ?? 0,
|
|
181
|
+
rollback_note: p.rollback_note ?? '',
|
|
182
|
+
}));
|
|
183
|
+
const reviewPrompt = buildProposalReviewPrompt(forReview);
|
|
184
|
+
return promptResponse(run, 'SCOUT', reviewPrompt, 'Reviewing proposals adversarially', {
|
|
185
|
+
allowed_paths: [s.scope],
|
|
186
|
+
denied_paths: [],
|
|
187
|
+
denied_patterns: [],
|
|
188
|
+
max_files: 0,
|
|
189
|
+
max_lines: 0,
|
|
190
|
+
required_commands: [],
|
|
191
|
+
plan_required: false,
|
|
192
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
120
195
|
// Check if we already have ready tickets in backlog
|
|
121
196
|
const readyTickets = await repos.tickets.listByProject(db, s.project_id, { status: 'ready', limit: 1 });
|
|
122
197
|
if (readyTickets.length > 0) {
|
|
@@ -135,8 +210,28 @@ async function advanceScout(ctx) {
|
|
|
135
210
|
// Detect project metadata for tooling context
|
|
136
211
|
const projectMeta = detectProjectMetadata(ctx.project.rootPath);
|
|
137
212
|
const metadataBlock = formatMetadataForPrompt(projectMeta) + '\n\n';
|
|
138
|
-
|
|
139
|
-
s.
|
|
213
|
+
// Refresh codebase index if structure changed (dirty flag from tickets, or external mtime check)
|
|
214
|
+
if (s.codebase_index) {
|
|
215
|
+
const needsRefresh = s.codebase_index_dirty
|
|
216
|
+
|| hasStructuralChanges(s.codebase_index, ctx.project.rootPath);
|
|
217
|
+
if (needsRefresh) {
|
|
218
|
+
s.codebase_index = refreshCodebaseIndex(s.codebase_index, ctx.project.rootPath, s.scout_exclude_dirs);
|
|
219
|
+
s.codebase_index_dirty = false;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Build codebase index block — use cycles + retries so retries advance the chunk
|
|
223
|
+
const chunkOffset = s.scout_cycles + s.scout_retries;
|
|
224
|
+
const indexBlock = s.codebase_index ? formatIndexForPrompt(s.codebase_index, chunkOffset) + '\n\n' : '';
|
|
225
|
+
// Build escalation block if retrying after 0 proposals
|
|
226
|
+
const escalationBlock = s.scout_retries > 0
|
|
227
|
+
? buildScoutEscalation(s.scout_retries, s.scout_exploration_log, s.scouted_dirs, s.codebase_index) + '\n\n'
|
|
228
|
+
: '';
|
|
229
|
+
const learningsBlock = buildLearningsBlock(run, [s.scope, ...s.scouted_dirs], []);
|
|
230
|
+
const prompt = guidelinesBlock + metadataBlock + indexBlock + learningsBlock + escalationBlock + buildScoutPrompt(s.scope, s.categories, s.min_confidence, s.max_proposals_per_scout, dedupContext, formula, hints, s.eco, s.min_impact_score, s.scouted_dirs, s.scout_exclude_dirs);
|
|
231
|
+
// Reset scout_retries at the start of a fresh cycle (non-retry entry)
|
|
232
|
+
if (s.scout_retries === 0) {
|
|
233
|
+
s.scout_cycles++;
|
|
234
|
+
}
|
|
140
235
|
run.appendEvent('ADVANCE_RETURNED', { phase: 'SCOUT', has_prompt: true });
|
|
141
236
|
return promptResponse(run, 'SCOUT', prompt, 'Scouting for improvements', {
|
|
142
237
|
allowed_paths: [s.scope],
|
|
@@ -146,6 +241,7 @@ async function advanceScout(ctx) {
|
|
|
146
241
|
max_lines: 0,
|
|
147
242
|
required_commands: [],
|
|
148
243
|
plan_required: false,
|
|
244
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
149
245
|
});
|
|
150
246
|
}
|
|
151
247
|
async function advanceNextTicket(ctx) {
|
|
@@ -197,6 +293,7 @@ async function advanceNextTicket(ctx) {
|
|
|
197
293
|
max_lines: policy.max_lines,
|
|
198
294
|
required_commands: ticket.verificationCommands ?? [],
|
|
199
295
|
plan_required: policy.plan_required,
|
|
296
|
+
auto_approve_patterns: EXECUTE_AUTO_APPROVE,
|
|
200
297
|
},
|
|
201
298
|
inline_prompt: '', // filled below
|
|
202
299
|
});
|
|
@@ -277,6 +374,7 @@ async function advanceNextTicket(ctx) {
|
|
|
277
374
|
max_lines: policy.max_lines,
|
|
278
375
|
required_commands: ticket.verificationCommands ?? [],
|
|
279
376
|
plan_required: policy.plan_required,
|
|
377
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
280
378
|
};
|
|
281
379
|
// Docs category: skip plan, go straight to execute
|
|
282
380
|
if (!policy.plan_required) {
|
|
@@ -287,7 +385,7 @@ async function advanceNextTicket(ctx) {
|
|
|
287
385
|
// Move to PLAN phase — require commit plan before execution
|
|
288
386
|
run.setPhase('PLAN');
|
|
289
387
|
const prompt = buildPlanPrompt(ticket);
|
|
290
|
-
return promptResponse(run, 'PLAN', prompt, `Planning ticket: ${ticket.title}`, constraints);
|
|
388
|
+
return promptResponse(run, 'PLAN', prompt, `Planning ticket: ${ticket.title}`, { ...constraints, auto_approve_patterns: SCOUT_AUTO_APPROVE });
|
|
291
389
|
}
|
|
292
390
|
async function advancePlan(ctx) {
|
|
293
391
|
const { run, db } = ctx;
|
|
@@ -325,9 +423,11 @@ async function advancePlan(ctx) {
|
|
|
325
423
|
category: ticket.category ?? 'refactor',
|
|
326
424
|
maxLinesPerTicket: s.max_lines_per_ticket,
|
|
327
425
|
});
|
|
328
|
-
const
|
|
426
|
+
const learningsBlock = buildLearningsBlock(run, ticket.allowedPaths ?? [], ticket.verificationCommands ?? []);
|
|
427
|
+
const basePlanPrompt = s.plan_rejections > 0
|
|
329
428
|
? `Your previous commit plan was rejected. Please revise.\n\n${buildPlanPrompt(ticket)}`
|
|
330
429
|
: buildPlanPrompt(ticket);
|
|
430
|
+
const prompt = learningsBlock + basePlanPrompt;
|
|
331
431
|
return promptResponse(run, 'PLAN', prompt, s.plan_rejections > 0
|
|
332
432
|
? `Re-planning (attempt ${s.plan_rejections + 1}/${MAX_PLAN_REJECTIONS})`
|
|
333
433
|
: `Awaiting commit plan for: ${ticket.title}`, {
|
|
@@ -338,6 +438,7 @@ async function advancePlan(ctx) {
|
|
|
338
438
|
max_lines: policy.max_lines,
|
|
339
439
|
required_commands: ticket.verificationCommands ?? [],
|
|
340
440
|
plan_required: policy.plan_required,
|
|
441
|
+
auto_approve_patterns: SCOUT_AUTO_APPROVE,
|
|
341
442
|
});
|
|
342
443
|
}
|
|
343
444
|
async function advanceExecute(ctx) {
|
|
@@ -366,7 +467,8 @@ async function advanceExecute(ctx) {
|
|
|
366
467
|
});
|
|
367
468
|
const guidelines = loadGuidelines(ctx.project.rootPath);
|
|
368
469
|
const guidelinesBlock = guidelines ? formatGuidelinesForPrompt(guidelines) + '\n\n' : '';
|
|
369
|
-
const
|
|
470
|
+
const learningsBlock = buildLearningsBlock(run, ticket.allowedPaths ?? [], ticket.verificationCommands ?? []);
|
|
471
|
+
const prompt = guidelinesBlock + learningsBlock + buildExecutePrompt(ticket, s.current_ticket_plan);
|
|
370
472
|
return promptResponse(run, 'EXECUTE', prompt, `Executing ticket: ${ticket.title}`, {
|
|
371
473
|
allowed_paths: policy.allowed_paths,
|
|
372
474
|
denied_paths: policy.denied_paths,
|
|
@@ -375,6 +477,7 @@ async function advanceExecute(ctx) {
|
|
|
375
477
|
max_lines: policy.max_lines,
|
|
376
478
|
required_commands: ticket.verificationCommands ?? [],
|
|
377
479
|
plan_required: false,
|
|
480
|
+
auto_approve_patterns: EXECUTE_AUTO_APPROVE,
|
|
378
481
|
});
|
|
379
482
|
}
|
|
380
483
|
async function advanceQa(ctx) {
|
|
@@ -396,7 +499,8 @@ async function advanceQa(ctx) {
|
|
|
396
499
|
run.setPhase('NEXT_TICKET');
|
|
397
500
|
return advance(ctx);
|
|
398
501
|
}
|
|
399
|
-
const
|
|
502
|
+
const learningsBlock = buildLearningsBlock(run, [], ticket.verificationCommands ?? []);
|
|
503
|
+
const prompt = learningsBlock + buildQaPrompt(ticket);
|
|
400
504
|
return promptResponse(run, 'QA', prompt, `Running QA for: ${ticket.title} (attempt ${s.qa_retries + 1}/${MAX_QA_RETRIES})`, {
|
|
401
505
|
allowed_paths: ticket.allowedPaths ?? [],
|
|
402
506
|
denied_paths: [],
|
|
@@ -405,6 +509,7 @@ async function advanceQa(ctx) {
|
|
|
405
509
|
max_lines: 0,
|
|
406
510
|
required_commands: ticket.verificationCommands ?? [],
|
|
407
511
|
plan_required: false,
|
|
512
|
+
auto_approve_patterns: QA_AUTO_APPROVE,
|
|
408
513
|
});
|
|
409
514
|
}
|
|
410
515
|
async function advancePr(ctx) {
|
|
@@ -422,6 +527,7 @@ async function advancePr(ctx) {
|
|
|
422
527
|
max_lines: 0,
|
|
423
528
|
required_commands: [],
|
|
424
529
|
plan_required: false,
|
|
530
|
+
auto_approve_patterns: PR_AUTO_APPROVE,
|
|
425
531
|
});
|
|
426
532
|
}
|
|
427
533
|
async function advanceParallelExecute(ctx) {
|
|
@@ -496,6 +602,7 @@ function emptyConstraints() {
|
|
|
496
602
|
max_lines: 0,
|
|
497
603
|
required_commands: [],
|
|
498
604
|
plan_required: false,
|
|
605
|
+
auto_approve_patterns: [],
|
|
499
606
|
};
|
|
500
607
|
}
|
|
501
608
|
function terminalReason(phase) {
|
|
@@ -511,13 +618,67 @@ function terminalReason(phase) {
|
|
|
511
618
|
// ---------------------------------------------------------------------------
|
|
512
619
|
// Prompt builders
|
|
513
620
|
// ---------------------------------------------------------------------------
|
|
514
|
-
function
|
|
621
|
+
function buildScoutEscalation(retryCount, explorationLog, scoutedDirs, codebaseIndex) {
|
|
622
|
+
const parts = [
|
|
623
|
+
'## Previous Attempts Found Nothing — Fresh Approach Required',
|
|
624
|
+
'',
|
|
625
|
+
];
|
|
626
|
+
if (explorationLog.length > 0) {
|
|
627
|
+
parts.push('### What Was Already Tried');
|
|
628
|
+
for (const entry of explorationLog) {
|
|
629
|
+
parts.push(entry);
|
|
630
|
+
}
|
|
631
|
+
parts.push('');
|
|
632
|
+
}
|
|
633
|
+
// Suggest unexplored modules from codebase index
|
|
634
|
+
const exploredSet = new Set(scoutedDirs.map(d => d.replace(/\/$/, '')));
|
|
635
|
+
const unexplored = [];
|
|
636
|
+
if (codebaseIndex) {
|
|
637
|
+
for (const mod of codebaseIndex.modules) {
|
|
638
|
+
if (!exploredSet.has(mod.path) && !exploredSet.has(mod.path + '/')) {
|
|
639
|
+
unexplored.push(mod.path);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
parts.push('### What to Do Differently');
|
|
644
|
+
parts.push('');
|
|
645
|
+
parts.push('Knowing everything from the attempts above, take a completely different angle:');
|
|
646
|
+
parts.push('- Do NOT re-read the directories listed above.');
|
|
647
|
+
if (unexplored.length > 0) {
|
|
648
|
+
parts.push(`- Try unexplored areas: ${unexplored.slice(0, 8).map(d => `\`${d}\``).join(', ')}`);
|
|
649
|
+
}
|
|
650
|
+
parts.push('- Switch categories: if you looked for bugs, look for tests. If tests, try security.');
|
|
651
|
+
parts.push('- Read at least 15 NEW source files.');
|
|
652
|
+
parts.push('- If genuinely nothing to improve, explain your analysis across all attempts.');
|
|
653
|
+
return parts.join('\n');
|
|
654
|
+
}
|
|
655
|
+
function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupContext, formula, hints, eco, minImpactScore = 3, scoutedDirs = [], excludeDirs = []) {
|
|
515
656
|
const parts = [
|
|
516
657
|
'# Scout Phase',
|
|
517
658
|
'',
|
|
518
|
-
'
|
|
659
|
+
'Identify improvements by reading source code. Return proposals in a `<proposals>` XML block containing a JSON array.',
|
|
519
660
|
'',
|
|
520
661
|
...(!eco ? ['**IMPORTANT:** Do not use the Task or Explore tools. Read files directly using Read, Glob, and Grep. Do not delegate to subagents.', ''] : []),
|
|
662
|
+
'## How to Scout',
|
|
663
|
+
'',
|
|
664
|
+
'STEP 1 — Discover: Use Glob to list all files in scope. Group them by directory or module (e.g. `src/auth/`, `src/api/`, `lib/utils/`). Identify entry points, core logic, and test directories.',
|
|
665
|
+
'',
|
|
666
|
+
'STEP 2 — Pick a Partition: Choose one or two directories/modules to analyze deeply this cycle. Do NOT try to skim everything — go deep on a focused slice. On future cycles, different partitions will be explored.',
|
|
667
|
+
'',
|
|
668
|
+
'STEP 3 — Read & Analyze: Use Read to open 10-15 source files within your chosen partition(s). Read related files together (e.g. a module and its tests, a handler and its helpers). For each file, look for:',
|
|
669
|
+
' - Bugs, incorrect logic, off-by-one errors',
|
|
670
|
+
' - Missing error handling or edge cases',
|
|
671
|
+
' - Missing or inadequate tests for the code you read',
|
|
672
|
+
' - Security issues (injection, auth bypass, secrets in code)',
|
|
673
|
+
' - Performance problems (N+1 queries, unnecessary re-renders, blocking I/O)',
|
|
674
|
+
' - Dead code, unreachable branches',
|
|
675
|
+
' - Meaningful refactoring opportunities (not cosmetic)',
|
|
676
|
+
'',
|
|
677
|
+
'STEP 4 — Propose: Only after reading source files, write proposals with specific file paths and line-level detail.',
|
|
678
|
+
'',
|
|
679
|
+
'DO NOT run lint or typecheck commands as a substitute for reading code.',
|
|
680
|
+
'DO NOT propose changes unless you have READ the files you are proposing to change.',
|
|
681
|
+
'',
|
|
521
682
|
`**Scope:** \`${scope}\``,
|
|
522
683
|
`**Categories:** ${categories.join(', ')}`,
|
|
523
684
|
`**Min confidence:** ${minConfidence}`,
|
|
@@ -525,6 +686,9 @@ function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupC
|
|
|
525
686
|
`**Max proposals:** ${maxProposals}`,
|
|
526
687
|
'',
|
|
527
688
|
'**DO NOT propose changes to these files** (read-only context): CLAUDE.md, .claude/**',
|
|
689
|
+
...(excludeDirs.length > 0 ? [
|
|
690
|
+
`**Skip these directories when scouting** (build artifacts, vendor, generated): ${excludeDirs.map(d => `\`${d}\``).join(', ')}`,
|
|
691
|
+
] : []),
|
|
528
692
|
'',
|
|
529
693
|
'## Quality Bar',
|
|
530
694
|
'',
|
|
@@ -534,6 +698,15 @@ function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupC
|
|
|
534
698
|
'- Focus on: bugs, missing tests, security issues, performance problems, correctness, and meaningful refactors.',
|
|
535
699
|
'',
|
|
536
700
|
];
|
|
701
|
+
if (scoutedDirs.length > 0) {
|
|
702
|
+
parts.push('## Already Explored (prefer unexplored directories)');
|
|
703
|
+
parts.push('');
|
|
704
|
+
parts.push('These directories were analyzed in previous scout cycles. Prefer exploring different areas first:');
|
|
705
|
+
for (const dir of scoutedDirs) {
|
|
706
|
+
parts.push(`- \`${dir}\``);
|
|
707
|
+
}
|
|
708
|
+
parts.push('');
|
|
709
|
+
}
|
|
537
710
|
if (dedupContext.length > 0) {
|
|
538
711
|
parts.push('**Already completed (do not duplicate):**');
|
|
539
712
|
for (const title of dedupContext) {
|
|
@@ -560,7 +733,7 @@ function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupC
|
|
|
560
733
|
}
|
|
561
734
|
parts.push('');
|
|
562
735
|
}
|
|
563
|
-
parts.push('## Required Fields', '', 'Each proposal in the JSON array MUST include ALL of these fields:', '- `category` (string): one of the categories listed above', '- `title` (string): concise, unique title', '- `description` (string): what needs to change and why', '- `acceptance_criteria` (string[]): how to verify the change is correct', '- `verification_commands` (string[]): commands to run (e.g. `npm test`)', '- `allowed_paths` (string[]): file paths/globs this change may touch', '- `files` (string[]): specific files to modify', '- `confidence` (number 0-100): how confident you are this is correct', '- `impact_score` (number 1-10): how much this matters', '- `risk` (string): "low", "medium", or "high"', '- `touched_files_estimate` (number): expected number of files changed', '- `rollback_note` (string): how to revert if something goes wrong', '', '## Scoring', '', 'Proposals are ranked by `impact_score × confidence`. Prefer low-risk proposals.', '', '## Output', '', 'Wrap the JSON array in a `<proposals>` XML block:', '```', '<proposals>', '[{ ... }, { ... }]', '</proposals>', '```', '', 'Then call `blockspool_ingest_event` with type `SCOUT_OUTPUT` and `{ "proposals": [...] }`
|
|
736
|
+
parts.push('## Required Fields', '', 'Each proposal in the JSON array MUST include ALL of these fields:', '- `category` (string): one of the categories listed above', '- `title` (string): concise, unique title', '- `description` (string): what needs to change and why', '- `acceptance_criteria` (string[]): how to verify the change is correct', '- `verification_commands` (string[]): commands to run (e.g. `npm test`)', '- `allowed_paths` (string[]): file paths/globs this change may touch', '- `files` (string[]): specific files to modify', '- `confidence` (number 0-100): how confident you are this is correct', '- `impact_score` (number 1-10): how much this matters', '- `risk` (string): "low", "medium", or "high"', '- `touched_files_estimate` (number): expected number of files changed', '- `rollback_note` (string): how to revert if something goes wrong', '', '## Scoring', '', 'Proposals are ranked by `impact_score × confidence`. Prefer low-risk proposals.', '', '## Output', '', 'Wrap the JSON array in a `<proposals>` XML block:', '```', '<proposals>', '[{ ... }, { ... }]', '</proposals>', '```', '', 'Then call `blockspool_ingest_event` with type `SCOUT_OUTPUT` and payload:', '`{ "proposals": [...], "explored_dirs": ["src/auth/", "src/api/"] }`', '', 'The `explored_dirs` field should list the top-level directories you analyzed (e.g. `src/services/`, `lib/utils/`). This is used to rotate to unexplored areas in future cycles.');
|
|
564
737
|
return parts.join('\n');
|
|
565
738
|
}
|
|
566
739
|
function buildPlanPrompt(ticket) {
|
package/dist/advance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"advance.js","sourceRoot":"","sources":["../src/advance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-Scout Codebase Index — lightweight structural map built at session start.
|
|
3
|
+
*
|
|
4
|
+
* Walks directories 2 levels deep using `fs` only. No AST parsing, no heavy deps.
|
|
5
|
+
* Provides module map, dependency edges, test gaps, complexity hotspots, and entrypoints.
|
|
6
|
+
*/
|
|
7
|
+
export interface CodebaseIndex {
|
|
8
|
+
built_at: string;
|
|
9
|
+
modules: ModuleEntry[];
|
|
10
|
+
dependency_edges: Record<string, string[]>;
|
|
11
|
+
untested_modules: string[];
|
|
12
|
+
large_files: LargeFileEntry[];
|
|
13
|
+
entrypoints: string[];
|
|
14
|
+
/** mtimes of files sampled for import scanning — used for change detection. Not included in prompt. */
|
|
15
|
+
sampled_file_mtimes: Record<string, number>;
|
|
16
|
+
}
|
|
17
|
+
export interface ModuleEntry {
|
|
18
|
+
path: string;
|
|
19
|
+
file_count: number;
|
|
20
|
+
purpose: string;
|
|
21
|
+
}
|
|
22
|
+
export interface LargeFileEntry {
|
|
23
|
+
path: string;
|
|
24
|
+
lines: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function buildCodebaseIndex(projectRoot: string, excludeDirs?: string[]): CodebaseIndex;
|
|
27
|
+
/**
|
|
28
|
+
* Incrementally refresh the codebase index. Re-walks the directory tree (cheap)
|
|
29
|
+
* but only re-scans imports for modules whose file count changed or that are new.
|
|
30
|
+
* Unchanged modules keep their existing dependency edges.
|
|
31
|
+
*/
|
|
32
|
+
export declare function refreshCodebaseIndex(existing: CodebaseIndex, projectRoot: string, excludeDirs?: string[]): CodebaseIndex;
|
|
33
|
+
/**
|
|
34
|
+
* Check if the codebase structure has changed since the last index build.
|
|
35
|
+
*
|
|
36
|
+
* Two-layer detection:
|
|
37
|
+
* 1. Directory mtimes — catches file additions/deletions, new dirs, git pulls, branch switches.
|
|
38
|
+
* 2. Sampled file mtimes — catches content edits to files we scanned for imports (dependency edges).
|
|
39
|
+
*
|
|
40
|
+
* Cost: ≤60 dir statSync + ≤250 file statSync. Zero file reads, zero tokens.
|
|
41
|
+
*/
|
|
42
|
+
export declare function hasStructuralChanges(index: CodebaseIndex, projectRoot: string): boolean;
|
|
43
|
+
export declare function formatIndexForPrompt(index: CodebaseIndex, scoutCycle: number): string;
|
|
44
|
+
//# sourceMappingURL=codebase-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codebase-index.d.ts","sourceRoot":"","sources":["../src/codebase-index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uGAAuG;IACvG,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAmHD,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAM,EAAO,GACzB,aAAa,CAkMf;AAMD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAM,EAAO,GACzB,aAAa,CA6Bf;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,MAAM,GAClB,OAAO,CA6CT;AAgBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAkDrF"}
|