Uh oh!
There was an error while loading. Please reload this page.
Bugfix #895: UPPERCASE area group headers in VSCode sidebar - #897
Conversation
Supersedes #885's per-word capitalization with a full uppercase transform, matching VSCode's own container-label convention (EXPLORER, SOURCE CONTROL, etc.). - `formatAreaForDisplay` renamed to `uppercaseAreaName`; implementation is now `area.toUpperCase()`. - Separators are preserved verbatim: `cross-cutting` -> `CROSS-CUTTING`, `front_end` -> `FRONT_END`. The previous behavior split-and-rejoined with spaces; the new behavior is a single character-level transform. - Tests rewritten against the new contract.
amrmelsayed
commented
May 28, 2026
Architect ReviewTrivial mechanical swap, exactly as specced. 63/36 across 5 files, but only 3 production files:
Net production change: ~25 LOC. Scope matches the issue body precisely. VerdictApproved. Please merge with: Heads-up on the CHANGELOG flow#885's CHANGELOG entry under Architect review |
Uh oh!
There was an error while loading. Please reload this page.
Summary
Replaces the per-word capitalization shipped in #885 with a full uppercase transform for area group headers in the VSCode sidebar's Backlog and Builders trees. The new headers match VSCode's own container-label convention (EXPLORER, SOURCE CONTROL, etc.).
Vscode (4)VSCODE (4)Tower (2)TOWER (2)Cross Cutting (1)CROSS-CUTTING (1)Uncategorized (0)UNCATEGORIZED (0)The function is now a one-liner —
area.toUpperCase()— and separators (-,_) are preserved verbatim instead of being split into spaces.cross-cuttingnow renders asCROSS-CUTTING, matching the issue's table exactly.Changes
packages/core/src/area-grouping.ts:formatAreaForDisplayrenamed touppercaseAreaName; body collapsed toarea.toUpperCase(); docstring updated.packages/vscode/src/views/area-group-tree-item.ts: import + call site updated; docstring updated.packages/vscode/src/test/area-grouping.test.ts: suite renamed; assertions rewritten against the new contract.Out of scope
area/*label values stay lowercase (external identifiers; Codev convention).Test plan
pnpm --filter @cluesmith/codev-core buildcleanpnpm --filter codev-vscode check-typescleanpnpm --filter codev-vscode lintcleanpnpm --filter codev-vscode test:unit— 49 passpnpm --filter codev-vscode compile-testscleanFixes#895