@ikunin/sprintpilot 2.2.17 → 2.2.18

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.
@@ -321,8 +321,15 @@ function verifyDevRed(state, out, ctx) {
321
321
  }
322
322
  }
323
323
  if (testFiles.length === 0) issues.push('no test_files reported');
324
+ // Resolve relative paths against projectRoot. LLM-supplied test_files
325
+ // are often relative like "apps/gateway/tests/x.test.ts" but the
326
+ // verifier runs from wherever cmdRecord was invoked. Without the
327
+ // resolve, fileExists checks against process.cwd() and reports
328
+ // "test file missing" for paths that actually exist.
324
329
  for (const f of testFiles) {
325
- if (!fileExists(ctx.fs, f)) issues.push(`test file missing: ${f}`);
330
+ const resolved =
331
+ nodePath.isAbsolute(f) || !ctx.projectRoot ? f : nodePath.join(ctx.projectRoot, f);
332
+ if (!fileExists(ctx.fs, resolved)) issues.push(`test file missing: ${f}`);
326
333
  }
327
334
  // 2. Run the tests via the injected runner; expect non-zero exit (RED).
328
335
  if (ctx.runner) {
@@ -584,7 +591,11 @@ function verifyWithOverride(state, signalOutput, context, override) {
584
591
  // exists in expected_paths, treat 'test file missing' issues as satisfied
585
592
  // when at least one of the expected_paths exists.
586
593
  const fs = (context && context.fs) || nodeFs;
587
- const someExists = override.expected_paths.some((p) => fileExists(fs, p));
594
+ const root = context && context.projectRoot;
595
+ const someExists = override.expected_paths.some((p) => {
596
+ const resolved = nodePath.isAbsolute(p) || !root ? p : nodePath.join(root, p);
597
+ return fileExists(fs, resolved);
598
+ });
588
599
  if (someExists) {
589
600
  const filtered = (base.issues || []).filter((i) => !/test file missing/.test(i));
590
601
  return { ok: filtered.length === 0, issues: filtered };
@@ -1,6 +1,6 @@
1
1
  addon:
2
2
  name: sprintpilot
3
- version: 2.2.17
3
+ version: 2.2.18
4
4
  description: Sprintpilot — autopilot and multi-agent addon for BMad Method (git workflow, parallel agents, autonomous story execution)
5
5
  bmad_compatibility: ">=6.2.0"
6
6
  modules:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikunin/sprintpilot",
3
- "version": "2.2.17",
3
+ "version": "2.2.18",
4
4
  "description": "Sprintpilot — autopilot and multi-agent addon for BMad Method v6: git workflow, parallel agents, autonomous story execution",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {