Mercurial
diff infinite_canvas/docs/agent-sessions.md @ 281:c57149ad216e default tip
Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 18 Aug 2026 22:18:15 -0700 |
| parents | 49e9e591c9bb |
| children |
line wrap: on
line diff
--- a/infinite_canvas/docs/agent-sessions.md Tue Aug 18 19:14:53 2026 -0700 +++ b/infinite_canvas/docs/agent-sessions.md Tue Aug 18 22:18:15 2026 -0700 @@ -24,8 +24,17 @@ `Canvas_Scene_Build_Visible_Context()` through the shared asynchronous `Inference_Bridge`. 6. The Bazel-managed Copilot SDK sidecar uses the `canvas_orchestrator` profile - and returns JSON choosing `create` or `append` and a conversation entity ID. - The canvas materializes that decision as a retained rich conversation card. + and returns JSON choosing `action` or `conversation` presentation, + `create` or `append` routing, a conversation entity ID, and optional typed + showcase entities. The canvas materializes only the requested surface. + +All submissions begin as one small pulsing Raylib/Lucide indicator anchored to +the board. Hovering reveals its working label, and dragging it changes the +world position where an eventual result or conversation is materialized. A +one-off action replaces it with the resulting entity or compact notification +and does not create another agent/session. Complex work creates a retained +conversation card after orchestration completes; continuations append to an +already-visible conversation. The scratchpad is excluded from serialized camera context because the submitted thought is already sent separately. Only conversation entities currently in @@ -41,12 +50,10 @@ gateway for authenticated GitHub Copilot inference. Only one orchestration request is admitted at a time in this prototype. -`agent_service_copilot.c` warms that orchestration session plus three reserved -worker sessions during initialization. They share the same -`canvas_orchestrator` profile and move Copilot SDK client/session setup ahead of -the first user turn. The persistent orchestrator is resumed when available; -reserved workers are created fresh because they have no conversation history -to recover, avoiding expected `session.resume` errors during startup. +`agent_service_copilot.c` warms only the persistent orchestration session +during initialization. This moves Copilot SDK client/session setup ahead of the +first user turn without creating unused worker sessions. The orchestrator is +resumed when available. ## Conversation entities @@ -78,6 +85,10 @@ - One persistent Dictation scratchpad is reused and cleared after submission. Submitted turns are retained in conversation entities after orchestration. - One Copilot request runs at a time. +- Simple `action` presentation stays in the primary orchestrator and does not + create a conversation card, worker, or sub-session. +- Agent-created entities pass through a strict type allowlist and count bound. + Browser and image entities accept only absolute HTTP(S) URLs. - Conversation transcript storage is currently bounded by `CANVAS_ENTITY_TEXT_CAPACITY`. - Linux uses the Copilot SDK bridge. Other platforms currently select an