Skip to content

Commit b9fdb0f

Browse files
committed
refine(replan): keep evidence-first guidance within packet budgets
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
1 parent 3d5aed1 commit b9fdb0f

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

‎loopx/control_plane/work_items/replan_semantics.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ function writebackProjection(required: SemanticOutcome[], externalReview: boolea
201201
vision_authoring: visionAuthoringContract(),
202202
required_fields: ["vision_patch.acceptance_summary", "path_delta.outcome", "path_delta.evidence_refs"],
203203
path_outcomes: [...FRESH_PATH_DISPOSITIONS],
204-
rule: "Review available evidence against the current source and acceptance first. Reuse applicable evidence; run additional checks when evidence is missing, stale or insufficient to decide the triggered obligation. Do not repeat unchanged checks solely to create a new review artifact. Author an acceptance summary and evidence-linked path outcome, then execute the bound refresh and spend; an unchanged reason alone is insufficient. Explicit validation gates and other required_any_of exits retain their typed contracts.",
204+
rule: "First reuse observed evidence valid for current source/acceptance; probe missing, stale or insufficient evidence. Write a JSON file with acceptance summary and evidence-linked path outcome, then run bound refresh and spend. An unchanged reason alone is insufficient. Explicit validation gates and other required_any_of contracts apply.",
205205
},
206206
};
207207
}

‎tests/control_plane_ts/replan_semantics.test.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ for (const reviewKind of ["long_todo_chain", "periodic_review_due"]) {
117117
assert.equal(projectReplanSemantics({operation: "qualify", obligation: chain,
118118
agent_vision: {...vision, path_delta: {...vision.path_delta, outcome: "no_change"}},
119119
observation_delta: {delta_kinds: [], evidence_novel: false}}).accepted, true);
120-
assert.match(String((projection.writeback_contract as JsonObject).rule), /Reuse applicable evidence/);
120+
assert.match(String((projection.writeback_contract as JsonObject).rule), /First reuse observed evidence valid for current source\/acceptance/);
121121
for (const outcome of ["new_surface", "new_hypothesis", "new_probe_family", "new_runnable_successor"]) {
122122
assert.equal(projectReplanSemantics({operation: "qualify", obligation: chain,
123123
observation_delta: {delta_kinds: [outcome]}}).accepted, true);

0 commit comments

Comments
 (0)