fix(rectification): surface dropped probes and filter tools by the decision
Independent Staging Quality Gate / validate (push) Failing after 17m9s
Independent Staging Quality Gate / publish (push) Has been skipped

Silent unrenderable discriminators, a missing question-contract golden, and a always-on tool table were hiding fail-closed drops behind the prompt wall.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-28 20:31:15 +08:00
co-authored by Cursor
parent 69c3e94920
commit 63b4591aae
25 changed files with 856 additions and 274 deletions
@@ -22,6 +22,7 @@ import {
parseWindowScan,
type WindowScan,
} from "./varga-observations";
import { questionContractVersionIsCompatible } from "./probe-question-contract";
export class RectificationEngineError extends Error {
readonly code: string;
@@ -289,6 +290,7 @@ function readDecisionReceipt(value: unknown, candidates: readonly V9EngineCandid
|| (row.selection_allowed === true && row.display_allowed !== true)
|| (row.propose_allowed !== undefined && typeof row.propose_allowed !== "boolean")
|| (row.propose_allowed === true && row.selection_allowed !== true)
|| !questionContractVersionIsCompatible(row.question_contract_version ?? row.question_contract)
) {
return invalidReceipt();
}