@sienklogic/plan-build-run 2.38.0 → 2.38.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/CHANGELOG.md CHANGED
@@ -5,6 +5,13 @@ All notable changes to Plan-Build-Run will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.38.1](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.38.0...plan-build-run-v2.38.1) (2026-02-27)
9
+
10
+
11
+ ### Documentation
12
+
13
+ * **quick-018:** add TDD decision heuristic to plan-authoring reference ([b6744ab](https://github.com/SienkLogic/plan-build-run/commit/b6744abd33befddb0650f584fe8f8f3c6ebdf77f))
14
+
8
15
  ## [2.38.0](https://github.com/SienkLogic/plan-build-run/compare/plan-build-run-v2.37.0...plan-build-run-v2.38.0) (2026-02-27)
9
16
 
10
17
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sienklogic/plan-build-run",
3
- "version": "2.38.0",
3
+ "version": "2.38.1",
4
4
  "description": "Plan it, Build it, Run it — structured development workflow for Claude Code",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pbr",
3
3
  "displayName": "Plan-Build-Run",
4
- "version": "2.38.0",
4
+ "version": "2.38.1",
5
5
  "description": "Plan-Build-Run — Structured development workflow for GitHub Copilot CLI. Solves context rot through disciplined agent delegation, structured planning, atomic execution, and goal-backward verification.",
6
6
  "author": {
7
7
  "name": "SienkLogic",
@@ -158,6 +158,34 @@ When a plan requires research before execution, set the `discovery` field in pla
158
158
 
159
159
  ---
160
160
 
161
+ ## TDD Decision Heuristic
162
+
163
+ When assigning `tdd="true"` or `tdd="false"` on a task, apply this test:
164
+
165
+ > **Can you write `expect(fn(input)).toBe(output)` before writing `fn`?**
166
+ > Yes → `tdd="true"`. No → `tdd="false"`.
167
+
168
+ ### When TDD Adds Value
169
+
170
+ - Pure functions and data transformations
171
+ - Business logic with defined inputs/outputs
172
+ - API response parsing and validation
173
+ - State machines and workflow transitions
174
+ - Utility functions and helpers
175
+
176
+ ### When to Skip TDD
177
+
178
+ - UI rendering and layout (test after)
179
+ - Configuration and environment setup
180
+ - Glue code wiring modules together
181
+ - Simple CRUD with no business logic
182
+ - File system operations and I/O plumbing
183
+ - One-off scripts and migrations
184
+
185
+ When the global config `features.tdd_mode: true` is set, all tasks default to TDD. The planner should still set `tdd="false"` on tasks matching the skip list above — the global flag is a project preference, not a mandate for every task.
186
+
187
+ ---
188
+
161
189
  ## Dependency Graph Rules
162
190
 
163
191
  ### File Conflict Detection
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pbr",
3
3
  "displayName": "Plan-Build-Run",
4
- "version": "2.38.0",
4
+ "version": "2.38.1",
5
5
  "description": "Plan-Build-Run — Structured development workflow for Cursor. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
6
6
  "author": {
7
7
  "name": "SienkLogic",
@@ -158,6 +158,34 @@ When a plan requires research before execution, set the `discovery` field in pla
158
158
 
159
159
  ---
160
160
 
161
+ ## TDD Decision Heuristic
162
+
163
+ When assigning `tdd="true"` or `tdd="false"` on a task, apply this test:
164
+
165
+ > **Can you write `expect(fn(input)).toBe(output)` before writing `fn`?**
166
+ > Yes → `tdd="true"`. No → `tdd="false"`.
167
+
168
+ ### When TDD Adds Value
169
+
170
+ - Pure functions and data transformations
171
+ - Business logic with defined inputs/outputs
172
+ - API response parsing and validation
173
+ - State machines and workflow transitions
174
+ - Utility functions and helpers
175
+
176
+ ### When to Skip TDD
177
+
178
+ - UI rendering and layout (test after)
179
+ - Configuration and environment setup
180
+ - Glue code wiring modules together
181
+ - Simple CRUD with no business logic
182
+ - File system operations and I/O plumbing
183
+ - One-off scripts and migrations
184
+
185
+ When the global config `features.tdd_mode: true` is set, all tasks default to TDD. The planner should still set `tdd="false"` on tasks matching the skip list above — the global flag is a project preference, not a mandate for every task.
186
+
187
+ ---
188
+
161
189
  ## Dependency Graph Rules
162
190
 
163
191
  ### File Conflict Detection
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pbr",
3
- "version": "2.38.0",
3
+ "version": "2.38.1",
4
4
  "description": "Plan-Build-Run — Structured development workflow for Claude Code. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
5
5
  "author": {
6
6
  "name": "SienkLogic",
@@ -157,6 +157,34 @@ When a plan requires research before execution, set the `discovery` field in pla
157
157
 
158
158
  ---
159
159
 
160
+ ## TDD Decision Heuristic
161
+
162
+ When assigning `tdd="true"` or `tdd="false"` on a task, apply this test:
163
+
164
+ > **Can you write `expect(fn(input)).toBe(output)` before writing `fn`?**
165
+ > Yes → `tdd="true"`. No → `tdd="false"`.
166
+
167
+ ### When TDD Adds Value
168
+
169
+ - Pure functions and data transformations
170
+ - Business logic with defined inputs/outputs
171
+ - API response parsing and validation
172
+ - State machines and workflow transitions
173
+ - Utility functions and helpers
174
+
175
+ ### When to Skip TDD
176
+
177
+ - UI rendering and layout (test after)
178
+ - Configuration and environment setup
179
+ - Glue code wiring modules together
180
+ - Simple CRUD with no business logic
181
+ - File system operations and I/O plumbing
182
+ - One-off scripts and migrations
183
+
184
+ When the global config `features.tdd_mode: true` is set, all tasks default to TDD. The planner should still set `tdd="false"` on tasks matching the skip list above — the global flag is a project preference, not a mandate for every task.
185
+
186
+ ---
187
+
160
188
  ## Dependency Graph Rules
161
189
 
162
190
  ### File Conflict Detection