From 48f0dda04891c8a3fe337c9e78e221ccaa40be46 Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 10:33:32 +0700 Subject: [PATCH 1/8] chore(porch): bugfix-1169 init bugfix --- .../status.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml diff --git a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml new file mode 100644 index 000000000..57c0a835a --- /dev/null +++ b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml @@ -0,0 +1,14 @@ +id: bugfix-1169 +title: vscode-collapse-pull-requests- +protocol: bugfix +phase: investigate +plan_phases: [] +current_plan_phase: null +gates: + pr: + status: pending +iteration: 1 +build_complete: false +history: [] +started_at: '2026-07-13T03:33:32.344Z' +updated_at: '2026-07-13T03:33:32.344Z' From f726f362025325d3b82d25c2d514d3137bb6def8 Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 10:34:11 +0700 Subject: [PATCH 2/8] chore(porch): bugfix-1169 fix phase-transition --- .../bugfix-1169-vscode-collapse-pull-requests-/status.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml index 57c0a835a..6b5a2b600 100644 --- a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml +++ b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml @@ -1,7 +1,7 @@ id: bugfix-1169 title: vscode-collapse-pull-requests- protocol: bugfix -phase: investigate +phase: fix plan_phases: [] current_plan_phase: null gates: @@ -11,4 +11,4 @@ iteration: 1 build_complete: false history: [] started_at: '2026-07-13T03:33:32.344Z' -updated_at: '2026-07-13T03:33:32.344Z' +updated_at: '2026-07-13T03:34:11.887Z' From 33002c0c9b7630014051cd844d5aea5b4ba40a1f Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 10:47:37 +0700 Subject: [PATCH 3/8] [Bugfix #1169] Fix: collapse Pull Requests / Recently Closed / Team / Status views by default Add "visibility": "collapsed" to the four lower-priority Codev sidebar views so they render as headers on first install, reclaiming vertical space for the primary Workspace / Agents / Backlog surfaces. Existing "when" clauses preserved. Applies to first-install/new-workspace state only; persisted user state is unaffected. --- codev/state/bugfix-1169_thread.md | 35 +++++++++++++++++++++++++++++++ packages/vscode/package.json | 8 +++---- 2 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 codev/state/bugfix-1169_thread.md diff --git a/codev/state/bugfix-1169_thread.md b/codev/state/bugfix-1169_thread.md new file mode 100644 index 000000000..e60fafadd --- /dev/null +++ b/codev/state/bugfix-1169_thread.md @@ -0,0 +1,35 @@ +# bugfix-1169 — vscode: collapse lower-priority sidebar views by default + +## Investigate + +**Issue**: 4 of the 7 Codev sidebar views (Pull Requests, Recently Closed, Team, Status) +default to fully-expanded on first install, crowding the primary surfaces +(Workspace, Agents, Backlog). VS Code gives no manifest lever for height ratios; +the only lever is defaulting lower-priority views to `visibility: "collapsed"`. + +**Root cause**: `packages/vscode/package.json` `contributes.views.codev[]` — the four +views omit `"visibility"`, so VS Code applies the default (`visible`). + +**Note on the issue snippet**: the real file's view entries carry `"when"` clauses +(e.g. `"codev.hasWorkspace"`) that the issue's simplified snippet dropped. Fix must +ADD `"visibility": "collapsed"` while PRESERVING each existing `when`. + +**Precedent**: `codev.placeholder` in `codevPanel` already uses `"visibility": "collapsed"`. + +## Fix + +Added `"visibility": "collapsed"` to the four lower-priority views (pullRequests, +recentlyClosed, team, status), preserving each existing `when` clause. JSON validates. + +**Release notes decision**: issue scoped dual-accumulate release-notes entries onto this +branch, but repo workflow keeps those on the divergent `docs/vscode-changelog` branch +(worktrees/changelog) so code + changelog branches reconcile cleanly at release. Asked +the architect/human: decision = leave changelog to that branch. This builder branch ships +ONLY the manifest fix. Architect handles CHANGELOG.md [Unreleased] + UNRELEASED.md Polish. + +No unit test: declarative manifest-only change, no runtime behavior. Verify via VS Code +Extension Development Host smoke (first-install shows the 4 views collapsed to headers). + +**Scope**: single declarative manifest change (4 keys added) + dual-accumulate release +notes (packages/vscode/CHANGELOG.md `[Unreleased]` + docs/releases/UNRELEASED.md Polish). +No source, no tests (declarative). Well within BUGFIX scope (<300 LOC). diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 5fd689111..eda796dab 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -864,10 +864,10 @@ { "id": "codev.workspace", "name": "Workspace", "when": "codev.hasWorkspace" }, { "id": "codev.agents", "name": "Agents" }, { "id": "codev.backlog", "name": "Backlog", "when": "codev.hasWorkspace" }, - { "id": "codev.pullRequests", "name": "Pull Requests", "when": "codev.hasWorkspace" }, - { "id": "codev.recentlyClosed", "name": "Recently Closed", "when": "codev.hasWorkspace" }, - { "id": "codev.team", "name": "Team", "when": "codev.teamEnabled && codev.hasWorkspace" }, - { "id": "codev.status", "name": "Status", "when": "codev.hasWorkspace || codev.ideMode" } + { "id": "codev.pullRequests", "name": "Pull Requests", "when": "codev.hasWorkspace", "visibility": "collapsed" }, + { "id": "codev.recentlyClosed", "name": "Recently Closed", "when": "codev.hasWorkspace", "visibility": "collapsed" }, + { "id": "codev.team", "name": "Team", "when": "codev.teamEnabled && codev.hasWorkspace", "visibility": "collapsed" }, + { "id": "codev.status", "name": "Status", "when": "codev.hasWorkspace || codev.ideMode", "visibility": "collapsed" } ], "codevPanel": [ { "id": "codev.placeholder", "name": "Codev", "when": "codev.panelContainerEmpty", "visibility": "collapsed" }, From 24ba08051312677112e53743bdc9eda326327c1d Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 10:49:33 +0700 Subject: [PATCH 4/8] chore(porch): bugfix-1169 pr phase-transition --- .../bugfix-1169-vscode-collapse-pull-requests-/status.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml index 6b5a2b600..60ad319d5 100644 --- a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml +++ b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml @@ -1,7 +1,7 @@ id: bugfix-1169 title: vscode-collapse-pull-requests- protocol: bugfix -phase: fix +phase: pr plan_phases: [] current_plan_phase: null gates: @@ -11,4 +11,4 @@ iteration: 1 build_complete: false history: [] started_at: '2026-07-13T03:33:32.344Z' -updated_at: '2026-07-13T03:34:11.887Z' +updated_at: '2026-07-13T03:49:33.222Z' From 46421b47d806ef8235a28ec510b97a17c708f530 Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 10:54:52 +0700 Subject: [PATCH 5/8] [Bugfix #1169] Test: pin collapsed default for the four lower-priority views Add manifest-invariant assertions (matching the existing #1144 view-gating tests) that codev.pullRequests / recentlyClosed / team / status contribute "visibility": "collapsed" and the primary views keep no override. Addresses CMAP (codex) feedback: the repo already protects manifest contracts with Vitest, so this bug is testable and should be locked down. --- .../__tests__/contributes-view-gating.test.ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/vscode/src/__tests__/contributes-view-gating.test.ts b/packages/vscode/src/__tests__/contributes-view-gating.test.ts index d56a0c0b0..d713e5c58 100644 --- a/packages/vscode/src/__tests__/contributes-view-gating.test.ts +++ b/packages/vscode/src/__tests__/contributes-view-gating.test.ts @@ -20,6 +20,7 @@ const PKG = JSON.parse( interface ViewContribution { id: string; when?: string; + visibility?: string; } interface ViewsWelcomeContribution { view: string; @@ -72,6 +73,25 @@ describe('workspace-bound views are gated on codev.hasWorkspace', () => { }); }); +describe('default view visibility (#1169: reclaim sidebar vertical space)', () => { + // `visibility` is a first-render-only default string VS Code reads from the + // manifest — no compile error catches a dropped "collapsed", and it only + // affects fresh installs, so a regression would silently ship. Pin it. + it.each(['codev.pullRequests', 'codev.recentlyClosed', 'codev.team', 'codev.status'])( + 'lower-priority view %s defaults to collapsed', + (id) => { + expect(viewById(id).visibility).toBe('collapsed'); + }, + ); + + it.each(['codev.workspace', 'codev.agents', 'codev.backlog'])( + 'primary view %s stays expanded (no visibility override)', + (id) => { + expect(viewById(id).visibility).toBeUndefined(); + }, + ); +}); + describe('viewsWelcome (empty-window surfaces)', () => { const loadingWelcome = viewsWelcome.find(w => w.when === '!codev.stateKnown'); const quadrantWelcomes = viewsWelcome.filter(w => w !== loadingWelcome); From 87373a767ee341463904d89e8dd61d4bf0aac4eb Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 10:55:45 +0700 Subject: [PATCH 6/8] [Bugfix #1169] Thread: PR + CMAP notes --- codev/state/bugfix-1169_thread.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/codev/state/bugfix-1169_thread.md b/codev/state/bugfix-1169_thread.md index e60fafadd..870a96899 100644 --- a/codev/state/bugfix-1169_thread.md +++ b/codev/state/bugfix-1169_thread.md @@ -27,8 +27,20 @@ branch, but repo workflow keeps those on the divergent `docs/vscode-changelog` b the architect/human: decision = leave changelog to that branch. This builder branch ships ONLY the manifest fix. Architect handles CHANGELOG.md [Unreleased] + UNRELEASED.md Polish. -No unit test: declarative manifest-only change, no runtime behavior. Verify via VS Code -Extension Development Host smoke (first-install shows the 4 views collapsed to headers). +Verify via VS Code Extension Development Host smoke (first-install shows the 4 views +collapsed to headers). + +## PR + +PR #1171 opened. CMAP: gemini=APPROVE, claude=APPROVE, codex=REQUEST_CHANGES. + +Codex was right: I'd waved off a regression test as "declarative, nothing to test", but +the repo already pins manifest contracts with Vitest (`contributes-view-gating.test.ts`, +`contributes-panel.test.ts`). Added a regression block to `contributes-view-gating.test.ts` +asserting the 4 lower-priority views carry `visibility: "collapsed"` and the 3 primary +views keep no override. `visibility` is a first-render-only string VS Code reads at +runtime — no compile error catches a dropped "collapsed" — so pinning it is warranted. +21 tests pass. Committed + pushed, PR body updated. Requested `pr` gate via porch done. **Scope**: single declarative manifest change (4 keys added) + dual-accumulate release notes (packages/vscode/CHANGELOG.md `[Unreleased]` + docs/releases/UNRELEASED.md Polish). From b05cb5708a25dd58c2b117949a6db3b566baccaf Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 10:55:54 +0700 Subject: [PATCH 7/8] chore(porch): bugfix-1169 pr gate-requested --- .../bugfix-1169-vscode-collapse-pull-requests-/status.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml index 60ad319d5..040ee9b2b 100644 --- a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml +++ b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml @@ -7,8 +7,10 @@ current_plan_phase: null gates: pr: status: pending + requested_at: '2026-07-13T03:55:54.046Z' iteration: 1 build_complete: false history: [] started_at: '2026-07-13T03:33:32.344Z' -updated_at: '2026-07-13T03:49:33.222Z' +updated_at: '2026-07-13T03:55:54.046Z' +pr_ready_for_human: true From 1294cf5a6cc2c4b4f0ca8519c8b24f2b32bc321c Mon Sep 17 00:00:00 2001 From: Amr Elsayed Date: Mon, 13 Jul 2026 13:03:16 +0700 Subject: [PATCH 8/8] chore(porch): bugfix-1169 pr gate-approved --- .../bugfix-1169-vscode-collapse-pull-requests-/status.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml index 040ee9b2b..00f0e728e 100644 --- a/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml +++ b/codev/projects/bugfix-1169-vscode-collapse-pull-requests-/status.yaml @@ -6,11 +6,12 @@ plan_phases: [] current_plan_phase: null gates: pr: - status: pending + status: approved requested_at: '2026-07-13T03:55:54.046Z' + approved_at: '2026-07-13T06:03:16.699Z' iteration: 1 build_complete: false history: [] started_at: '2026-07-13T03:33:32.344Z' -updated_at: '2026-07-13T03:55:54.046Z' -pr_ready_for_human: true +updated_at: '2026-07-13T06:03:16.700Z' +pr_ready_for_human: false