Skip to main content

Module phase_id

Module phase_id 

Source
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::padded is 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§

ParsePhaseIdError
Why a string is not a usable phase identifier.
PhaseId
A phase identifier — a major number, optionally with a minor number.