From 23ef5eb3a92cdb9f9f8f7de3124fd3b088bdcf9e Mon Sep 17 00:00:00 2001 From: Tristan Simas Date: Sun, 25 Oct 2026 02:56:53 -0400 Subject: [PATCH 1/2] Open draft PR before the unstarted-runtime context fix Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013ejYrMLnLWah8wCDDcb57V From 19c62d21357ca22d57e561ee1727fac5d8852654 Mon Sep 17 00:00:00 2001 From: Tristan Simas Date: Sun, 25 Oct 2026 02:59:15 -0400 Subject: [PATCH 2/2] Context side bar asks the runtime for its session observation ContextInspection.read rebuilt the saved-session observation from thread.runtime.path, which an unstarted thread cannot answer. The runtime family owns it now (agent-comms#3280). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_013ejYrMLnLWah8wCDDcb57V --- src/toad/core/context_inspection.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/toad/core/context_inspection.py b/src/toad/core/context_inspection.py index cb93450d6..7be09257f 100644 --- a/src/toad/core/context_inspection.py +++ b/src/toad/core/context_inspection.py @@ -15,13 +15,11 @@ from agent_comms.field_codec import FieldCodec from agent_comms.importing import ImportedSessionMetadata from agent_comms.mro_dispatch import handles -from agent_comms.native_session_files import NativeSessionFiles -from agent_comms.native_session_reopen import NativeSessionIdentity from agent_comms.native_turn_context import NativeContextData from agent_comms.pi_payloads import PiMessage from agent_comms.presentation import ReadState from agent_comms.registry_document import RegistryEntry -from agent_comms.session_revision import SessionObservation, SessionRevision +from agent_comms.session_revision import SessionObservation from agent_comms.thread_status import ActiveThreadPresence, ThreadStatus from agent_comms.turn_context import ( CodexRolloutProvenance, @@ -545,12 +543,8 @@ def read( tuple(resource.value for resource in page.resources), JevClassifier.version()) imported = ImportedSessionMetadata.sources_for_owner(comms.registry, thread) inspection_type = ThreadInspectionSource().project_value(entry.status) - files = NativeSessionFiles.for_identity( - NativeSessionIdentity.locate(thread.runtime.path), - root=comms.root, owner=thread.incarnation.require_recorded(), - ) - return inspection_type(entry, page, SessionRevision.observe(files), comms, - annotations, imported) + return inspection_type(entry, page, thread.runtime.session_observation(comms.root, thread), + comms, annotations, imported) async def acquire(self, revision: ReadState): return HoldingInspection(await self.acquire_core(), revision)