Skip to content

Commit 5af1b91

Browse files
authored
chore(release): v0.1.18 — rebalance hydration philosophy (#17)
* feat: rebalance hydration philosophy — outcome-level checkboxes, not implementation scripts - Skill v1.1.0: rewrote hydration guidance with adaptive planning philosophy - Worker agent: 'one checkbox per meaningful outcome' replaces 'one per unit of work' - Reviewer agent: added plan granularity guidance to prevent over-specification demands - Prompt/STATUS templates: updated hydration banners - TP-007 Step 0: collapsed 8 micro-checkboxes to 3 outcome-level items - TP-007/009/012: updated hydration banners for pending tasks * chore(release): prepare v0.1.18
1 parent c5d10b7 commit 5af1b91

11 files changed

Lines changed: 147 additions & 59 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "taskplane",
3-
"version": "0.1.17",
3+
"version": "0.1.18",
44
"description": "AI agent orchestration for pi — parallel task execution with checkpoint discipline",
55
"keywords": [
66
"pi-package",

skills/create-taskplane-task/SKILL.md

Lines changed: 57 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
name: create-taskplane-task
3+
version: 1.1.0
34
description: Creates structured Taskplane task packets (PROMPT.md, STATUS.md) for autonomous agent execution via the task-runner and task-orchestrator extensions. Use when asked to "create a task", "create a taskplane task", "stage a task", "prepare a task for execution", "write a PROMPT.md", "set up work for the agent", "queue a task", or whenever the user wants to define work that will be executed autonomously by another agent instance.
45
---
56

@@ -172,45 +173,81 @@ Docs in `task-runner.yaml → never_load` must NOT appear in any task.
172173

173174
## STATUS.md Hydration
174175

175-
STATUS.md is the worker's ONLY memory between iterations. Granularity directly
176-
determines how much progress survives when an iteration ends mid-step.
176+
STATUS.md is the worker's ONLY memory between iterations. It needs enough
177+
structure so progress survives when an iteration ends mid-step — but not so much
178+
structure that it becomes a rigid script the worker follows mechanically.
179+
180+
### Philosophy: Adaptive Planning, Not Exhaustive Scripting
181+
182+
Hydration exists because workers discover things at runtime they couldn't know
183+
upfront: the actual function signatures, the edge cases that emerge from reading
184+
source, the reviewer feedback that reshapes approach. The goal is **adaptability
185+
in the face of unknowns** — not granularity for its own sake.
186+
187+
**The right level of detail depends on predictability:**
188+
189+
| How predictable is the work? | Approach |
190+
|------------------------------|----------|
191+
| You know exactly what files/methods/tests are needed | List them as checkboxes |
192+
| You know the general shape but details depend on source code | Write intent-level checkboxes; trust the worker to figure out implementation specifics |
193+
| You genuinely don't know what's needed until a prior step runs | Use `⚠️ Hydrate` marker |
194+
195+
**Anti-pattern to avoid:** Creating 15+ micro-checkboxes that spell out every
196+
function name, parameter, and assertion before the worker has even read the
197+
source code. This wastes task-creation time, produces items that frequently need
198+
revision anyway, and turns the worker into a checkbox-follower instead of a
199+
problem-solver.
177200

178201
### Task Creator Responsibilities
179202

180-
**Pre-hydrate STATUS.md to match PROMPT.md granularity.** Since the skill creates
181-
both files at the same time, there is no reason for STATUS.md to be coarser than
182-
PROMPT.md.
203+
**Match STATUS.md to PROMPT.md granularity — no more, no less.** PROMPT.md steps
204+
should express *outcomes* the worker needs to achieve, not dictate *how* to
205+
achieve them.
206+
207+
Good granularity examples:
183208

184209
| PROMPT.md says | STATUS.md should have |
185210
|----------------|-----------------------|
186-
| "Implement Create, Update, Get, List, Publish, Clone" | One checkbox per method (6 checkboxes) |
187-
| "Test happy path, validation, auth, tenant isolation" | One checkbox per test category (4 checkboxes) |
188-
| "Create file X, file Y, file Z" | One checkbox per file (3 checkboxes) |
211+
| "Implement CRUD operations for Projects" | `- [ ] Implement Create, Read, Update, Delete for Projects` (one checkbox — the worker can figure out 4 methods) |
212+
| "Add repo-aware fields to persistence schema" | `- [ ] Add repo fields to schema and update serialization` |
213+
| "Test merge failure scenarios" | `- [ ] Add tests for merge failure paths` |
214+
| "Update merge flow to work per-repo" | `- [ ] Refactor merge to partition by repo` and `- [ ] Aggregate per-repo results` (two checkboxes — these are genuinely distinct outcomes) |
215+
216+
Over-hydrated examples (avoid):
217+
218+
| ❌ Too granular | ✅ Better |
219+
|----------------|-----------|
220+
| 10 checkboxes naming every function, parameter, and import to change | 2-3 checkboxes describing the behavioral changes |
221+
| Separate checkboxes for "create file", "add imports", "add function", "export function" | One checkbox: "Create helper module with X capability" |
222+
| One checkbox per test assertion | One checkbox per test scenario or category |
189223

190224
**Use `⚠️ Hydrate` markers** for steps that genuinely depend on runtime
191225
discoveries — where the task creator cannot know the items upfront:
192226

193227
```markdown
194-
### Step 3: Create Task Files
228+
### Step 2: Handle migration
195229
**Status:** ⬜ Not Started
196-
> ⚠️ Hydrate: Expand with per-item checkboxes once Step 2 identifies the task list
230+
> ⚠️ Hydrate: Expand based on schema gaps identified in Step 1
197231
198-
- [ ] Read create-taskplane-task skill and prompt template
199-
- [ ] Create task files (expand after Step 2)
232+
- [ ] Implement v1→v2 compatibility (details depend on Step 1 findings)
200233
```
201234

202235
**When to use markers vs. pre-hydration:**
203236

204237
| Situation | Approach |
205238
|-----------|----------|
206-
| Items are known at creation time | Pre-hydrate (one checkbox per item) |
207-
| Items depend on analysis/discovery in a prior step | `⚠️ Hydrate` marker |
208-
| Items depend on what exists on disk (preflight) | `⚠️ Hydrate` marker |
209-
| Reviewer feedback adds new items | Worker hydrates (handled by worker agent) |
210-
211-
The worker agent has full hydration rules (commit-before-implement,
212-
REVISE-triggered hydration). Task creators just need to provide the right
213-
starting granularity.
239+
| Outcomes are known at creation time | Pre-hydrate with outcome-level checkboxes |
240+
| Details depend on analysis/discovery in a prior step | `⚠️ Hydrate` marker |
241+
| Details depend on what exists on disk | `⚠️ Hydrate` marker |
242+
| Reviewer feedback adds new items | Worker adds items (handled by worker agent) |
243+
244+
### Worker Hydration at Runtime
245+
246+
Workers may expand checkboxes when entering a step — but should apply the same
247+
principle: **add checkboxes for distinct outcomes discovered during exploration,
248+
not for every individual code change.** The worker agent has hydration rules
249+
(commit-before-implement, REVISE-triggered expansion). The goal is a useful
250+
resumability checkpoint, not a line-by-line implementation journal.
214251

215252
### Constraint: No New Steps at Runtime
216253

skills/create-taskplane-task/references/prompt-template.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,8 @@ Copy this template when creating a new task. Replace all `[bracketed]` fields.
6767

6868
## Steps
6969

70-
> **Hydration:** STATUS.md checkboxes must match the granularity below. Steps that
71-
> depend on runtime discoveries should be marked with `⚠️ Hydrate` in STATUS.md.
72-
> See task-worker agent for full hydration rules.
70+
> **Hydration:** STATUS.md tracks outcomes, not individual code changes. Workers
71+
> expand steps when runtime discoveries warrant it. See task-worker agent for rules.
7372
7473
### Step 0: Preflight
7574

@@ -163,9 +162,9 @@ this from PROMPT.md.
163162
**Iteration:** 0
164163
**Size:** [S | M | L]
165164

166-
> **Hydration:** Checkboxes below must be granular — one per unit of work.
167-
> Steps marked `⚠️ Hydrate` will be expanded by the worker when discoveries
168-
> from prior steps are available. See task-worker agent for rules.
165+
> **Hydration:** Checkboxes represent meaningful outcomes, not individual code
166+
> changes. Workers expand steps when runtime discoveries warrant it — aim for
167+
> 2-5 outcome-level items per step, not exhaustive implementation scripts.
169168
170169
---
171170

taskplane-tasks/TP-007-resume-reconciliation-across-repos/PROMPT.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,14 @@ Extend /orch-resume to reconstruct and continue polyrepo batches using repo-awar
5656

5757
## Steps
5858

59-
> **Hydration:** STATUS.md checkboxes must match the granularity below.
60-
> See task-worker agent for full hydration rules.
59+
> **Hydration:** STATUS.md tracks outcomes, not individual code changes. Workers
60+
> expand steps when runtime discoveries warrant it. See task-worker agent for rules.
6161
6262
### Step 0: Implement repo-aware reconciliation
6363

64-
- [ ] Match persisted tasks/lanes to live sessions using repo-aware identifiers
65-
- [ ] Resolve alive/dead/.DONE states correctly across repo-specific worktrees
64+
- [ ] Match persisted tasks/lanes to live sessions using repo-aware identifiers (with v1 fallback when repo fields are absent)
65+
- [ ] Resolve alive/dead/.DONE/worktree states correctly across repo-specific roots
66+
- [ ] Add tests for mixed-repo reconciliation scenarios
6667

6768
### Step 1: Compute repo-aware resume point
6869

taskplane-tasks/TP-007-resume-reconciliation-across-repos/STATUS.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,18 @@
88
**Iteration:** 0
99
**Size:** L
1010

11-
> **Hydration:** Checkboxes below must be granular — one per unit of work.
12-
> Steps marked `⚠️ Hydrate` will be expanded by the worker.
11+
> **Hydration:** Checkboxes represent meaningful outcomes, not individual code
12+
> changes. Workers expand steps when runtime discoveries warrant it — aim for
13+
> 2-5 outcome-level items per step, not exhaustive implementation scripts.
1314
1415
---
1516

1617
### Step 0: Implement repo-aware reconciliation
1718
**Status:** ⬜ Not Started
1819

19-
- [ ] Match persisted tasks/lanes to live sessions using repo-aware identifiers
20-
- [ ] Resolve alive/dead/.DONE states correctly across repo-specific worktrees
20+
- [ ] Match persisted tasks/lanes to live sessions using repo-aware identifiers (with v1 fallback when repo fields are absent)
21+
- [ ] Resolve alive/dead/.DONE/worktree states correctly across repo-specific roots
22+
- [ ] Add tests for mixed-repo reconciliation scenarios
2123

2224
---
2325

taskplane-tasks/TP-009-dashboard-repo-aware-observability/PROMPT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ Make orchestrator observability repo-aware so operators in large teams can quick
5555

5656
## Steps
5757

58-
> **Hydration:** STATUS.md checkboxes must match the granularity below.
59-
> See task-worker agent for full hydration rules.
58+
> **Hydration:** STATUS.md tracks outcomes, not individual code changes. Workers
59+
> expand steps when runtime discoveries warrant it. See task-worker agent for rules.
6060
6161
### Step 0: Extend dashboard data model
6262

taskplane-tasks/TP-009-dashboard-repo-aware-observability/STATUS.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
**Iteration:** 0
99
**Size:** M
1010

11-
> **Hydration:** Checkboxes below must be granular — one per unit of work.
12-
> Steps marked `⚠️ Hydrate` will be expanded by the worker.
11+
> **Hydration:** Checkboxes represent meaningful outcomes, not individual code
12+
> changes. Workers expand steps when runtime discoveries warrant it — aim for
13+
> 2-5 outcome-level items per step, not exhaustive implementation scripts.
1314
1415
---
1516

taskplane-tasks/TP-012-polyrepo-fixtures-and-regression-suite/PROMPT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ Build an integration-grade polyrepo fixture and automated regression suite that
6161

6262
## Steps
6363

64-
> **Hydration:** STATUS.md checkboxes must match the granularity below.
65-
> See task-worker agent for full hydration rules.
64+
> **Hydration:** STATUS.md tracks outcomes, not individual code changes. Workers
65+
> expand steps when runtime discoveries warrant it. See task-worker agent for rules.
6666
6767
### Step 0: Build polyrepo fixture workspace
6868

taskplane-tasks/TP-012-polyrepo-fixtures-and-regression-suite/STATUS.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
**Iteration:** 0
99
**Size:** L
1010

11-
> **Hydration:** Checkboxes below must be granular — one per unit of work.
12-
> Steps marked `⚠️ Hydrate` will be expanded by the worker.
11+
> **Hydration:** Checkboxes represent meaningful outcomes, not individual code
12+
> changes. Workers expand steps when runtime discoveries warrant it — aim for
13+
> 2-5 outcome-level items per step, not exhaustive implementation scripts.
1314
1415
---
1516

templates/agents/task-reviewer.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,34 @@ Write to the specified output file using the `write` tool:
7272
- [Optional improvements, not blocking]
7373
```
7474

75+
## Plan Granularity Guidance
76+
77+
When reviewing plans, assess whether the worker's approach will achieve the
78+
step's **outcomes** — not whether they've listed every function, parameter, and
79+
import they'll touch.
80+
81+
**Good plan:** Identifies the key behavioral changes, calls out non-obvious
82+
risks or edge cases, and has a clear testing strategy.
83+
84+
**Over-specified plan (do NOT demand):** 15+ line items naming every helper
85+
function, every parameter signature, every file to import from. This level of
86+
detail changes constantly during implementation and turns the worker into a
87+
checkbox-follower instead of a problem-solver.
88+
89+
When issuing REVISE on a plan, ask for:
90+
- Missing **outcomes** (what should be true when the step is done)
91+
- Missing **risk mitigation** (edge cases, backward compatibility, failure paths)
92+
- Missing **test coverage intent** (what scenarios need testing)
93+
94+
Do NOT ask for:
95+
- Function-level implementation checklists
96+
- Per-file change manifests
97+
- Exhaustive assertion-by-assertion test plans
98+
99+
The worker is an LLM with full codebase access — trust it to figure out
100+
implementation specifics. Your job is to catch gaps in **what** needs to happen
101+
and **why**, not to dictate **how** at the code level.
102+
75103
## Rules
76104

77105
- Be specific — reference actual files and line numbers

0 commit comments

Comments
 (0)