Sizing
Sizing and story points
Every leaf gets a t-shirt size and matching points from a fixed table. The UI rolls parents up at read time.
Size → points
| Size | Points | Meaning |
|---|---|---|
| XS | 1 | Trivial |
| S | 3 | Small |
| M | 5 | Medium |
| L | 8 | Large |
| XL | 13 | Extra large — prefer split |
| XXL | 21 | Not sprint-ready — not refined for a sprint; prefer split |
Points scale: 1 | 3 | 5 | 8 | 13 | 21. /tkmd-plan uses this table only — there is no board sizing file and no velocity calibration of estimates.
There is no estimate or owner property. Actual is the sum of closed Started → Ended intervals on task/bug Work logs. Parent Actual is the sum of descendant leaves in the UI; do not write Actual into frontmatter.
Decomposition during planning
- Size each independently executable leaf; points follow automatically.
- Use size to drive decomposition: strongly split XL work into cohesive leaves.
- Never leave XXL work unrefined; split it before execution.
- Parent items with children have no persisted size or points; the UI derives rollups.
Parent rollups
Rollups are not written into parent markdown. The UI derives them when it scans children:
- Story points = sum of child task/bug points when children exist
- Epic points = sum of story points + epic-direct leaves
- Epic size = none
- Actual minutes come from leaf work logs, never calendar span
See Workflows for how plan and do keep parent files untouched.