Repository navigation
Conversation
Build the first usable Next journey on the #408 seam and #409 primitives: workspace line, transcript, status, persistent multiline composer and one inspector. - Layout follows the accepted #421 thresholds: Focus below 80x24, Single below 120x32 (inspector replaces the main pane), Split at 120x32 and up (transcript, divider, 40-60 column inspector). Rows degrade in a fixed priority so 20x6 and smaller never underflow or hide the composer. - One inspector (Activity, Session, Views) layered over the composer's keys: Escape closes it before anything else, Tab pages, the draft and cursor stay editable. Views lists Work, Research and Memory as unavailable with their blocking issue instead of placeholder content. - A scrolled reader keeps their position while output streams, sees a new-activity notice and returns with jumpToLive. Tool starts never move focus or position. - Escape during streaming now records a cancel request that the loop performs through the turn's token, so the runtime actually stops; it previously only reset presentation state while the turn kept running. Next shows cancelling until no worker remains. - Terminal cursor sits in the composer for IME input; unsent drafts are labeled; images and documents render as text stand-ins; Next registers its transcript as the selection target. - Inspector context and toggleInspector/jumpToLive bindings go through the configurable keybinding system; Classic treats the new chords as unbound. - tmux journey case drives a fresh-home Next session through draft, inspector, paste, submit, stream, scroll, resize, jump, cancel and quit against a fake claude, then checks terminal restoration. Refs #410
- Show the confirmed outcome: settling a cancellation reports "Cancelled." after the loop clears the turn status; a remote-control cancel stays pending until the worker stops. - Keep the composer cursor row visible in drafts taller than the composer and count wrapped rows with the same walk wrap_line uses, so wide characters on earlier lines no longer misplace the cursor. - Reading anchor: track signed row changes below the reader (growth and removal), rescale on rewrap, clamp to the scrollable range. - Bound inspector scrolling; show voice recording in the status line. - Regenerate the default keybinding golden for the eight new bindings. - tmux case: resize at each step, make the completion check real, and check that Escape stops a running turn in Classic too. Refs #410
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Keys typed while the app is still exiting are read by it and lost, which made the cooked-mode check intermittently fail. Refs #410
This was referenced Nov 1, 2026
Runtime cancellation through the turn's token, the pending 'cancelling' state and the settled outcome now apply to the Next renderer only. Classic resets its screen state as before, and its docs paragraph is restored. Refs #410
…feat/410-next-shell
This branch was successfully deployed
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.
Refs #410. Stacked on #427 (#409), which is stacked on #426 (#408). Retarget to
mainafter those merge. Classic stays the default renderer.What this ships
The first usable Next journey (
COVEN_CODE_UI=next): launch from a fresh home, see the workspace, write a multiline draft, submit, stream, scroll, inspect, cancel and quit.next/layout.rs) follows the accepted docs: establish the TUI v2 source and compatibility baseline #421 thresholds. Below 80x24 is Focus, and below 120x32 is Single; in both the inspector replaces the main pane. At 120x32 and up, Split shows a transcript of at least 72 columns, a divider and a 40 to 60 column inspector. Rows are given out by priority (composer, status, header, rule, main, hints), so 20x6 down to 0x0 never underflows or hides the composer.(unverified)because a display name is not identity before [TUI v2][P0] T5: unify session/familiar navigation, identity visibility, and reconnect recovery #412. Optional parts are dropped from the end when they don't fit.Inspectorkeybinding context is layered overChat, so Escape closes the inspector first, Tab pages through it, and every other key still edits the draft. Views lists Work, Research and Memory as unavailable with their blocking issue ([TUI v2][P1] T6: expose Psyche-backed tasks, dependency tracking, lanes, and durable goals natively #413, [TUI v2][P1] T7: add a native research workbench with source provenance, citations, and resumable artifacts #414, [TUI v2][P1] T8: add a private, read-only familiar-memory inspector and explicit context selection #415); nothing is placeholder content. Commands remain the existing Ctrl+K palette and/suggestions.cancellinguntil no worker remains, thenCancelled.. A remote-control cancel also waits for the runtime.draft not sent. Pasted newlines or/text never submit, and large pastes keep the existing placeholder.[image shot.png 640x480]. Voice recording shows in the status line.Classic is unchanged
Every new behavior is limited to Next. Classic's Escape and Ctrl+C handling, keys, goldens and docs match the #409 head.
A Classic bug was found and left alone. Escape during streaming only resets the screen: the turn keeps running and its output lands later, while the docs say Escape stops generation. This was reproduced on
a65df294with a fakeclaude. Next cancels through the turn's token. Fixing Classic the same way is a one-line change, which can be its own PR if you want it.Review
An independent reviewer read
faf60b8. The second commit resolves the findings:settle_cancellationreportsCancelled.note_cancellation_sentkeeps it pendingwrap_lineusesThe five new unit tests fail on
faf60b8and pass on the fix.Not changed, recorded here instead:
alt+i alt+j, now resolves at the first key. Rebind or unbind the new action to restore it.CHAT_FIXED_ROUTES.Verification
All results are on the head of this PR.
cargo test -p claurst-tui --locked --test next_shellcargo test --workspace --locked --no-fail-fastcargo clippy --workspace --all-targets --locked -- -D warnings08_next_shell(real binary, fakeclaude, disposable home)51a7705)The fake
claudeproves the shell journey only. It is not evidence for tools, approvals (#411), sessions (#412), tasks, research or memory.Still open for #410