You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Exploratory umbrella issue. Frames the broader concept of what an engineer does when the focus-mode triage queue is empty. Picks a coherent vocabulary across multiple candidate sub-surfaces — but doesn't itself ship any one surface; that's the job of the per-surface sub-issues (#968 already exists; Vim-Snake and puzzles are listed below as candidates).
The trigger this umbrella addresses
Codev's workflow rhythm: spawn builders, wait, triage gates as they fire, repeat. #800's focus mode handles the busy side of the queue (multiple builders blocked, serve them one at a time). The empty side — when no builder is at a gate, no PR needs review, no message awaits — is a real interstitial state that today is dead time. The engineer context-switches off Codev, loses momentum, returns slow when something does fire.
There isn't one right thing to put in that empty space — there's a menu of complementary surfaces, picked by mood and minutes available. This issue defines that menu and the common UX vocabulary across it.
Two value axes, four-quadrant framing
Sub-surfaces split cleanly along two axes — who benefits (the project vs the engineer's own skill / state) × what kind of work (purposeful action vs recreation).
Project benefits
Engineer benefits
Purposeful action
Action queue (#968) — small grooming / curation microtasks on the backlog, lessons, reviews
(none listed yet — possible future: "spend 5 min reading a teammate's review you haven't seen"?)
Recreational / break
(deliberately empty — recreation that helps the project blurs into busy-work)
Vim-Snake skill-builder — game that teaches Vim motions via Snake controls. Brain puzzles — short cognitive puzzles for a mental reset
The menu offers what fits the engineer's current state. Some interstitials are 30 seconds (file a follow-up, relabel an issue); some are 2-3 minutes (a quick Snake round); some are "I need a mental break from this" (a puzzle).
Candidate sub-surfaces
Three concrete ideas in flight or proposed. Each has (or will have) its own issue for the actual implementation.
Surfaces one project-improving microtask at a time: relabel an issue, classify protocol, file a missed follow-up, dedupe lookalike issues, leave a quick comment on a sibling PR. Do / Skip / Exit vocabulary. Already filed; depends on #800 as a hard prereq. The "project benefits" quadrant.
2. Vim-Snake skill-builder (new — file as sub-issue at this umbrella's plan-gate)
The classic Snake game, controlled via Vim motions (hjkl for movement, possibly w/b for word-jumps, gg/G for snap-to-edges). The snake eats apples, grows, dies on collision — same as classic Snake. The win is that the engineer's reflex muscle memory for Vim builds up via gameplay rather than rote drill. Educational without feeling like a lecture; 1–3 min per round.
Design surface (for the sub-issue's plan-gate, not this umbrella):
Vim-motion vocabulary (start with hjkl only, add w/b/gg/G as the player ramps?)
Difficulty progression / scoring (or no scoring — just "play till you tire")
Theme integration (uses VSCode color tokens so it doesn't visually clash)
3. Brain puzzles (new — file as sub-issue at this umbrella's plan-gate)
Short cognitive puzzles for a mental reset between heavy triage sessions. Single round = 2–5 min. Not productivity-coded — explicitly a break, not a microtask.
Design surface (also deferred to sub-issue plan-gate):
Puzzle type — logic puzzles, pattern-matching, spatial reasoning, word-shape (exact format TBD; the umbrella doesn't pre-decide)
Generated vs curated content (procedural avoids running-out-of-puzzles; curated lets quality stay high but requires authoring)
All sub-surfaces share the entry point and the choice metaphor:
Entry: when #800's focus-mode queue exhausts, the exit screen offers "Continue with..." + a list of available sub-surfaces. Or summoned directly via Cmd+K I ("idle") / palette / sidebar action when the user just wants one.
Menu: at most one sub-surface active at a time. The engineer picks; nothing is auto-launched.
Exit: every sub-surface exposes the same Exit action (Esc keystroke). Returns the engineer to the regular sidebar state.
No streaks / no graded performance: even the games. The umbrella's purpose is to fill dead time with something the engineer chose, not to score the engineer. Sub-surfaces may have intrinsic progression (puzzles get harder, Snake difficulty ramps) but never a "you've done X today!" badge.
Design questions for plan-approval (umbrella-scoped)
Discovery vs default. The first time a user lands on the menu, do we explain what each option is (one-time tour), or trust that the labels are self-explanatory?
Mood-mapping. Do we just list the surfaces, or describe them by mood ("want to tidy something?" / "want a quick game?" / "want a break?")? The latter is more inviting but more opinionated.
Engineer-quadrant project-flavored sub-surface? Today's table has a deliberately empty quadrant (recreation that helps the project). Is that empty by definition (recreation can't help the project) or because we haven't thought of one yet? E.g. "spend 5 min reading a recent teammate review you haven't seen" sits ambiguously between action queue and learning surface.
Not a notification source. Nothing in the menu interrupts the user — only appears when they look.
Not auto-launching. Even the menu itself isn't pushed; it's offered via the focus-mode exit screen + explicit command.
Not a productivity tracker. Sub-surfaces don't report engineer activity anywhere — no "you spent X minutes on grooming this week" surface.
Acceptance (loose pending plan-gate)
Umbrella vocabulary documented somewhere durable (likely codev/resources/arch.md once a sub-surface ships) — entry / menu / exit, the mood-pick framing, the no-grading commitment
At least two sub-surfaces from different quadrants exist as separate filed issues with consistent UX vocabulary
User who never uses any of these surfaces sees zero change to the rest of the extension (opt-in by definition — empty queue + no menu interaction = same as today)
Why "project" / not feature
Frames a broader product concept with multiple sub-surfaces. Each sub-surface (incl. #968 and the to-be-filed Vim-Snake / puzzles) is its own implementation issue. This umbrella's job is to keep them consistent.
The trigger this umbrella addresses
Codev's workflow rhythm: spawn builders, wait, triage gates as they fire, repeat. #800's focus mode handles the busy side of the queue (multiple builders blocked, serve them one at a time). The empty side — when no builder is at a gate, no PR needs review, no message awaits — is a real interstitial state that today is dead time. The engineer context-switches off Codev, loses momentum, returns slow when something does fire.
There isn't one right thing to put in that empty space — there's a menu of complementary surfaces, picked by mood and minutes available. This issue defines that menu and the common UX vocabulary across it.
Two value axes, four-quadrant framing
Sub-surfaces split cleanly along two axes — who benefits (the project vs the engineer's own skill / state) × what kind of work (purposeful action vs recreation).
The menu offers what fits the engineer's current state. Some interstitials are 30 seconds (file a follow-up, relabel an issue); some are 2-3 minutes (a quick Snake round); some are "I need a mental break from this" (a puzzle).
Candidate sub-surfaces
Three concrete ideas in flight or proposed. Each has (or will have) its own issue for the actual implementation.
1. Action queue (#968) — project-grooming microtasks
Surfaces one project-improving microtask at a time: relabel an issue, classify protocol, file a missed follow-up, dedupe lookalike issues, leave a quick comment on a sibling PR. Do / Skip / Exit vocabulary. Already filed; depends on #800 as a hard prereq. The "project benefits" quadrant.
2. Vim-Snake skill-builder (new — file as sub-issue at this umbrella's plan-gate)
The classic Snake game, controlled via Vim motions (
hjklfor movement, possiblyw/bfor word-jumps,gg/Gfor snap-to-edges). The snake eats apples, grows, dies on collision — same as classic Snake. The win is that the engineer's reflex muscle memory for Vim builds up via gameplay rather than rote drill. Educational without feeling like a lecture; 1–3 min per round.Design surface (for the sub-issue's plan-gate, not this umbrella):
hjklonly, addw/b/gg/Gas the player ramps?)3. Brain puzzles (new — file as sub-issue at this umbrella's plan-gate)
Short cognitive puzzles for a mental reset between heavy triage sessions. Single round = 2–5 min. Not productivity-coded — explicitly a break, not a microtask.
Design surface (also deferred to sub-issue plan-gate):
Common UX vocabulary (set by this umbrella)
All sub-surfaces share the entry point and the choice metaphor:
Cmd+K I("idle") / palette / sidebar action when the user just wants one.Esckeystroke). Returns the engineer to the regular sidebar state.Design questions for plan-approval (umbrella-scoped)
What this umbrella isn't
Acceptance (loose pending plan-gate)
codev/resources/arch.mdonce a sub-surface ships) — entry / menu / exit, the mood-pick framing, the no-grading commitmentWhy "project" / not feature
Frames a broader product concept with multiple sub-surfaces. Each sub-surface (incl. #968 and the to-be-filed Vim-Snake / puzzles) is its own implementation issue. This umbrella's job is to keep them consistent.
Related