Expand description
The identifier of a phase: 35, or 35.1.
DevFlow originally carried this as a bare u32. GSD’s --insert mode
numbers an inserted phase with a decimal (35.1, 35.2), so a u32
identifier made every such phase unreachable by devflow start — the
defect recorded as 999.97 and hotfixed on 2026-08-07.
Two renderings exist, and the distinction matters:
- [
Display] is the canonical label —7,35.1. It is what goes into prompts and messages a human or a GSD skill reads. PhaseId::paddedis the zero-padded path form —07,35.1. It is what names.devflow/state-07.json,feature/phase-07, and the.planning/phases/07-*glob.
Display deliberately ignores width specifiers, so a stray {phase:02}
left over from the u32 era cannot silently produce a wrong path — it
produces the unpadded label and any path built from it fails loudly. Call
PhaseId::padded where a path is meant.
Structs§
- Parse
Phase IdError - Why a string is not a usable phase identifier.
- PhaseId
- A phase identifier — a major number, optionally with a minor number.