Pre-turn "session_workspace" CTX block (STRING-KEYED — crosses the
Python boundary as session["workspace"]).
Sessions may work directly in trunk or inside an isolated backend
workspace. That distinction is reported on "sandbox", NOT
as a VCS. "vcs_kind" reports the underlying repository VCS ("git"
when the root is inside a git repo, else "none") so it matches the
git/ extension surface, which activates on the same predicate. The
model reads the workspace block to know the active root and what it has
changed since the fork. The block is stamped once per turn at engine
start; ctx_renderer serialises it verbatim.
Pre-turn `"session_workspace"` CTX block (STRING-KEYED — crosses the Python boundary as `session["workspace"]`). Sessions may work directly in trunk or inside an isolated backend workspace. That distinction is reported on `"sandbox"`, NOT as a VCS. `"vcs_kind"` reports the underlying repository VCS (`"git"` when the root is inside a git repo, else `"none"`) so it matches the `git/` extension surface, which activates on the same predicate. The model reads the workspace block to know the active root and what it has changed since the fork. The block is stamped once per turn at engine start; ctx_renderer serialises it verbatim.
(render-block {:keys [workspace session-state]})Project a hydrated {:workspace :session-state} pair into the
canonical "session_workspace" CTX map. STRING-KEYED — this block
crosses the Clojure↔Python boundary as session["workspace"], so it
carries no keyword keys/values at any depth ("vcs_kind" is the
stringified git/vcs-kind).
workspace identity — "root" "sandbox" "id" "label"
"filesystem_roots" (the workspace/ namespace folds away — the
block IS the workspace)
"changed" / "changed_paths" — since-fork edits
session linkage — "session_state_id" "session_id" "session_title"
"session_fork_of" (foreign namespaces stay folded)
Project a hydrated `{:workspace :session-state}` pair into the
canonical `"session_workspace"` CTX map. STRING-KEYED — this block
crosses the Clojure↔Python boundary as `session["workspace"]`, so it
carries no keyword keys/values at any depth (`"vcs_kind"` is the
stringified `git/vcs-kind`).
workspace identity — `"root"` `"sandbox"` `"id"` `"label"`
`"filesystem_roots"` (the `workspace/` namespace folds away — the
block IS the workspace)
`"changed"` / `"changed_paths"` — since-fork edits
session linkage — `"session_state_id"` `"session_id"` `"session_title"`
`"session_fork_of"` (foreign namespaces stay folded)cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |