You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`session_execute`| Run one bounded sandbox execution task | command/script, runtime, intent, timeout, `root_session_id`| bounded result, summary, optional artifact/index handle |primary replacement for raw data-heavy Bash workflows|
215
-
|`session_execute_file`| Run one bounded sandbox file-processing task | path(s), processing intent, runtime/handler, `root_session_id`| findings, summary, optional artifact/index handle |primary replacement for raw file-dump analysis|
216
-
|`session_batch_execute`| Combine multiple execute/search sub-operations into one call | list of execute/search/file subrequests, `root_session_id`| bounded multi-result response + handles | sequential in v1; no hidden parallelism|
217
-
|`session_index`| Normalize and locally index supplied content into the hot-tier corpus | content or pre-normalized text, source metadata, `root_session_id`| corpus id, chunk count, query hints | local-only indexing; no Graphiti involvement |
218
-
|`session_search`| Query the local indexed corpus for the canonical root session | query or query list, optional corpus filters, `root_session_id`| ranked bounded snippets + corpus/chunk refs | searches only local session-scoped indexed data |
219
-
|`session_fetch_and_index`| Fetch a URL in sandbox, normalize it, then index it locally | url, fetch options, content-type hint, `root_session_id`| corpus id, summary, query hints | primary replacement for native `WebFetch`|
220
-
|`session_stats`| Show local context-savings and tool/index activity for the root session | optional scope, `root_session_id`| counters, byte ratios, corpus counts, queue depth | in scope |
221
-
|`session_doctor`| Diagnose MCP/plugin/hot-tier health | optional checks, `root_session_id`| health report for Redis, hooks, cache, Graphiti connectivity | in scope |
|`session_execute`| Run one bounded sandbox execution task | command/script, runtime, intent, timeout| bounded result, summary, optional artifact/index handle |canonical root session resolves implicitly from runtime context |
215
+
|`session_execute_file`| Run one bounded sandbox file-processing task | path(s), processing intent, runtime/handler| findings, summary, optional artifact/index handle |canonical root session resolves implicitly from runtime context |
216
+
|`session_batch_execute`| Combine multiple execute/search sub-operations into one call | list of execute/search/file subrequests| bounded multi-result response + handles | sequential in v1; no hidden parallelism; canonical root resolves implicitly|
217
+
|`session_index`| Normalize and locally index supplied content into the hot-tier corpus | content or pre-normalized text, source metadata| corpus id, chunk count, query hints | local-only indexing; no Graphiti involvement|
218
+
|`session_search`| Query the local indexed corpus for the canonical root session | query or query list, optional corpus filters| ranked bounded snippets + corpus/chunk refs | searches only local session-scoped indexed data|
219
+
|`session_fetch_and_index`| Fetch a URL in sandbox, normalize it, then index it locally | url, fetch options, content-type hint| corpus id, summary, query hints | primary replacement for native `WebFetch`|
220
+
|`session_stats`| Show local context-savings and tool/index activity for the root session | optional scope| counters, byte ratios, corpus counts, queue depth | in scope|
221
+
|`session_doctor`| Diagnose MCP/plugin/hot-tier health | optional checks| health report for Redis, hooks, cache, Graphiti connectivity | in scope|
222
222
223
223
### 5.2 Scope decision for `session_upgrade`
224
224
@@ -240,10 +240,12 @@ replacement milestone, the validation bar, or the migration work.
240
240
The following defaults are mandatory unless later superseded by a narrower
241
241
implementation plan:
242
242
243
-
1. Every `session_*` tool must accept `root_session_id`.
244
-
2. In OpenCode, the plugin must populate `root_session_id` in
245
-
`tool.execute.before` for every `session_*` call using canonical root-session
246
-
resolution from `src/session.ts`.
243
+
1. Every public `session_*` tool request resolves the canonical root session
244
+
implicitly from runtime context; callers must not pass `root_session_id`.
245
+
2. In OpenCode, the plugin/runtime must preserve canonical root-session context
246
+
for every `session_*` call using canonical root-session resolution from
247
+
`src/session.ts`, without mutating the public request contract to require
248
+
`root_session_id`.
247
249
3.`session_*` tools are session-scoped by default; they do not create
248
250
indefinite project-wide local corpora.
249
251
4. If a full result exceeds the bounded response budget, the tool must
@@ -523,14 +525,14 @@ architecture” to “enforcement + continuity around the MCP-first runtime.”
|`tool.execute.before`|populate canonical `root_session_id` on `session_*` calls; enforce fallback from risky native tools toward `session_*`; never become the main execution engine|
529
-
|`tool.execute.after`| capture bounded tool events, context-savings stats, artifact refs, and routing outcomes; never rewrite large raw output after the fact as the primary mechanism |
530
-
|`chat.message`| assemble local `<session_memory>` from events, snapshot, and cached persistent memory; schedule async refresh decisions only |
531
-
|`experimental.chat.messages.transform`| prepend the prepared `<session_memory>` envelope to the last user message |
532
-
|`experimental.session.compacting`| inject the same prepared local continuity envelope into compaction |
|`tool.execute.before`|preserve canonical root-session context for `session_*` calls and enforce fallback from risky native tools toward `session_*`; never become the main execution engine |
531
+
|`tool.execute.after`| capture bounded tool events, context-savings stats, artifact refs, and routing outcomes; never rewrite large raw output after the fact as the primary mechanism |
532
+
|`chat.message`| assemble local `<session_memory>` from events, snapshot, and cached persistent memory; schedule async refresh decisions only |
533
+
|`experimental.chat.messages.transform`| prepend the prepared `<session_memory>` envelope to the last user message |
534
+
|`experimental.session.compacting`| inject the same prepared local continuity envelope into compaction |
0 commit comments