agent: route interactive wakes through sessions - #796
Conversation
rho-ricon
left a comment
There was a problem hiding this comment.
Adversarial pass found no blocking issues.
I checked the updated shimmer agent path against the actual diff and sessions v0.4.11 wake/new behavior. The branch now resolves sessions after shimmer_prepare_agent_child_env, creates interactive sessions through sessions new, resumes by passing the provided session ID/name straight to sessions wake, forwards optional interactive --message, preserves selected-agent identity while scrubbing mise/caller env, and uses foreground exec sessions wake rather than resolving Pi directly in shimmer.
Validation I ran:
mise run test agentpassed, 40/40. The installed-sessions presence made the legacy missing-PATH skip fire, but the post-cleanup missing-sessions boundary test ran and passed.mise run testpassed, 181/181.gh pr checks 796 --watch=falseshows Ubuntu and macOS checks passing.
One degraded check: I did not launch a real interactive Pi wake because that would create/live-run an agent session, which the review packet explicitly disallowed. I instead verified the boundary through the task diff, the BATS mocks, and sessions v0.4.11 task implementation.
Manual interactive smoke passedOr exercised the PR branch end-to-end in a real terminal. Fresh launch: SHIMMER_CALLER_PWD=/tmp/shimmer-796-smoke \
mise -C /Users/rikonor/desks/ikma-shimmer-sessions-20260710/shimmer \
run agent --model openai-codex/gpt-5.5Observed:
Resume launch: SHIMMER_CALLER_PWD=/tmp/shimmer-796-smoke \
mise -C /Users/rikonor/desks/ikma-shimmer-sessions-20260710/shimmer \
run agent \
--session bed8adeb-aa10-4efa-9d30-405f8e1bd9c5 \
--model openai-codex/gpt-5.5 \
"Reply exactly: resumed successfully"The prior conversation was present, the initial message produced Setup friction unrelated to the branch behavior: invoking the global |
Summary
shimmer agentthroughsessions new+ foregroundsessions wakepi/AGENT_HARNESSresolution from the interactive pathInteractive execution now follows the intended dependency direction:
shimmer -> sessions -> pi. Sessions owns Pi resolution and keeps the foreground wake attached to the caller's terminal.Scope
This is the interactive-runtime slice of #757. It does not implement the dedicated OS-user defaults or
--shared-os-userbehavior described in that broader issue.Validation
mise run test test/agent/agent.bats(40/40)mise run test(181/181)codebase lint "$PWD"(9/9)readme build --checkgit diff --checkA live interactive wake was intentionally not run because this delegated desk was not authorized to mutate live agent sessions. The Shimmer tests prove delegation/arguments/environment behavior, while sessions v0.4.11 owns and tests the foreground Pi/TTY execution path.