Improve session navigation, model discovery, and background commands - #2068
Merged
Conversation
Resident summaries carry model info for all session kinds; only the renderer restricted the label to subagent rows. Drop the special case so any row whose summary has a model renders provider/id[:thinkingLevel] in the suffix region, still suppressed while pending delete/kill.
Preserve serialized private model authorization and shared atomic cache writes. Retain compact model IDs, full session details, and immediate opening.
This was referenced Sep 7, 2026
Preserve sibling PATH and reject root creation after disposal. Treat background completions as new runs without duplicate as_completed wakes. Keep table delimiters visible and sanitize live catalog display metadata. Scope the stale-auth regression fixture to its cached Prime team.
Preserve alias priority and runtime credential identity when creating sibling sessions. Pin that a create timeout never dispatches the task prompt.
Preserve late as_completed consumers without suppressing detached completion notices. Document the cached-wrapper result limitation.
Wait for process-group cleanup before releasing residency. Defer paused admission within the original request and report terminal rejection. Preserve notices after cancelled non-owning waits and clean up interrupted task construction.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 96f3620. Configure here.
Keep immediate POSIX cleanup and use the existing Windows job cleanup path without referencing SIGKILL.
…unches Deliver labeled shell completion messages at the next safe turn boundary. Stop only an owned replacement child that loses to a current authenticated supervisor.
sethkarten
self-requested a review
September 7, 2026 06:15
sethkarten
approved these changes
Sep 7, 2026
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.

Summary
Shell message receivednotices through steering at the next safe boundary, without interrupting running tools.Validation
npm run checkpassed.Limitations
Supersedes #2079, #2073, #1145, #1928, #1996, #2053, and #2087.
RES-1308, RES-1314, RES-1275, ENG-5282, RES-1239, RES-1256
Note
Medium Risk
Touches model catalog merging, auth cache migration, daemon session creation, and injected steering messages—important runtime paths with fallbacks, but broad surface area and behavior changes for operators.
Overview
This PR extends Prime Inference model discovery end-to-end: a shared catalog parser in
pi-aireads live/modelspricing and specs (with validation and safe code generation viarender-models.ts), while the agent merges bundled models with a disk cache and background refresh (PI_OFFLINE=1skips network). Authorized private routes now return full model metadata, not just ID sets, and the private-auth cache format stores catalog entries accordingly.The agents view is redesigned around a compact table (session, model on every row, activity, cost/age), inactive sessions collapse by default (
alt+i), subagents expand from agent rows (alt+right), and Enter no longer blocks on a loading anchor—opening the selected row always works.RLM/runtime: depth-0 daemon sessions gain
rlm.create_sessionfor sibling top-level sessions with inherited provider credentials; detachedbash()process groups emit steering “Shell message received” notices at the next safe boundary while keeping the kernel/session resident until completion. Editor and message UI highlight@pathreferences and--flags(including queued previews).Daemon: supervisor replacement launches verify authenticated ownership before treating a child as the winner, and kill losing contenders.
Reviewed by Cursor Bugbot for commit 5eee936. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add background Bash completion tracking, live Prime Inference model refresh, compact agents view, and RLM root session creation
bash.completednotifications only when the handle was not awaited by that cell. Sessions stay resident while background Bash work is active (bash.py, repl.py, agent-session.ts).rlm.create_session, which validates inputs, transfers credentials, creates a resident depth-0 session, and returns a typedRLMCreateSessionHandle(daemon-mode.ts, rlm/init.py).@-references and--options in editors, queued previews, and sent user messages via grapheme-aware masking (prompt-highlight.ts, user-message.ts).isPrivatePrimeInferenceModelnow uses shared classification (case-insensitiveinternal/,dev/, or colon-containing IDs) instead of only theinternal/prefix; replacement supervisor launch validates PID-bound authenticated claims and kills competing replacements.Macroscope summarized 5eee936.