@bendyline/gilde 0.1.53 → 0.1.55
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/authoring/chat-models/qwen3.5-27b-q4.json +147 -0
- package/authoring/gstack/evals/cso.json +21 -18
- package/authoring/gstack/evals/investigate.json +25 -22
- package/authoring/gstack/evals/plan-ceo-review.json +19 -16
- package/authoring/gstack/overlays/retro.json +2 -2
- package/authoring/gstack/wave.json +2 -2
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/qw/qwen3.5-27b-q4/manifest.json +217 -0
- package/data/chat-models/qw/qwen3.5-27b-q4/versions/1.0.0/manifest.json +90 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/craftbook.json +620 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/test.json +376 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/craftbook.json +616 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/test.json +201 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/craftbook.json +566 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/test.json +191 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/craftbook.json +595 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/test.json +139 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/craftbook.json +566 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/test.json +141 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/pl/plan/versions/1.0.2/craftbook.json +222 -0
- package/data/craftbook-templates/pl/plan/versions/1.0.2/test.json +91 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/craftbook.json +595 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/test.json +157 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/craftbook.json +597 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/test.json +157 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.2/craftbook.json +346 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.2/test.json +228 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/craftbook.json +599 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/test.json +162 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/craftbook.json +577 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/test.json +174 -0
- package/package.json +1 -1
- package/schemas/craftbook-test.schema.json +7 -1
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Root-Cause Investigation — decimal cart total regression",
|
|
4
|
+
"objective": "Require the Root-Cause Investigation craftbook to reproduce a deterministic failure, identify the causal mechanism before editing, implement the smallest fix, and prove the regression test passes.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"workflow",
|
|
7
|
+
"debugging",
|
|
8
|
+
"code-with-tests",
|
|
9
|
+
"node"
|
|
10
|
+
],
|
|
11
|
+
"prompt": "Use the Root-Cause Investigation craftbook to diagnose the failing decimal cart-total behavior in this workspace. First reproduce it with the existing dependency-free test and preserve concrete evidence; do not edit until a causal hypothesis has been tested. Then make the smallest correct source change, keep the regression coverage, and write the craftbook's artifacts, including `tasks/eval/reports/root-cause-investigation.md`. The final report must cite the files inspected, distinguish root cause from symptom, include the exact verification command and result, and describe a safe rollback.",
|
|
12
|
+
"setup": {
|
|
13
|
+
"projectName": "Decimal cart total regression",
|
|
14
|
+
"about": "A tiny dependency-free Node project with one reproducible arithmetic defect. The initial test is expected to fail.",
|
|
15
|
+
"missionObjectives": "Restore exact cent-based addition for decimal prices without broad refactoring and leave a passing regression test plus an evidence-backed investigation report.",
|
|
16
|
+
"files": [
|
|
17
|
+
{
|
|
18
|
+
"path": "package.json",
|
|
19
|
+
"content": "{\n \"name\": \"cart-total-fixture\",\n \"private\": true,\n \"type\": \"module\"\n}\n"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"path": "src/cart-total.js",
|
|
23
|
+
"content": "/** Sum display-price strings and return a two-decimal total. */\nexport function cartTotal(prices) {\n const cents = prices.reduce((sum, price) => sum + parseInt(price, 10) * 100, 0);\n return (cents / 100).toFixed(2);\n}\n"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"path": "tests/cart-total.test.mjs",
|
|
27
|
+
"content": "import test from 'node:test';\nimport assert from 'node:assert/strict';\nimport { cartTotal } from '../src/cart-total.js';\n\ntest('keeps cents when totaling decimal display prices', () => {\n assert.equal(cartTotal(['19.99', '5.50']), '25.49');\n});\n\ntest('handles a single whole-dollar price', () => {\n assert.equal(cartTotal(['7.00']), '7.00');\n});\n"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"path": "source/incident.md",
|
|
31
|
+
"content": "# Incident note\n\nCheckout preview showed **$24.00** for line items **$19.99** and **$5.50**. The expected total is **$25.49**. The defect appeared after price inputs changed from integer-dollar strings to two-decimal display strings. No production data migration is in scope.\n"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "tests/verify-cart-total.mjs",
|
|
35
|
+
"content": "import assert from 'node:assert/strict';\nimport { cartTotal } from '../src/cart-total.js';\n\nconst cases = [\n [['19.99', '5.50'], '25.49'],\n [['0.10', '0.20'], '0.30'],\n [['12.34', '0.66'], '13.00'],\n [['7.00'], '7.00'],\n [['1.01', '2.02', '3.03'], '6.06'],\n];\nfor (const [prices, expected] of cases) assert.equal(cartTotal(prices), expected, prices.join(' + '));\nconsole.log('CART_TOTAL_ORACLE_OK 5/5');\n",
|
|
36
|
+
"surface": "harness"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"craftbookParams": {
|
|
40
|
+
"workPath": "tasks/eval"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"mocks": [],
|
|
44
|
+
"success": {
|
|
45
|
+
"summary": "The decimal regression is fixed by a diagnosed causal change, the existing test passes, and the craftbook report preserves reproducible evidence.",
|
|
46
|
+
"deliverables": [
|
|
47
|
+
{
|
|
48
|
+
"path": "tasks/eval/reports/root-cause-investigation.md",
|
|
49
|
+
"kind": "markdown-report",
|
|
50
|
+
"artifact": true,
|
|
51
|
+
"minBytes": 1200,
|
|
52
|
+
"checks": [
|
|
53
|
+
{
|
|
54
|
+
"kind": "contains",
|
|
55
|
+
"file": "tasks/eval/reports/root-cause-investigation.md",
|
|
56
|
+
"pattern": "^#{1,3}\\s+Root cause\\b[\\s\\S]*^#{1,3}\\s+(Fix|Changed files)\\b[\\s\\S]*^#{1,3}\\s+(Regression coverage|Verification)\\b[\\s\\S]*^#{1,3}\\s+Rollback\\b",
|
|
57
|
+
"flags": "im",
|
|
58
|
+
"label": "root cause through rollback sections"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"kind": "contains",
|
|
62
|
+
"file": "tasks/eval/reports/root-cause-investigation.md",
|
|
63
|
+
"pattern": "parseInt|truncat(?:e|ed|ion)|discard(?:s|ed)?\\s+(?:the\\s+)?(?:decimal|fractional|cent)",
|
|
64
|
+
"flags": "i",
|
|
65
|
+
"label": "causal mechanism"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"kind": "contains",
|
|
69
|
+
"file": "tasks/eval/reports/root-cause-investigation.md",
|
|
70
|
+
"pattern": "node\\s+--test\\s+tests/cart-total\\.test\\.mjs[\\s\\S]*(pass|2\\s+tests?|exit(?:ed)?\\s+0)",
|
|
71
|
+
"flags": "i",
|
|
72
|
+
"label": "verification command and result"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"kind": "citationsResolve",
|
|
76
|
+
"file": "tasks/eval/reports/root-cause-investigation.md",
|
|
77
|
+
"minCitations": 2
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"checks": [
|
|
83
|
+
{
|
|
84
|
+
"kind": "notContains",
|
|
85
|
+
"file": "src/cart-total.js",
|
|
86
|
+
"pattern": "\\bparseInt\\s*\\(",
|
|
87
|
+
"label": "lossy integer parsing removed"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"kind": "sourceParses",
|
|
91
|
+
"file": "src/cart-total.js"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"kind": "nodeRuns",
|
|
95
|
+
"file": "tests/cart-total.test.mjs",
|
|
96
|
+
"timeoutMs": 20000
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"kind": "nodeScriptPasses",
|
|
100
|
+
"script": "tests/verify-cart-total.mjs",
|
|
101
|
+
"requiredOutput": [
|
|
102
|
+
{
|
|
103
|
+
"pattern": "CART_TOTAL_ORACLE_OK 5/5",
|
|
104
|
+
"label": "hidden multi-case regression oracle"
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"taskNotes": {
|
|
110
|
+
"minBytes": 180,
|
|
111
|
+
"checks": [
|
|
112
|
+
{
|
|
113
|
+
"kind": "contains",
|
|
114
|
+
"file": "task-notes.md",
|
|
115
|
+
"pattern": "\\bDONE\\b[\\s\\S]*(node\\s+--test|tests/cart-total\\.test\\.mjs)[\\s\\S]*tasks/eval/reports/root-cause-investigation\\.md",
|
|
116
|
+
"flags": "i",
|
|
117
|
+
"label": "terminal note records proof and report"
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"requireCraftbookTask": true
|
|
121
|
+
},
|
|
122
|
+
"taskGraph": {
|
|
123
|
+
"requireCraftbookTask": true,
|
|
124
|
+
"requireTerminalStep": true
|
|
125
|
+
},
|
|
126
|
+
"unchangedFixtures": [
|
|
127
|
+
"package.json",
|
|
128
|
+
"tests/cart-total.test.mjs",
|
|
129
|
+
"source/incident.md"
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
"rubric": {
|
|
133
|
+
"artifact": {
|
|
134
|
+
"path": "tasks/eval/reports/root-cause-investigation.md",
|
|
135
|
+
"kind": "markdown"
|
|
136
|
+
},
|
|
137
|
+
"axes": [
|
|
138
|
+
{
|
|
139
|
+
"name": "Causal rigor",
|
|
140
|
+
"description": "The report explains why the observed inputs fail in this implementation and distinguishes causal evidence from guesses."
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"name": "Fix discipline",
|
|
144
|
+
"description": "The source change is minimal, directly addresses the diagnosed mechanism, and avoids unrelated refactoring."
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "Verification quality",
|
|
148
|
+
"description": "Reproduction, regression coverage, final command result, blast radius, and rollback are concrete and auditable."
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
"qualityFocus": [
|
|
153
|
+
"Diagnosis precedes source edits",
|
|
154
|
+
"The fix preserves decimal cents and passes the dependency-free test",
|
|
155
|
+
"The final report cites real workspace files and includes rollback"
|
|
156
|
+
]
|
|
157
|
+
}
|