@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.
- package/dist/index.js +71 -17
- 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
|
-
{
|
|
4566
|
-
|
|
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
|
-
{
|
|
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
|
-
{
|
|
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
|
-
{
|
|
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
|
-
{
|
|
4626
|
-
|
|
4627
|
-
|
|
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
|
-
{
|
|
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(
|
|
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(
|
|
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.
|
|
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.
|
|
31
|
-
"@wrongstack/kanban": "0.319.
|
|
32
|
-
"@wrongstack/primitives": "0.319.
|
|
33
|
-
"@wrongstack/requirement-intake": "0.319.
|
|
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",
|