Code review first minute: the in-room walkthrough is the product scene - #422
Merged
TheGreatAxios merged 11 commits intoAug 29, 2026
Conversation
Each reviewer definition carries a short introduction in its own voice. After the connect card's start-reviewing succeeds, the route hands the introductions to a new onReviewingStarted port and the hub posts them under each reviewer's own address, in roster order — the first thing a person reads after picking repos is who is reviewing and what for, not a join dump.
A connect-github card posted in the room's own voice renders as a scene, not a member's message: no author row, the job as its title, the promise beneath, and the walkthrough's steps listed with the current one marked in words. Once repos are recorded the card shows what it is reviewing instead of still offering Connect, with a change-repos link back to the pick; every state flips in place on the same row. Consecutive agent-joined rows collapse into one line naming everyone, so a template room opens on the scene and the reviewers' own introductions, never a join dump.
DESIGN.md, PRODUCT.md, the connect-cards doc, and the glossary now describe what shipped: a template is a Workbench Definition — default agents, routines, tools, plugins, ordered onboarding steps — that mints an empty channel with no host and runs its walkthrough as an in-room scene card; Code review's roster is three reviewers who introduce themselves once reviewing starts. Inviting teammates is a later slice.
Covers the walkthrough staying on pick-repos after change repos, an empty steps list drawing no rail, start-reviewing rejections keeping the picker and reporting through the error sink, introduction failures reporting with tenant and room, and a second start-reviewing not re-posting intros.
A change-repos click puts the walkthrough back on pick-repos instead of still marking Start reviewing. Empty steps no longer draw a blank rail. Start reviewing waits to settle before leaving the picker, and a rejection stays on the picker and reports through the error sink. Reviewer introductions post once per room; a later start-reviewing does not repeat them, and an introduction failure reports with tenant and room without failing the 200.
TheGreatAxios
force-pushed
the
cl-7101-first-minute-onboarding-ui
branch
from
August 27, 2026 23:37
9fade94 to
21e234c
Compare
A successful PAT can still leave github/state as kind error. The card treated every non-connected query as disconnected, so that failure remounted as a silent Connect GitHub CTA. The error message now renders as an alert with Reconnect.
TheGreatAxios
added a commit
that referenced
this pull request
Aug 29, 2026
…ng-ui Code review first minute: the in-room walkthrough is the product scene
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes CL-7101; delivers the identity beat from CL-6897 (parent CL-7098). Stacked on #421.
What changed
Reviewers introduce themselves. Each reviewer definition carries a short introduction in its own voice. After the connect card's Start reviewing succeeds,
onReviewingStartedhands the introductions to the hub, which posts them under each reviewer's own address in roster order — the first thing a person reads after picking repos is who is reviewing and what for.The card is a scene, not a member's message. A
connect-githubcard posted in the room's own voice renders with no author row: the job as its title, the promise beneath, and the walkthrough's steps listed with the current one marked in words (colour is additive, never the only signal). Once repos are recorded the card shows what it is reviewing with achange reposlink back to the pick — a connected card never still says Connect. Every state flips in place on the same row.No join dump. Consecutive agent-joined rows collapse into one line naming everyone; the reviewers' own messages are the identity beat.
Docs — DESIGN.md, PRODUCT.md, connect-cards, glossary describe the shipped flow; inviting teammates is explicitly a later slice.
Verification
bun run checkgreen. DOM tests: system-sender scene card has no author/avatar/"Member" chrome and titles from the block; step marker per live state (and no marker when the step count isn't three); Reviewing body lists repo names and contains no "Connect"; three consecutive joins collapse to one line, joins separated by a message stay separate.Owed before merge
/new → Code reviewis required.change reposthe step list still marks "Start reviewing — You're here"; an emptystepsarray draws an empty bordered list;onReviewingStartedrejections go to the route log rather than the error sink.