@wrongstack/sdd 0.319.0 → 0.319.1

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.
Files changed (2) hide show
  1. package/dist/index.js +71 -17
  2. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -4511,9 +4511,7 @@ async function gatherProjectContext(projectRoot) {
4511
4511
  const entries = await fsp6.readdir(packagesDir, { withFileTypes: true });
4512
4512
  const pkgs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
4513
4513
  if (pkgs.length > 0) {
4514
- parts.push(
4515
- `Packages: ${pkgs.slice(0, 25).join(", ")}${pkgs.length > 25 ? "..." : ""}`
4516
- );
4514
+ parts.push(`Packages: ${pkgs.slice(0, 25).join(", ")}${pkgs.length > 25 ? "..." : ""}`);
4517
4515
  }
4518
4516
  } catch {
4519
4517
  }
@@ -4562,8 +4560,20 @@ var SPEC_TEMPLATES = [
4562
4560
  { type: "acceptance", title: "Acceptance Criteria", level: 2 }
4563
4561
  ],
4564
4562
  defaultRequirements: [
4565
- { type: "functional", priority: "high", acceptanceCriteria: [], blockedBy: [], implements: [] },
4566
- { type: "non-functional", priority: "medium", acceptanceCriteria: [], blockedBy: [], implements: [] }
4563
+ {
4564
+ type: "functional",
4565
+ priority: "high",
4566
+ acceptanceCriteria: [],
4567
+ blockedBy: [],
4568
+ implements: []
4569
+ },
4570
+ {
4571
+ type: "non-functional",
4572
+ priority: "medium",
4573
+ acceptanceCriteria: [],
4574
+ blockedBy: [],
4575
+ implements: []
4576
+ }
4567
4577
  ]
4568
4578
  },
4569
4579
  {
@@ -4576,7 +4586,13 @@ var SPEC_TEMPLATES = [
4576
4586
  { type: "acceptance", title: "Fix Verification", level: 2 }
4577
4587
  ],
4578
4588
  defaultRequirements: [
4579
- { type: "functional", priority: "critical", acceptanceCriteria: [], blockedBy: [], implements: [] }
4589
+ {
4590
+ type: "functional",
4591
+ priority: "critical",
4592
+ acceptanceCriteria: [],
4593
+ blockedBy: [],
4594
+ implements: []
4595
+ }
4580
4596
  ]
4581
4597
  },
4582
4598
  {
@@ -4590,7 +4606,13 @@ var SPEC_TEMPLATES = [
4590
4606
  { type: "acceptance", title: "Verification", level: 2 }
4591
4607
  ],
4592
4608
  defaultRequirements: [
4593
- { type: "non-functional", priority: "high", acceptanceCriteria: [], blockedBy: [], implements: [] }
4609
+ {
4610
+ type: "non-functional",
4611
+ priority: "high",
4612
+ acceptanceCriteria: [],
4613
+ blockedBy: [],
4614
+ implements: []
4615
+ }
4594
4616
  ]
4595
4617
  },
4596
4618
  {
@@ -4605,7 +4627,13 @@ var SPEC_TEMPLATES = [
4605
4627
  { type: "acceptance", title: "Rollout Plan", level: 2 }
4606
4628
  ],
4607
4629
  defaultRequirements: [
4608
- { type: "functional", priority: "high", acceptanceCriteria: [], blockedBy: [], implements: [] },
4630
+ {
4631
+ type: "functional",
4632
+ priority: "high",
4633
+ acceptanceCriteria: [],
4634
+ blockedBy: [],
4635
+ implements: []
4636
+ },
4609
4637
  { type: "security", priority: "high", acceptanceCriteria: [], blockedBy: [], implements: [] }
4610
4638
  ]
4611
4639
  },
@@ -4622,9 +4650,27 @@ var SPEC_TEMPLATES = [
4622
4650
  { type: "acceptance", title: "Testing Strategy", level: 2 }
4623
4651
  ],
4624
4652
  defaultRequirements: [
4625
- { type: "functional", priority: "high", acceptanceCriteria: [], blockedBy: [], implements: [] },
4626
- { type: "security", priority: "critical", acceptanceCriteria: [], blockedBy: [], implements: [] },
4627
- { type: "performance", priority: "medium", acceptanceCriteria: [], blockedBy: [], implements: [] }
4653
+ {
4654
+ type: "functional",
4655
+ priority: "high",
4656
+ acceptanceCriteria: [],
4657
+ blockedBy: [],
4658
+ implements: []
4659
+ },
4660
+ {
4661
+ type: "security",
4662
+ priority: "critical",
4663
+ acceptanceCriteria: [],
4664
+ blockedBy: [],
4665
+ implements: []
4666
+ },
4667
+ {
4668
+ type: "performance",
4669
+ priority: "medium",
4670
+ acceptanceCriteria: [],
4671
+ blockedBy: [],
4672
+ implements: []
4673
+ }
4628
4674
  ]
4629
4675
  },
4630
4676
  {
@@ -4639,7 +4685,13 @@ var SPEC_TEMPLATES = [
4639
4685
  ],
4640
4686
  defaultRequirements: [
4641
4687
  { type: "ux", priority: "high", acceptanceCriteria: [], blockedBy: [], implements: [] },
4642
- { type: "functional", priority: "high", acceptanceCriteria: [], blockedBy: [], implements: [] }
4688
+ {
4689
+ type: "functional",
4690
+ priority: "high",
4691
+ acceptanceCriteria: [],
4692
+ blockedBy: [],
4693
+ implements: []
4694
+ }
4643
4695
  ]
4644
4696
  }
4645
4697
  ];
@@ -5661,9 +5713,7 @@ async function decomposeNonAtomicTasks(opts) {
5661
5713
  for (const node of nodes) {
5662
5714
  if (node.parentId) childCounts.set(node.parentId, (childCounts.get(node.parentId) ?? 0) + 1);
5663
5715
  }
5664
- const candidates = nodes.filter(
5665
- (node) => node.status === "pending" && !childCounts.get(node.id)
5666
- );
5716
+ const candidates = nodes.filter((node) => node.status === "pending" && !childCounts.get(node.id));
5667
5717
  let spent = 0;
5668
5718
  for (const node of candidates) {
5669
5719
  if (spent >= maxDecompositions) break;
@@ -5833,13 +5883,17 @@ function synthesizeVibeSpec(rawPrompt, projectContext = "") {
5833
5883
  "Follow project conventions and strict type safety"
5834
5884
  ];
5835
5885
  if (/admin|role|auth|yetki/i.test(cleanPrompt)) {
5836
- sensibleDefaults.push("Enforce role-based permission checks before executing privileged actions");
5886
+ sensibleDefaults.push(
5887
+ "Enforce role-based permission checks before executing privileged actions"
5888
+ );
5837
5889
  }
5838
5890
  if (/sil|delete|remove|uçur/i.test(cleanPrompt)) {
5839
5891
  sensibleDefaults.push("Confirm deletion intent and handle non-existent resource gracefully");
5840
5892
  }
5841
5893
  if (/sepet|cart|ekle|add|art/i.test(cleanPrompt)) {
5842
- sensibleDefaults.push("Ensure idempotency and optimistic UI updates for cart/counter operations");
5894
+ sensibleDefaults.push(
5895
+ "Ensure idempotency and optimistic UI updates for cart/counter operations"
5896
+ );
5843
5897
  }
5844
5898
  const acceptanceCriteria = lines.map(
5845
5899
  (line, idx) => `Given user interaction, should correctly handle step ${idx + 1}: ${line}`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/sdd",
3
- "version": "0.319.0",
3
+ "version": "0.319.1",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack Spec-Driven Development engine — standalone package extracted from @wrongstack/core. Task graph generation, tracking, execution, lifecycle management, and AI-driven spec building for SDD workflows.",
6
6
  "repository": {
@@ -27,10 +27,10 @@
27
27
  "!dist/**/*.map"
28
28
  ],
29
29
  "dependencies": {
30
- "@wrongstack/core": "0.319.0",
31
- "@wrongstack/kanban": "0.319.0",
32
- "@wrongstack/primitives": "0.319.0",
33
- "@wrongstack/requirement-intake": "0.319.0"
30
+ "@wrongstack/core": "0.319.1",
31
+ "@wrongstack/kanban": "0.319.1",
32
+ "@wrongstack/primitives": "0.319.1",
33
+ "@wrongstack/requirement-intake": "0.319.1"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^26.2.0",