WIP

My own open PRs, grouped by repo. See the colour legend and shape-family.

Two things are orthogonal here:

  • Grouping (how rows nest) — shipped today, three modes.
  • Row layout (what each row shows) — today a single compact format; proposed below is a layout cycle borrowed from Requests.

Grouping modes (today)

Row format today: wt-badge · icon · age · kind · #N · branch.

Grouping modes — today
Row: wt-badge  icon  age  kind  #N  branch

Repo-only (default)
WIP (3)
  decknix
    ⎇*  15d pr    #123 feature/foo
    ↓  π  2d draft #130 dependabot/npm/lodash
  decknix-config
    ⎇    1h wip   feature/bar

Workspace → repo
WIP (4)
 ~/tools/decknix
    ⎇*  15d pr    #123 feature/foo
    ⎇    1h wip   feature/bar
 ~/Code/foobar
    ↓  π  2d draft #130 dependabot/npm/lodash

Workspace → repo → worktree
WIP (2)
 decknix
   ↓  π  2d draft #130 dependabot/npm/lodash
 foobar
   monolith
     ↓  π  2d draft #130 dependabot/npm/lodash

The last row in "Repo-only" is a worktree placeholder — a (repo, branch) in the worktree registry with no matching open PR yet (⎇ … wip), so freshly-created worktrees appear before gh pr create indexes (hub.el:2722).

Proposed columnar layout (draft)

Status: proposal for review. Not implemented. Borrows the Requests layout cycle (D) and the linked-PR signal zone so WIP carries the same scannable pipeline columns as Live's linked-PR rows.

Grouping stays as above; what changes is the row. A new D cycle:

Proposed A — Full (columnar)

wt · #N · age₃ · state₆ · CI · b · c · ✓ · [⚠] · DTSP · branch (the linked-PR signal zone, reused verbatim).

Proposed columnar layout (draft)
Column order: wt  #N  age  state  CI  b  c  ✓  [⚠]  DTSP  branch

Proposed A — Full
WIP (3)
  decknix
    ⎇* #123  2d open     b c       feature/foo
    ↓  #130  2d draft    b · ?    dependabot/npm/lodash
  decknix-config
    ⎇  #—    1h wip                   feature/bar

B — Scoped:    wt  icon  state  branch
C — Label:     wt  icon  state-label₁₆  branch
D — Minimal:   icon  age  kind  #N  branch  (today's default)

Proposed B/C/D

Mirror Requests so muscle memory transfers:

  • B — Scoped: wt · icon · state · branch (phase-aware, drops the signal zone).
  • C — Label: wt · icon · state-label₁₆ · branch (e.g. CI failing).
  • D — Minimal: today's compact row (icon · age · kind · #N · branch) — keeps the current default as the floor of the cycle.

Open questions for review

  • Does the signal zone belong on my own PRs, or is b/c/ noise when I'm the author? (Requests uses it for PRs I review.)
  • Placeholder rows have no PR — should they dim the whole signal zone (shown) or omit it and left-align the branch?
  • Should D (layout) and the grouping toggle share one key or stay separate?

Toggles (the T → WIP group, today)

KeyToggleEffect
Lhide linkedhide PRs already live as sessions
mstalehide MERGED/CLOSED (default on); off shows stale rows
Ppipelinedeploy (DTSP) indicators
r↩ replies-to-meparallel to Requests, own state
n💬 comments
u🤖 bot-review

Source

  • WIP renderer: agent-shell/hub-bulk/decknix-agent-shell-hub.el
  • Placeholder rows: decknix--hub-wip-placeholder-rows, hub.el:2722
  • Signal-zone formatter (to be reused): decknix--hub-pr-format-line, hub.el:2003