@ikunin/sprintpilot 2.2.24 → 2.2.25

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.
@@ -324,15 +324,27 @@ function verifyCreateStory(state, _out, ctx) {
324
324
  const override = ctx.augmented || {};
325
325
  const ackMissingFm = override && override.acknowledge_missing_front_matter === true;
326
326
  if (!fm && !ackMissingFm) issues.push('story file missing YAML front-matter');
327
- // AC presence — look for "## Acceptance Criteria" section with at least one bullet.
328
- if (text && !/##\s+Acceptance Criteria[\s\S]*?\n-\s+/.test(text)) {
327
+ // AC presence — look for an Acceptance Criteria section with at
328
+ // least one list entry. Accepts:
329
+ // - heading levels ##, ###, #### (BMad standard is ##; some templates
330
+ // nest AC under Dev Notes which would use ###)
331
+ // - "Acceptance Criteria" / "Acceptance criteria" / "AC" (the abbr
332
+ // appears in some templates)
333
+ // - bullet markers `-` or `*` or numbered `1.` / `1)` lists
334
+ if (
335
+ text &&
336
+ !/#{2,4}\s+(?:Acceptance Criteria|Acceptance criteria|AC)\b[\s\S]*?\n[ \t]*(?:[-*]|\d+[.)])\s+\S/i.test(
337
+ text,
338
+ )
339
+ ) {
329
340
  issues.push('Acceptance Criteria section missing or empty');
330
341
  }
331
342
  // Tasks/Subtasks section with at least one task checkbox — required by
332
343
  // BMad bookkeeping. `bmad-create-story` produces unchecked `[ ]`
333
344
  // entries; `bmad-dev-story` flips them to `[x]`. If neither is present,
334
- // dev-story will have nothing to check off.
335
- if (text && !/##\s+Tasks(?:\s*\/\s*Subtasks)?[\s\S]*?(?:\[ \]|\[x\])/i.test(text)) {
345
+ // dev-story will have nothing to check off. Accept heading levels
346
+ // ## / ### / #### (templates sometimes nest Tasks under Dev Notes).
347
+ if (text && !/#{2,4}\s+Tasks(?:\s*\/\s*Subtasks)?[\s\S]*?(?:\[ \]|\[x\])/i.test(text)) {
336
348
  issues.push(
337
349
  'Tasks (or Tasks/Subtasks) section with at least one `[ ]` or `[x]` checkbox missing',
338
350
  );
@@ -1,6 +1,6 @@
1
1
  addon:
2
2
  name: sprintpilot
3
- version: 2.2.24
3
+ version: 2.2.25
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.24",
3
+ "version": "2.2.25",
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": {