diff --git a/docs/reference/protocols/goal-vision-replan-contract-v0.md b/docs/reference/protocols/goal-vision-replan-contract-v0.md index 624b7f1839..58bf526ed6 100644 --- a/docs/reference/protocols/goal-vision-replan-contract-v0.md +++ b/docs/reference/protocols/goal-vision-replan-contract-v0.md @@ -112,7 +112,9 @@ is its `schema_version`, not its enclosing field. The shared TypeScript authorin boundary rejects misplaced declared deltas before any write, including through CLI and Turn. It does not infer a protocol from ordinary metadata field names. Existing packets may omit the nested schema version; an explicitly supplied -version must match. Historical read compaction remains unchanged. +version must match. The look-back rides the existing `--agent-vision-json` +boundary, so it stays explicit without adding more inline CLI flags or expanding +the heartbeat prompt. Historical read compaction remains unchanged. ```json { diff --git a/examples/blocker-push-runtime-smoke.py b/examples/blocker-push-runtime-smoke.py index e8c297b295..f47e59b616 100644 --- a/examples/blocker-push-runtime-smoke.py +++ b/examples/blocker-push-runtime-smoke.py @@ -219,7 +219,10 @@ def main() -> int: assert "reuse the value on retries" in compact_prompt, prompt assert "guard; 2 stalls->replan" in compact_prompt, prompt assert "no-change=`surface_only`/no spend" in compact_prompt, prompt - assert "unchanged->`--vision-unchanged-reason`" in compact_prompt, prompt + # The shipped writeback sentence moved to the mixed-language form in the + # same change that updated examples/control_plane/heartbeat-prompt-smoke.py; + # this assertion keeps the blocker-runtime path pinned to the same text. + assert "unchanged→真实`--vision-unchanged-reason`" in compact_prompt, prompt print("blocker-push-runtime-smoke ok") return 0