|
|
@@ -33,6 +33,15 @@ Before defining tasks, map out which files will be created or modified and what
|
|
|
|
|
|
This structure informs the task decomposition. Each task should produce self-contained changes that make sense independently.
|
|
|
|
|
|
+## Task Right-Sizing
|
|
|
+
|
|
|
+A task is the smallest unit that carries its own test cycle and is worth a
|
|
|
+fresh reviewer's gate. When drawing task boundaries: fold setup,
|
|
|
+configuration, scaffolding, and documentation steps into the task whose
|
|
|
+deliverable needs them; split only where a reviewer could meaningfully
|
|
|
+reject one task while approving its neighbor. Each task ends with an
|
|
|
+independently testable deliverable.
|
|
|
+
|
|
|
## Bite-Sized Task Granularity
|
|
|
|
|
|
**Each step is one action (2-5 minutes):**
|
|
|
@@ -57,6 +66,13 @@ This structure informs the task decomposition. Each task should produce self-con
|
|
|
|
|
|
**Tech Stack:** [Key technologies/libraries]
|
|
|
|
|
|
+## Global Constraints
|
|
|
+
|
|
|
+[The spec's project-wide requirements — version floors, dependency limits,
|
|
|
+naming and copy rules, platform requirements — one line each, with exact
|
|
|
+values copied verbatim from the spec. Every task's requirements implicitly
|
|
|
+include this section.]
|
|
|
+
|
|
|
---
|
|
|
```
|
|
|
|
|
|
@@ -70,6 +86,12 @@ This structure informs the task decomposition. Each task should produce self-con
|
|
|
- Modify: `exact/path/to/existing.py:123-145`
|
|
|
- Test: `tests/exact/path/to/test.py`
|
|
|
|
|
|
+**Interfaces:**
|
|
|
+- Consumes: [what this task uses from earlier tasks — exact signatures]
|
|
|
+- Produces: [what later tasks rely on — exact function names, parameter
|
|
|
+ and return types. A task's implementer sees only their own task; this
|
|
|
+ block is how they learn the names and types neighboring tasks use.]
|
|
|
+
|
|
|
- [ ] **Step 1: Write the failing test**
|
|
|
|
|
|
```python
|