fix(qa): preserve nested tool success evidence (#122189)

Record successful logical target tools at the attempt owner so Code Mode exec receipts retain the nested tool evidence needed by release qualification.

Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
Vincent Koc
2026-08-12 07:19:56 +08:00
committed by GitHub
parent 9c9ab5836d
commit b3cb8f7ab2
12 changed files with 242 additions and 37 deletions
@@ -141,6 +141,21 @@ describe("model-switch tool continuity terminal evidence", () => {
);
});
it("accepts a logical read appended after the physical Code Mode exec", async () => {
const { result } = await runToolContinuity(["exec", "read"]);
expect(result.status).toBe("pass");
expect(result.modelSwitchEvidence).toMatchObject({
alternate: { runId: "run-2", successfulToolNames: ["exec", "read"] },
});
});
it("rejects a bare successful Code Mode exec without logical read evidence", async () => {
await expect(runToolContinuity(["exec"])).rejects.toThrow(
"alternate-model run did not return exact owned successful read evidence",
);
});
it("does not let a successful prior-run read satisfy the alternate run", async () => {
await expect(runToolContinuity([])).rejects.toThrow(
"alternate-model run did not return exact owned successful read evidence",