VSCode Builders tree: neutral inline gate-action icon (#933)#963
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PIR Review: Neutral inline gate-action icon on the VSCode Builders tree
Fixes #933
Summary
The VSCode Builders tree showed a checkmark (
$(check)) on the inline action button of every blocked builder, implying "approve" regardless of which gate the builder was at. This change swaps that glyph for a neutral arrow ($(arrow-right)) so the button no longer over-promises "approve." It is a one-line, behavior-preserving change to thecodev.approveGatecommand's declared icon inpackage.json— clicking the button still opens the same approve flow; the context menu andCmd+K Gare untouched. Per-gate triage at a glance is already provided by the row's leading icon (gateIconFor), which was not modified.Files Changed
packages/vscode/package.json(+1 / -1) —codev.approveGateicon$(check)→$(arrow-right)codev/plans/933-afx-tower-ui-gate-action-butto.md(+44 / -0) — the approved plancodev/state/pir-933_thread.md(+30 / -0) — builder thread logcodev/projects/933-afx-tower-ui-gate-action-butto/status.yaml(+22 / -0) — porch state (managed automatically)Commits
e093d8c8[PIR VSCode Builders tree: inline gate-action button uses checkmark icon even when the action isn't 'approve' #933] Builders tree: neutral inline gate-action icon (arrow, not checkmark)89338131[PIR VSCode Builders tree: inline gate-action button uses checkmark icon even when the action isn't 'approve' #933] Thread: implement notes (icon-only)31d09e87[PIR VSCode Builders tree: inline gate-action button uses checkmark icon even when the action isn't 'approve' #933] Plan draft (icon-only)(plus porch-managed
chore(porch)state-transition commits)Test Results
pnpm --filter codev-vscode check-types: ✓ passpnpm --filter codev-vscode lint: ✓ passpnpm --filter codev-vscode test:unit: ✓ pass (197 tests)build/testschecks: ✓ passdev-approvalgate (inline button renders the arrow instead of the checkmark; approve flow, context menu, and Cmd+K G unchanged).Architecture Updates
No arch changes — this is a single declarative icon-string swap in
package.json. It introduces no new module, command, pattern, or boundary, socodev/resources/arch.mdneeds no update.Lessons Learned Updates
No new lesson added to
codev/resources/lessons-learned.md. The one takeaway from this work was process, not architecture, and is already captured by existing guidance: scope an issue to what it literally asks for. This issue read "change the icon," but its acceptance criteria also implied a per-gate action change; an earlier iteration built that (a runtime dispatcher) and it was reverted as scope creep before re-doing it as the one-line icon swap. The existingfeedback_match_protocol_to_scope/ surgical-scope guidance already covers this; no durable doc change warranted.Things to Look At During PR Review
codev.approveGate's icon appears solely on the inlineblocked-buildermenu action. Its context-menu entry (1_primary@2) renders the command title, and the gate-pending toast (gate-toast.ts) uses its own button labels — neither uses the command icon. So the only visible effect is the inline button.How to Test Locally
For reviewers pulling the branch:
pir-933→ View Diff (or the one-linepackage.jsondiff on the PR).pir-933worktree as a workspace → Run & Debug → "Run Codev Extension" (F5) → inspect a blocked builder row in the Builders tree.