fix(workspace-context): skip blocked touches and disable in Code Mode

Address the two remaining review warnings on PR #106.

- tools/post-execute: when a downstream listener/policy returns `block`,
  return early without loading or attaching workspace instructions. The
  registry turns a block into a final isError result, so reconciling off
  the original successful result leaked instructions from a rejected call
  and advanced nested/baseline tracking off a touch that never happened.
- Disable workspaceContext in the Code Mode examples: fs tools run as
  run_code sub-dispatches and code-mode.ts drops sub-call additionalContext,
  so dynamic AGENTS.md updates are silently discarded there.

Update the block regression test to assert no context is attached, and add
a waterfall case proving accept still surfaces the discovered instructions.
This commit is contained in:
Yichen Jiang
2026-07-13 03:40:10 +00:00
parent 1795dc6e19
commit c748f30055
5 changed files with 92 additions and 16 deletions

View File

@@ -19,8 +19,14 @@
model: deepseek-v4-flash
resumeSessionId: !!js process.env.RESUME_SESSION_ID
persistenceRoot: './.sessions'
workspaceContext:
maxBytes: 65536
# Disabled in Code Mode: fs tools run as run_code sub-dispatches and
# code-mode.ts deliberately drops sub-call `additionalContext`, so the
# nested/changed/removed AGENTS.md notices this feature emits after
# read/write/edit are discarded before the loop can append them.
# Enabling it would only ship the baseline prefix while silently
# dropping the dynamic updates, so keep it off until sub-dispatch
# context propagation lands.
workspaceContext: false
tools:
mode: code
welcome: 'code-mode agent ready. Give it a multi-tool task.'