* enhance(#3638): render bracket IDs on display surfaces Gate progress, stats, manager, and statusline projections on the bracket convention; validate phase_id_convention and single-source the convention card. Forward note: the uat.cts bracket co-change remains deliberately deferred to its owning slice. * chore(#3638): point the changeset at PR #4111 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix(#3638): close bracket display review gaps * docs(#3638): register phase display modules * chore(#3638): re-trigger CI after macOS shard SIGTERM `full test (macos-latest, 24, shard 3/3)` failed on 20ce98cd1 in `tests/lint-compiled-artifact-sync.test.cjs` — the spawned `scripts/lint-compiled-artifact-sync.cjs` was killed at 60024ms (`exited null (signal SIGTERM)`, stdout and stderr both empty), 24ms past the test's own `TSC_COMPILE_TIMEOUT_MS`. That is the failure mode the constant's comment already documents ("under CI shard load that compile can exceed the budget, dying to a SIGTERM with empty piped stdout"). No content change; this empty commit exists only to re-run the matrix, since re-running a job needs write access on the upstream repository. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> Co-authored-by: Tom Boucher <trekkie@nomorestars.com>
29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# Bracket phase-ID convention
|
|
|
|
The bracket convention is opt-in through `phase_id_convention: "bracket"`.
|
|
Its compact grammar card below is generated from `src/phase-id-card.cts`; edit
|
|
that module, not this block.
|
|
|
|
<!-- PHASE-ID-CARD:START -->
|
|
```text
|
|
[GSD.02] 05.03-01
|
|
│ │ │ │ │
|
|
│ │ │ │ └── plan 01
|
|
│ │ │ └────── subphase 03
|
|
│ │ └───────── phase 05
|
|
│ └───────────── milestone 02
|
|
└───────────────── project GSD
|
|
|
|
milestone = bracket integer; dots = phase-levels; one hyphen = plan; no 'Phase' word, no vX.Y
|
|
```
|
|
<!-- PHASE-ID-CARD:END -->
|
|
|
|
The display form is `[PROJECT.MM] PP[.SS][-LL]`: the bracket carries the
|
|
project and milestone, dots join phase levels, and the single hyphen introduces
|
|
the optional plan. A phase directory encodes the same identity without brackets:
|
|
`PROJECT.MM-PP[.SS]-slug/`.
|
|
|
|
Human-facing bracket surfaces omit both the literal `Phase` label and the
|
|
legacy `vX.Y` milestone marker. Repositories using the unset, `sequential`, or
|
|
`milestone-prefixed` conventions retain their existing display forms.
|