@@ -107,24 +107,26 @@ other's active vision.
107107
108108### Path Delta
109109
110- A machine-generated vision packet may include one optional
111- ` goal_path_delta_v0 ` . It makes a bounded loop's look-back explicit without
112- adding more inline CLI flags or expanding the heartbeat prompt. The packet is
113- written through the existing ` --agent-vision-json ` boundary and is retained in
114- the same agent-scoped run-history and shared-runtime vision projection:
110+ A vision packet may include a top-level ` path_delta ` object; ` goal_path_delta_v0 `
111+ is its ` schema_version ` , not its enclosing field. The shared TypeScript authoring
112+ boundary rejects misplaced declared deltas before any write, including through
113+ CLI and Turn. It does not infer a protocol from ordinary metadata field names.
114+ Existing packets may omit the nested schema version; an explicitly supplied
115+ version must match. Historical read compaction remains unchanged.
115116
116117``` json
117118{
118- "schema_version" : " goal_path_delta_v0" ,
119- "outcome" : " replan" ,
120- "prior_assumption" : " The current monitor lane would produce acceptance evidence." ,
121- "observed_reality" : " Two bounded polls produced no material transition." ,
122- "retained" : [" Keep the verified monitor target and evidence refs." ],
123- "changed" : [" Create one runnable advancement successor." ],
124- "stopped" : [" Stop treating future polling as completion evidence." ],
125- "unresolved_questions" : [" Which successor can falsify the new path?" ],
126- "reentry_condition" : " Resume the monitor-only wait after successor evidence lands." ,
127- "evidence_refs" : [" evidence:monitor-poll-02" , " todo:successor-01" ]
119+ "vision_patch" : {"vision_summary" : " Deliver the verified successor." },
120+ "path_delta" : {
121+ "schema_version" : " goal_path_delta_v0" ,
122+ "outcome" : " replan" ,
123+ "prior_assumption" : " Polling would produce acceptance evidence." ,
124+ "observed_reality" : " Repeated polls produced no material transition." ,
125+ "retained" : [" Keep the verified monitor target." ],
126+ "changed" : [" Create one runnable advancement successor." ],
127+ "stopped" : [" Stop treating polling as completion evidence." ],
128+ "evidence_refs" : [" evidence:monitor-poll" , " todo:successor" ]
129+ }
128130}
129131```
130132
@@ -232,6 +234,14 @@ Valid checkpoint decisions are:
232234- ` not_required ` : no material closeout trigger was present, including a valid
233235 typed in-flight continuation.
234236
237+ A material closeout should carry its own vision patch or evidence-backed unchanged
238+ reason. If omitted, ` refresh-state ` still records the outcome and returns the
239+ checkpoint repair action. Follow that action in the same turn with the original
240+ settlement identity, removing already executed state mutations. The supplement
241+ must satisfy the checkpoint before terminal closeout; it neither re-authors the
242+ outcome nor spends a second time. Never invent an unchanged reason to clear a gap.
243+ Typed in-flight continuations keep their existing exemption.
244+
235245` missing_required ` is not a chat reminder. Status keeps it in compact run
236246history, quota filters it by current ` agent_id ` , and goal-frontier projection
237247turns it into ` acceptance_gaps[] ` . If the current agent has no runnable
0 commit comments