@pmelab/gtd 15.4.0 → 15.6.0
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/README.md +4 -6
- package/dist/gtd.bundle.mjs +8 -3
- package/package.json +3 -2
- package/src/workflows/steps.test.ts +1 -0
- package/src/workflows/text.test.ts +16 -0
- package/src/workflows/text.ts +5 -0
- package/src/workflows/vars.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pmelab/gtd",
|
|
3
|
-
"version": "15.
|
|
3
|
+
"version": "15.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Git-aware CLI that emits the next prompt for an autonomous coding agent based on the current repository state",
|
|
6
6
|
"bin": {
|
|
@@ -106,7 +106,8 @@
|
|
|
106
106
|
"tailwindcss": "^4.3.3",
|
|
107
107
|
"tsdown": "^0.22.8",
|
|
108
108
|
"turbo": "^2.10.9",
|
|
109
|
-
"vitest": "^3.2.0"
|
|
109
|
+
"vitest": "^3.2.0",
|
|
110
|
+
"zustand": "^5.0.15"
|
|
110
111
|
},
|
|
111
112
|
"peerDependencies": {
|
|
112
113
|
"typescript": "^5"
|
|
@@ -2,6 +2,7 @@ import { describe, expect, it } from "vitest"
|
|
|
2
2
|
import {
|
|
3
3
|
agentWithSkills,
|
|
4
4
|
architectureAuthorPrompt,
|
|
5
|
+
buildFixQualityPrompt,
|
|
5
6
|
designTriagePrompt,
|
|
6
7
|
splitSkills,
|
|
7
8
|
summaryPrompt,
|
|
@@ -103,6 +104,21 @@ describe("the shared open-question instruction", () => {
|
|
|
103
104
|
})
|
|
104
105
|
})
|
|
105
106
|
|
|
107
|
+
describe("architectureAuthorPrompt", () => {
|
|
108
|
+
it("qualifies the PERMISSIVE default with a settled-requirements exception", () => {
|
|
109
|
+
const prompt = renderText(() => architectureAuthorPrompt())
|
|
110
|
+
expect(prompt).toContain("is an open question, not a")
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
|
|
114
|
+
describe("buildFixQualityPrompt", () => {
|
|
115
|
+
it("states the missing-test-signal-beats-line-count tiebreak", () => {
|
|
116
|
+
const prompt = renderText(() => buildFixQualityPrompt())
|
|
117
|
+
expect(prompt).toContain("missing test signal beats line count")
|
|
118
|
+
expect(prompt).toContain("a test is never deleted to satisfy a simplification finding")
|
|
119
|
+
})
|
|
120
|
+
})
|
|
121
|
+
|
|
106
122
|
describe("summaryPrompt", () => {
|
|
107
123
|
it("puts the total and every model's cost on a line of its own", () => {
|
|
108
124
|
const prompt = summaryPrompt({
|
package/src/workflows/text.ts
CHANGED
|
@@ -267,6 +267,9 @@ ${footnoteFoldIn}
|
|
|
267
267
|
the product ones, one phase earlier. PERMISSIVE: answer it
|
|
268
268
|
yourself unless you genuinely cannot defend a default; a wrong
|
|
269
269
|
technical call is still caught at spec review
|
|
270
|
+
- The narrow exception: a simplification that drops something
|
|
271
|
+
\`.gtd/REQUIREMENTS.md\` mentions is an open question, not a
|
|
272
|
+
silent default
|
|
270
273
|
|
|
271
274
|
${questionBar}
|
|
272
275
|
## Return lap
|
|
@@ -485,6 +488,8 @@ export const buildFixQualityPrompt = (): string =>
|
|
|
485
488
|
- Read \`.gtd/QUALITY.md\` — one \`## \` chunk per quality dimension
|
|
486
489
|
that found something blocking. Merge duplicate findings across
|
|
487
490
|
dimensions FIRST, then fix every chunk
|
|
491
|
+
- When findings conflict, missing test signal beats line count —
|
|
492
|
+
a test is never deleted to satisfy a simplification finding
|
|
488
493
|
- Delete \`.gtd/QUALITY.md\` once every finding is resolved
|
|
489
494
|
- Leave everything else uncommitted and finish your turn
|
|
490
495
|
`
|
package/src/workflows/vars.ts
CHANGED
|
@@ -11,7 +11,7 @@ export const defaults: Readonly<Record<string, string>> = {
|
|
|
11
11
|
reviewNoteActionable: "0.7",
|
|
12
12
|
architectureSkipMinP: "0.85",
|
|
13
13
|
triageSkills: "spec-driven-development, planning-and-task-breakdown",
|
|
14
|
-
architectureSkills: "api-and-interface-design, documentation-and-adrs",
|
|
14
|
+
architectureSkills: "api-and-interface-design, documentation-and-adrs, ponytail",
|
|
15
15
|
decomposeSkills: "incremental-implementation, planning-and-task-breakdown",
|
|
16
16
|
buildSkills: "test-driven-development, incremental-implementation",
|
|
17
17
|
fixSkills: "debugging-and-error-recovery",
|
|
@@ -19,5 +19,5 @@ export const defaults: Readonly<Record<string, string>> = {
|
|
|
19
19
|
reviewSkills: "code-review-and-quality",
|
|
20
20
|
specReviewSkills: "code-review-and-quality, spec-driven-development",
|
|
21
21
|
escalateSkills: "debugging-and-error-recovery",
|
|
22
|
-
qualityReviews: "owasp-security,
|
|
22
|
+
qualityReviews: "owasp-security, ponytail-review, test-audit",
|
|
23
23
|
}
|