Reference
Oko and Weles: block-oko-trajectory-edits
A gate on writes, patches and shell commands (tama hook block-oko-trajectory-edits) that keeps
Weles-owned automation out of Oko's checkout. Oko may consume Slack tokens and Slack's Web API and read what Weles
reports; Weles owns every trajectory and every login or install automation, and a browser is only ever driven
there.
#How it decides
Whether a write touches Oko is read from structure: a file write whose path is inside
~/Documents/CodingProjects/Wisent/oko/, a patch that names that checkout, or a shell command that
does. Nothing else is asked. What such a write puts there is read by a model through Oko's model call against
the boundary (block_oko_trajectory_edits/judge-prompt.md): a script that drives a browser or desktop
step by step, a Slack app install, OAuth, permission or manifest flow carried out by automation, or browser login
automation is refused; Oko code calling the Web API with a token, and documentation or tests that only name these
flows, pass. A file's name decides nothing. The refusal names where the work belongs
(weles/scripts/trajectories/) and what the model found. A question the judge leaves unanswered refuses
the write with TAMA_HOOK_INFRASTRUCTURE: block-oko-trajectory-edits: review unavailable: … and the
judge's recorded state, as asking a model describes.
#Where it comes from
Source: rust/crates/tama-hook-tools/src/ports/block_oko_trajectory_edits/. The journey
cargo test --manifest-path rust/Cargo.toml -p tama-cli --test oko_boundary_judged runs the built hook
with the judge recorded as not answering and requires a write inside Oko to be refused as unjudged and a write
in Weles never to ask; with TAMA_TEST_BOUNDARY_JUDGE=1 and -- --ignored it asks the real
judge and requires a Playwright Slack install script in Oko refused and a Web API client passed.