chore: Change task numbering to decimal.
Hex doesn't sort nicely in the file system.
This commit is contained in:
@@ -34,7 +34,7 @@ Break the plan into **tracer bullet** tasks — vertical slices, not horizontal
|
||||
|
||||
### 4. Quiz the user
|
||||
|
||||
Number slices with a single sequence shared across every file already in `.claude/tasks/`: scan for the highest existing `NNNN` (four-digit, zero-padded lowercase hex, `0000`-`ffff`) and increment from there. Never restart the sequence per feature and never reuse a number.
|
||||
Number slices with a single sequence shared across every file already in `.claude/tasks/`: scan for the highest existing `NNNN` (four-digit, zero-padded decimal, `0000`-`9999`) and increment from there. Never restart the sequence per feature and never reuse a number.
|
||||
|
||||
Present the proposed breakdown as a numbered list. For each slice, show:
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ A concise description of this vertical slice. Describe the end-to-end behavior,
|
||||
## Rules
|
||||
|
||||
- **`spec`**: the feature-slug this task was written from. Omit the field entirely if there's no spec.
|
||||
- **`blocked-by`**: which other task(s) must complete before this one can start. Omit the field entirely if there are none. Each value is the blocking task's full `<NNNN>-<slice-slug>` filename stem, not just its slug. A single blocker is a bare string (`blocked-by: 000a-add-schema`); more than one is a YAML list (`blocked-by: [000a-add-schema, 000b-wire-api]`). Once written, keep the field even after the referenced task is completed — it's a permanent record of the dependency, not a "still blocked" flag.
|
||||
- **`blocked-by`**: which other task(s) must complete before this one can start. Omit the field entirely if there are none. Each value is the blocking task's full `<NNNN>-<slice-slug>` filename stem, not just its slug. A single blocker is a bare string (`blocked-by: 0010-add-schema`); more than one is a YAML list (`blocked-by: [0010-add-schema, 0011-wire-api]`). Once written, keep the field even after the referenced task is completed — it's a permanent record of the dependency, not a "still blocked" flag.
|
||||
- **Don't include specific file paths or code snippets** in "What to build" — they go stale fast. Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it here and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
|
||||
- A task is done when every criterion in "Acceptance criteria" is resolved: mark `[x]` as satisfied, or `[-]` if deliberately dropped (`/implement` records the reason in the task's Implementation Notes) — track completion here, not anywhere else.
|
||||
- A slice becomes pickable once every task named in `blocked-by` is done (all of its acceptance criteria resolved) — check the referenced tasks' state, not just whether the field is present. The file's number is an identifier and a rough ordering hint, not a strict gate — sibling slices with no blockers can be worked in parallel.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
spec: dot-setup-folders
|
||||
blocked-by: 000b-folders-unconditional-merge
|
||||
blocked-by: 0011-folders-unconditional-merge
|
||||
---
|
||||
|
||||
## What to build
|
||||
@@ -149,11 +149,6 @@ Tests live at `~/.config/dot/tests/dot.fish`, run with
|
||||
`$HOME/.claude/`. Writing to `$HOME/.claude/tasks/` instead of
|
||||
`~/.config/dot/.claude/tasks/` silently lands files in Claude Code's own
|
||||
global config dir instead of the project.
|
||||
- Task file numbers (`.claude/tasks/<NNNN>-<slug>.md`) are lowercase
|
||||
**hexadecimal**, not decimal — per `~/.claude/skills/to-tasks/SKILL.md`.
|
||||
After `0009` comes `000a`, not `0010`. A past task-breakdown session
|
||||
ignored this and produced a decimal `0010`, which had to be renamed back
|
||||
to `000a` once caught.
|
||||
- An agent's `Bash` tool runs commands through **zsh**, not fish, so the
|
||||
`dot` fish function (defined in `~/.config/fish/functions/dot.fish`) is
|
||||
not on that shell's autoload path. Typing `dot <subcommand>` there
|
||||
|
||||
Reference in New Issue
Block a user