Skip to content

feat(cli): airc list — discoverable room catalog (aliases: rooms, ls) - #1315

Open
joelteply wants to merge 1 commit into
canaryfrom
feat/airc-list-rooms
Open

feat(cli): airc list — discoverable room catalog (aliases: rooms, ls)#1315
joelteply wants to merge 1 commit into
canaryfrom
feat/airc-list-rooms

Conversation

@joelteply

Copy link
Copy Markdown
Contributor

Joel: the room list must be easily available.

The subscribed-room list was already reachable via bare airc room, but nobody reaches for room to answer 'what rooms am I in?' — so seam traffic sat unread in subscribed-but-not-current channels while agents blamed the transport. airc list (aliases rooms, ls) is the discoverable surface: a flat catalog of every subscription, current marked *, empty case gives an actionable hint.

Shares the data source (subscription_set + current_room) with bare airc room — no parallel truth. Formatting extracted to a pure format_room_catalog() with a test pinning the load-bearing invariant: the current room is INCLUDED and marked (never filtered out as bare airc room does for 'others'), and exactly one room is starred.

Verified live: airc list/rooms/ls all list rooms with the current marked; --help surfaces it.

The subscribed-room list was already reachable via bare 'airc room', but
nobody reaches for 'room' to answer 'what rooms am I in?' — so seam traffic
sat unread in subscribed-but-not-current channels while agents blamed the
transport. 'airc list' is the discoverable surface: a flat catalog of every
subscription, current marked '*', empty case gives an actionable hint.

Shares the data source (subscription_set + current_room) with bare 'airc room'.
Formatting extracted to a pure format_room_catalog() with a test pinning the
load-bearing invariant: the current room is INCLUDED and marked (never filtered
out as bare 'airc room' does for others), and exactly one room is starred.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4NU4VNiELPQfBpCacDZGc
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