Skip to content

feat(inbox): scannable cards, followups, triage, confirm-all - #235

Merged
st0nefish-ci[bot] merged 1 commit into
masterfrom
worktree-wip-inbox-list-formatting
Nov 6, 2026
Merged

st0nefish-ci[bot] merged 1 commit into
masterfrom
worktree-wip-inbox-list-formatting

Conversation

@St0nefish

Copy link
Copy Markdown
Owner

Summary

The inbox list output was a wall of same-weight lines. This reworks it so you can see "what was asked, what was decided" at a glance, and adds a third item kind.

  • Card formatting: inbox list --format text|md leads with the question, then the pick; alternatives sit on one subordinate instead: line and context is hidden unless --full. Plain list and --json are unchanged. Agents are taught to write question-style titles and short answers, with stderr hints when the convention is broken.
  • /inbox:confirm with no args confirms all open decisions; args override.
  • /inbox:triage: interactive one-by-one pass via AskUserQuestion (questions, then decisions with "Approve" pre-selected).
  • Followups (F<n>): new kind for work to consider before wrapping up. add/update/done, --kind followup, old state files backfilled. Quiet like decisions. New record-followup (model) and /inbox:followups (checklist plus live loose-ends sweep) skills; SessionStart re-injects open followups after compact/clear; statusline gets a dim ☐ N segment (showFollowups).
  • session-end now reviews open followups alongside decisions.
  • Includes the pending .claude/settings.json change (removes the session-history-analyzer plugin, reorders keys).
  • Versions: inbox 1.1.0, statusline 3.5.0, notify-on-stop 1.1.2, session 4.12.1.

Test plan

  • bash tests/inbox/test-inbox.sh (128 pass) and bash tests/inbox/test-inbox-hook.sh (21 pass), covering formats, clipping, escaping, followups, old-state backfill, hook quietness and compact re-injection
  • bash .github/scripts/validate-all.sh passes (local rumdl 0.2.78 vs CI pin 0.2.69)
  • Two medium code-review passes; real findings fixed (Stop hook context clipping, clip boundary, option newline splitting, help layout)
  • Not covered: the statusline TSX change is not type-checked in CI

🤖 Generated with Claude Code

List output was a wall of same-weight lines. Render cards that lead with the
question and the pick, push alternatives and context down, and add a third
item kind for work to consider before wrapping up.

- utils/inbox: list --format line|text|md cards, --full for everything;
  stderr hints for the question-style writing convention; followup kind
  (F<n>: add/update/done, --kind followup, old state files backfilled);
  options with newlines are no longer split
- hook: Stop prints question cards with full context; SessionStart documents
  three kinds, followup commands, and the writing rule, and re-injects open
  followups after compact/clear
- skills: /inbox:confirm with no args confirms all decisions; new
  /inbox:triage (AskUserQuestion, one item at a time) and /inbox:followups
  (checklist plus live loose-ends sweep); record-followup; viewers use md
- session-end reviews open followups alongside decisions
- statusline: dim checkbox segment for open followups (showFollowups)
- include the pending .claude/settings.json change (drops the
  session-history-analyzer plugin, reorders keys)
- versions: inbox 1.1.0, statusline 3.5.0, notify-on-stop 1.1.2, session 4.12.1
- tests for formats, followups, backfill, hook quietness and compact re-injection

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@st0nefish-ci
st0nefish-ci Bot enabled auto-merge November 6, 2026 18:29
@st0nefish-ci
st0nefish-ci Bot merged commit 8c13e79 into master Nov 6, 2026
8 checks passed
@st0nefish-ci
st0nefish-ci Bot deleted the worktree-wip-inbox-list-formatting branch November 6, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant