Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/core / RejectedFinishCandidate

Interface: RejectedFinishCandidate

Defined in: packages/core/src/engine/run-handle.ts:214

One finish candidate the declared contract did NOT accept (RV2507). The 1.226.0 comparison run rejected three syntheses; nothing on its terminal said so, nothing said whether the three differed from each other, and the only way to read them was an external script that re-parsed the whole agent transcript. The row is the artifact that dig produced, made first class.

hash is the sha256 over the canonical candidate: two rows with the same hash are the model serving the same document twice, which is a different failure from three genuine attempts and used to be invisible. ref is present exactly under finishValidation.retainRejectedCandidates, and points at a transcript blob holding the candidate verbatim; without it the row still identifies and sizes what was rejected, and names the validators that did it.

Properties

PropertyTypeDescriptionDefined in
bytesUnavailableReason?"hash-only-persistence" | "store-write-failed"Why the bytes are not retained (RV4207), when the run declared a candidatePersistence: 'hash-only-persistence' is the policy saying so on purpose, 'store-write-failed' a declared retention the store refused. Absent on undeclared configs, whose rows keep their exact bytes.packages/core/src/engine/run-handle.ts:234
callIdstringThe finish tool call this candidate arrived on.packages/core/src/engine/run-handle.ts:216
charsnumberThe candidate's length in characters, honest whether or not the bytes were retained.packages/core/src/engine/run-handle.ts:222
failed{ name: string; reasons: string[]; }[]Each validator that rejected it, with its reasons: the diff.packages/core/src/engine/run-handle.ts:224
hashstringsha256 over the canonical candidate; identity, not location.packages/core/src/engine/run-handle.ts:220
ref?stringTranscript ref holding the bytes; absent unless retention is on and the write succeeded.packages/core/src/engine/run-handle.ts:226
verdict"rejected" | "repair"'repair' when another turn was granted, 'rejected' when this was the last.packages/core/src/engine/run-handle.ts:218