feat(minimal): route bare min to a session; add the non-TTY state twin - #1138
Conversation
Bare min printed help and went nowhere. In a terminal it now resolves or creates a session and attaches (the same smart-attach rules as min session attach, creating on first run; never the scaffold offer). Without a TTY it prints the cwd's session and blueprint state plus exact next commands on stderr and exits 0 — read-only, stdout empty, so pipelines and agents get orientation instead of a session they cannot use. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KyZLpkRf9G4A2hUDgDvn5f
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 47 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
Comment |
|
Closing for now |
Conflicts and reconciliation: - crates/minimal/src/main.rs: stdout_is_data_contract doc + tests — kept both the bare-min contract (this branch) and the task-run contract (#1139); the match arm union auto-merged. - crates/minimal/src/lib.rs (semantic, auto-merged textually): cmd_bare rewritten against #1142's SmartAttach enum — the picker's create row (CreateForCwd) and the first-run NoSessions case both create-and-attach on the bare path, scaffold offer suppressed; min session attach keeps its scaffold-offering activate_new_for_attach unchanged. Dropped this branch's status_label duplicate in favor of the identical helper #1144 added for the ls table.
The installer's parting line pointed at the long activate spelling because bare min went nowhere. With the router in this same change, the honest next command is min itself. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KyZLpkRf9G4A2hUDgDvn5f
|
Caught up to main (merge commit cde2817) and added the installer literal that ships with the router. Merge reconciliation:
Installer: the closing card's second command is now bare Re-verified after the merge: |
Bare
minprints help and exits, so the promised one-keystroke entry point goes nowhere; in a terminal it now resolves-or-attaches (creating a session on first run), and without a TTY it prints the cwd's state and exact next commands on stderr and exits 0 — never creating anything implicitly.min session attach(cwd match / only session / picker), plus create-and-attach when nothing exists. No scaffold offer on this path;min --helpunchanged.🤖 Generated with Claude Code
https://claude.ai/code/session_01KyZLpkRf9G4A2hUDgDvn5f
Note
Route bare
mininvocation to session attach or non-TTY state reportminwith a TTY now performs smart session resolution: it attaches to an existing session or creates and attaches one for the current directory, suppressing the scaffold prompt.minwithout a TTY prints a structured state report to stderr (session list, blueprint presence, suggested next commands) and exits 0 with empty stdout.activate_sessionis extracted as a shared async function used by both the bare router andcmd_activate, withcmd_activateretaining the scaffold offer.mininstead ofmin session activate --attach ..minno longer prints top-level help; stdout is now empty or contains only the session id, making it a stdout data contract.Macroscope summarized 348629e.