Problem
Open the packaged IDE (codev-vscode 3.3.4) with NO folder. The extension resolves its workspace to $HOME and the status bar + activity-bar badge render Codev: 0 builders · ⚠ 25 held — 25 real held rows in Tower's mailbox scoped to workspace_path=$HOME (reason no-live-pty, newest 2026-09-04, left by an old architect session run from the home directory). The display is truthful about the database and useless to the user: the mail belongs to no project the user is looking at, and afx inbox inside any actual repo cannot see it (inbox is workspace-scoped), so the badge points at something the obvious CLI cannot show.
Corroboration from another machine-context: an unscoped Tower /api/overview probe on the same Tower reports heldCount: 25, mailboxEscalated: true — the $HOME rows dominate the global count.
Fix shape (hypothesis, for the builder to validate)
An empty window must not adopt $HOME as a Codev workspace for mailbox/badge purposes. Either:
- render no Codev mailbox state when the resolved workspace is not a Codev project (no
.codev/, no codev/, or equal to the user's home dir), or
- if the count is shown at all, label it with the workspace path it belongs to ("25 held in /Users/") so it cannot read as current-project state.
Same rule for the activity-bar badge and status chip. The workspace-resolution predicate should be shared, not per-surface.
Related
Problem
Open the packaged IDE (codev-vscode 3.3.4) with NO folder. The extension resolves its workspace to
$HOMEand the status bar + activity-bar badge renderCodev: 0 builders · ⚠ 25 held— 25 real held rows in Tower's mailbox scoped toworkspace_path=$HOME(reasonno-live-pty, newest 2026-09-04, left by an old architect session run from the home directory). The display is truthful about the database and useless to the user: the mail belongs to no project the user is looking at, andafx inboxinside any actual repo cannot see it (inbox is workspace-scoped), so the badge points at something the obvious CLI cannot show.Corroboration from another machine-context: an unscoped Tower
/api/overviewprobe on the same Tower reportsheldCount: 25, mailboxEscalated: true— the $HOME rows dominate the global count.Fix shape (hypothesis, for the builder to validate)
An empty window must not adopt
$HOMEas a Codev workspace for mailbox/badge purposes. Either:.codev/, nocodev/, or equal to the user's home dir), orSame rule for the activity-bar badge and status chip. The workspace-resolution predicate should be shared, not per-surface.
Related
no-live-ptyheld rows never age out and workspace-scopedafx inboxhides other workspaces' mail — that issue covers why 3-week-old rows existed to be miscounted at all.