fix(rectification): stop stamping pending receipts and document aggregate blocker
Implement BUG-984 F2 option A and reproduce mixed completed identities through real tools. Stop at the required SQL authorization boundary; F1/F3/F4 remain pending. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -160,7 +160,6 @@ import {
|
||||
readV9EngineScoringIdentity,
|
||||
cachedEngineScoreIsReusable,
|
||||
toEngineEvents,
|
||||
v9EngineVersion,
|
||||
executedMethodsFromLedger,
|
||||
runV9RangeReading,
|
||||
runV9BlockScan,
|
||||
@@ -900,7 +899,6 @@ export function createRectificationV9ReadOnlyTools(ctx: RectificationV9Context)
|
||||
|
||||
export function createRectificationV9Tools(ctx: RectificationV9Context) {
|
||||
const { accounting, userId, caseId, turnId, attemptId, userMessage } = ctx;
|
||||
const engineVersion = v9EngineVersion();
|
||||
let hasReadCase = false;
|
||||
let spokenPromptFailures = 0;
|
||||
let setFocusCompleted = 0;
|
||||
@@ -934,7 +932,7 @@ export function createRectificationV9Tools(ctx: RectificationV9Context) {
|
||||
toolName: string,
|
||||
publicPhase: string,
|
||||
error: unknown,
|
||||
extra: { inputFingerprint?: string | null; engineVersion?: string | null } = {},
|
||||
extra: { inputFingerprint?: string | null } = {},
|
||||
) => {
|
||||
const code = safeToolErrorCode(error);
|
||||
const message = engineMessageForReceipt(error);
|
||||
@@ -947,7 +945,6 @@ export function createRectificationV9Tools(ctx: RectificationV9Context) {
|
||||
}));
|
||||
await receipt(toolName, publicPhase, "failed", {
|
||||
inputFingerprint: extra.inputFingerprint ?? null,
|
||||
engineVersion: extra.engineVersion ?? null,
|
||||
safeErrorCode: code,
|
||||
resultFingerprint: JSON.stringify({
|
||||
safe_error_code: code,
|
||||
@@ -1925,7 +1922,7 @@ export function createRectificationV9Tools(ctx: RectificationV9Context) {
|
||||
execute: async (input) => {
|
||||
assertCaseRef(input, caseId);
|
||||
const inputFingerprint = canonicalToolInputFingerprint("rectification-compare-candidates", input);
|
||||
await receipt("rectification-compare-candidates", "candidates.comparing", "started", { inputFingerprint, engineVersion });
|
||||
await receipt("rectification-compare-candidates", "candidates.comparing", "started", { inputFingerprint });
|
||||
try {
|
||||
const scored = await scoreAndPersistCurrentEvidence(input.caseId);
|
||||
const latest = scored.parsed.case.stage === "block_scan"
|
||||
@@ -1979,14 +1976,13 @@ export function createRectificationV9Tools(ctx: RectificationV9Context) {
|
||||
vedastro_validate_ms: scored.timings.vedastro_validate_ms,
|
||||
persist_ms: scored.timings.persist_ms,
|
||||
}),
|
||||
engineVersion: scored.persisted.algorithmVersion ?? engineVersion,
|
||||
engineVersion: scored.persisted.algorithmVersion ?? null,
|
||||
executedMethods: scored.score.executedMethods,
|
||||
});
|
||||
return { ...projection, executed_methods: scored.score.executedMethods };
|
||||
} catch (error) {
|
||||
await failReceipt("rectification-compare-candidates", "candidates.comparing", error, {
|
||||
inputFingerprint,
|
||||
engineVersion,
|
||||
});
|
||||
throw error;
|
||||
}
|
||||
@@ -2001,7 +1997,7 @@ export function createRectificationV9Tools(ctx: RectificationV9Context) {
|
||||
execute: async (input) => {
|
||||
assertCaseRef(input, caseId);
|
||||
const inputFingerprint = canonicalToolInputFingerprint("rectification-read-diagnostics", input);
|
||||
await receipt("rectification-read-diagnostics", "diagnostics.completed", "started", { inputFingerprint, engineVersion });
|
||||
await receipt("rectification-read-diagnostics", "diagnostics.completed", "started", { inputFingerprint });
|
||||
try {
|
||||
const dossier = await loadV9CaseDossier(accounting, userId, input.caseId);
|
||||
const parsed = parseDossierForTools(dossier);
|
||||
@@ -2034,7 +2030,7 @@ export function createRectificationV9Tools(ctx: RectificationV9Context) {
|
||||
});
|
||||
return { ...projection, executed_methods: diagnostics.executedMethods };
|
||||
} catch (error) {
|
||||
await failReceipt("rectification-read-diagnostics", "diagnostics.completed", error, { inputFingerprint, engineVersion });
|
||||
await failReceipt("rectification-read-diagnostics", "diagnostics.completed", error, { inputFingerprint });
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user