summaryrefslogtreecommitdiffhomepage
path: root/tasks.md
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-05 01:14:29 +0900
committerAdam Malczewski <[email protected]>2026-06-05 01:14:29 +0900
commit64e9688cc27ceea6eba442d156868d82d7aafb75 (patch)
tree412b00ae47a98d3f1e46a953798122c750e8abde /tasks.md
parent7fca88f2ef9cf6eb9c8679844419241a12dd670f (diff)
downloaddispatch-64e9688cc27ceea6eba442d156868d82d7aafb75.tar.gz
dispatch-64e9688cc27ceea6eba442d156868d82d7aafb75.zip
feat(tool-read-file): add read_file tool extension + wire into host-bin
First TOOL extension (standard tier, fs capability). Pure-core/shell split with workdir containment (realpath symlink guard). host-bin registers it in CORE_EXTENSIONS; flows into runTurn via session-orchestrator's resolveTools. Verified: typecheck clean, 214 tests pass (was 185), biome clean. Live curl against flash produced a real tool-call + tool-result round-trip with correct final answer. Proves the kernel tool-dispatch loop end-to-end (plan §3.3).
Diffstat (limited to 'tasks.md')
-rw-r--r--tasks.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/tasks.md b/tasks.md
index e523923..83e9bf7 100644
--- a/tasks.md
+++ b/tasks.md
@@ -84,3 +84,19 @@ returned a real response with auth-apikey on the path (boot log shows auth-apike
activates before provider; provider registered = creds resolved through contract).
NOTE: host-bin's `buildPostActivationHostAPI` stub is slated for removal in Step 3
(host CR-1). Summons: prompts/step1-kernel-host.md, prompts/step1-provider.md (mimo-v2.5-pro).
+
+### Step 2 — First TOOL extension (read_file) [x] DONE (verified live)
+New unit `packages/tool-read-file/` (owner-agent, mimo-v2.5-pro). Pure-core/shell
+split: `createReadFileTool(workdir)` → `ToolContract` named `read_file` (offset/
+limit pagination, 1-indexed; two-layer workdir containment incl. realpath symlink
+guard); `activate` calls `host.defineTool`. 29 unit tests. session-orchestrator's
+`resolveTools: () => [...host.getTools().values()]` flows it into runTurn for free.
+Orchestrator wiring CRs (done): root tsconfig ref, host-bin dep + import +
+CORE_EXTENSIONS (before session-orchestrator), bun install, biome import-sort.
+
+**Step 2 RESULT:** done + verified. typecheck clean, **214 tests pass** (185→+29),
+biome clean. LIVE: booted on 24203, asked flash to read a test file → stream
+contained a real **`tool-call` + `tool-result`** round-trip and the final answer
+quoted the file's secret passphrase (MAGENTA-OTTER-42) correctly. The kernel
+tool-dispatch loop is now proven end-to-end against a live model (§3.3). Summon:
+prompts/step2-tool-read-file.md, report: reports/step2-tool-read-file.md.