@blockspool/mcp 0.3.3 → 0.4.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.
@@ -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,EAGhB,MAAM,YAAY,CAAC;AAWpB,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,CA6F3E"}
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;AAYpB,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
@@ -19,6 +19,7 @@ import { deriveScopePolicy } from './scope-policy.js';
19
19
  import { checkSpindle, getFileEditWarnings } from './spindle.js';
20
20
  import { loadFormula } from './formulas.js';
21
21
  import { loadGuidelines, formatGuidelinesForPrompt } from './guidelines.js';
22
+ import { detectProjectMetadata, formatMetadataForPrompt } from './project-metadata.js';
22
23
  const MAX_PLAN_REJECTIONS = 3;
23
24
  const MAX_QA_RETRIES = 3;
24
25
  /**
@@ -104,6 +105,8 @@ export async function advance(ctx) {
104
105
  return advanceQa(ctx);
105
106
  case 'PR':
106
107
  return advancePr(ctx);
108
+ case 'PARALLEL_EXECUTE':
109
+ return advanceParallelExecute(ctx);
107
110
  default:
108
111
  return stopResponse(run, 'FAILED_VALIDATION', `Unknown phase: ${s.phase}`);
109
112
  }
@@ -129,7 +132,10 @@ async function advanceScout(ctx) {
129
132
  const formula = s.formula ? loadFormula(s.formula, ctx.project.rootPath) : null;
130
133
  const guidelines = loadGuidelines(ctx.project.rootPath);
131
134
  const guidelinesBlock = guidelines ? formatGuidelinesForPrompt(guidelines) + '\n\n' : '';
132
- const prompt = guidelinesBlock + buildScoutPrompt(s.scope, s.categories, s.min_confidence, s.max_proposals_per_scout, dedupContext, formula, hints, s.eco);
135
+ // Detect project metadata for tooling context
136
+ const projectMeta = detectProjectMetadata(ctx.project.rootPath);
137
+ const metadataBlock = formatMetadataForPrompt(projectMeta) + '\n\n';
138
+ const prompt = guidelinesBlock + metadataBlock + buildScoutPrompt(s.scope, s.categories, s.min_confidence, s.max_proposals_per_scout, dedupContext, formula, hints, s.eco, s.min_impact_score);
133
139
  s.scout_cycles++;
134
140
  run.appendEvent('ADVANCE_RETURNED', { phase: 'SCOUT', has_prompt: true });
135
141
  return promptResponse(run, 'SCOUT', prompt, 'Scouting for improvements', {
@@ -150,8 +156,10 @@ async function advanceNextTicket(ctx) {
150
156
  run.setPhase('DONE');
151
157
  return stopResponse(run, 'DONE', `PR limit reached (${s.prs_created}/${s.max_prs})`);
152
158
  }
153
- // Find next ready ticket
154
- const readyTickets = await repos.tickets.listByProject(db, s.project_id, { status: 'ready', limit: 1 });
159
+ const prBudget = s.max_prs - s.prs_created;
160
+ const parallelCount = Math.min(s.parallel, prBudget);
161
+ // Find ready tickets
162
+ const readyTickets = await repos.tickets.listByProject(db, s.project_id, { status: 'ready', limit: parallelCount });
155
163
  if (readyTickets.length === 0) {
156
164
  // No more tickets — scout again if cycles remain, otherwise finish
157
165
  if (s.scout_cycles < s.max_cycles) {
@@ -161,6 +169,49 @@ async function advanceNextTicket(ctx) {
161
169
  run.setPhase('DONE');
162
170
  return stopResponse(run, 'DONE', 'No more tickets to process');
163
171
  }
172
+ // If parallel > 1 and multiple tickets ready → dispatch batch
173
+ if (parallelCount > 1 && readyTickets.length > 1) {
174
+ const parallelTickets = [];
175
+ for (const ticket of readyTickets) {
176
+ await repos.tickets.updateStatus(db, ticket.id, 'in_progress');
177
+ run.initTicketWorker(ticket.id, ticket);
178
+ await repos.runs.create(db, {
179
+ projectId: s.project_id,
180
+ type: 'worker',
181
+ ticketId: ticket.id,
182
+ });
183
+ const policy = deriveScopePolicy({
184
+ allowedPaths: ticket.allowedPaths ?? [],
185
+ category: ticket.category ?? 'refactor',
186
+ maxLinesPerTicket: s.max_lines_per_ticket,
187
+ });
188
+ parallelTickets.push({
189
+ ticket_id: ticket.id,
190
+ title: ticket.title,
191
+ description: ticket.description ?? '',
192
+ constraints: {
193
+ allowed_paths: policy.allowed_paths,
194
+ denied_paths: policy.denied_paths,
195
+ denied_patterns: policy.denied_patterns.map(r => r.source),
196
+ max_files: policy.max_files,
197
+ max_lines: policy.max_lines,
198
+ required_commands: ticket.verificationCommands ?? [],
199
+ plan_required: policy.plan_required,
200
+ },
201
+ });
202
+ }
203
+ run.setPhase('PARALLEL_EXECUTE');
204
+ return {
205
+ next_action: 'PARALLEL_EXECUTE',
206
+ phase: 'PARALLEL_EXECUTE',
207
+ prompt: null,
208
+ reason: `Dispatching ${readyTickets.length} tickets for parallel execution`,
209
+ constraints: emptyConstraints(),
210
+ digest: run.buildDigest(),
211
+ parallel_tickets: parallelTickets,
212
+ };
213
+ }
214
+ // Sequential flow (parallel=1 or only 1 ticket)
164
215
  const ticket = readyTickets[0];
165
216
  // Assign ticket
166
217
  await repos.tickets.updateStatus(db, ticket.id, 'in_progress');
@@ -332,6 +383,29 @@ async function advancePr(ctx) {
332
383
  plan_required: false,
333
384
  });
334
385
  }
386
+ async function advanceParallelExecute(ctx) {
387
+ const { run } = ctx;
388
+ // Check if all ticket workers are done
389
+ if (run.allWorkersComplete()) {
390
+ run.setPhase('NEXT_TICKET');
391
+ return advance(ctx);
392
+ }
393
+ // Workers still active — return status (shouldn't happen if plugin waits properly)
394
+ const s = run.require();
395
+ const activeWorkers = Object.entries(s.ticket_workers).map(([id, w]) => ({
396
+ ticket_id: id,
397
+ phase: w.phase,
398
+ step_count: w.step_count,
399
+ }));
400
+ return {
401
+ next_action: 'PROMPT',
402
+ phase: 'PARALLEL_EXECUTE',
403
+ prompt: `Parallel execution still in progress. ${activeWorkers.length} ticket(s) still active. Wait for all subagents to complete, then call blockspool_advance again.`,
404
+ reason: `${activeWorkers.length} ticket workers still active`,
405
+ constraints: emptyConstraints(),
406
+ digest: run.buildDigest(),
407
+ };
408
+ }
335
409
  // ---------------------------------------------------------------------------
336
410
  // Budget checks
337
411
  // ---------------------------------------------------------------------------
@@ -396,7 +470,7 @@ function terminalReason(phase) {
396
470
  // ---------------------------------------------------------------------------
397
471
  // Prompt builders
398
472
  // ---------------------------------------------------------------------------
399
- function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupContext, formula, hints, eco) {
473
+ function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupContext, formula, hints, eco, minImpactScore = 3) {
400
474
  const parts = [
401
475
  '# Scout Phase',
402
476
  '',
@@ -406,10 +480,18 @@ function buildScoutPrompt(scope, categories, minConfidence, maxProposals, dedupC
406
480
  `**Scope:** \`${scope}\``,
407
481
  `**Categories:** ${categories.join(', ')}`,
408
482
  `**Min confidence:** ${minConfidence}`,
483
+ `**Min impact score:** ${minImpactScore} (proposals below this will be rejected)`,
409
484
  `**Max proposals:** ${maxProposals}`,
410
485
  '',
411
486
  '**DO NOT propose changes to these files** (read-only context): CLAUDE.md, .claude/**',
412
487
  '',
488
+ '## Quality Bar',
489
+ '',
490
+ '- Proposals must have **real user or developer impact** — not just lint cleanup or style nits.',
491
+ '- Do NOT propose fixes for lint warnings, unused variables, or cosmetic issues unless they cause actual bugs or test failures.',
492
+ '- If project guidelines are provided above, **respect them**. Do NOT propose changes the guidelines explicitly discourage (e.g., "avoid over-engineering", "don\'t change code you didn\'t touch").',
493
+ '- Focus on: bugs, missing tests, security issues, performance problems, correctness, and meaningful refactors.',
494
+ '',
413
495
  ];
414
496
  if (dedupContext.length > 0) {
415
497
  parts.push('**Already completed (do not duplicate):**');
@@ -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,34 @@
1
+ /**
2
+ * Project Metadata — framework-agnostic detection of tooling, test runners,
3
+ * package managers, and languages.
4
+ *
5
+ * Scans config files at the project root to build a structured summary
6
+ * that gets injected into scout prompts so the LLM knows which CLI
7
+ * flags and conventions to use.
8
+ */
9
+ export interface ProjectMetadata {
10
+ /** Primary language(s) detected */
11
+ languages: string[];
12
+ /** Package manager (npm, yarn, pnpm, bun, pip, poetry, cargo, go, mix, bundle, maven, gradle) */
13
+ package_manager: string | null;
14
+ /** Test runner and CLI syntax */
15
+ test_runner: TestRunnerInfo | null;
16
+ /** App framework (next, remix, express, django, flask, rails, phoenix, spring, etc.) */
17
+ framework: string | null;
18
+ /** Linter (eslint, biome, ruff, clippy, golangci-lint, rubocop, etc.) */
19
+ linter: string | null;
20
+ /** Type checker if separate from compiler (tsc, mypy, pyright, etc.) */
21
+ type_checker: string | null;
22
+ /** Monorepo tool (turborepo, nx, lerna, cargo workspaces, etc.) */
23
+ monorepo_tool: string | null;
24
+ /** Raw detection signals for debugging */
25
+ signals: string[];
26
+ }
27
+ export interface TestRunnerInfo {
28
+ name: string;
29
+ run_command: string;
30
+ filter_syntax: string;
31
+ }
32
+ export declare function detectProjectMetadata(projectRoot: string): ProjectMetadata;
33
+ export declare function formatMetadataForPrompt(meta: ProjectMetadata): string;
34
+ //# sourceMappingURL=project-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-metadata.d.ts","sourceRoot":"","sources":["../src/project-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,WAAW,eAAe;IAC9B,mCAAmC;IACnC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iGAAiG;IACjG,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iCAAiC;IACjC,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,wFAAwF;IACxF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wEAAwE;IACxE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mEAAmE;IACnE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CAuX1E;AAqBD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CA8BrE"}