Rulvar API reference / @rulvar/core / OrchestrateContradictions
Interface: OrchestrateContradictions
Defined in: packages/core/src/orchestrator/orchestrate.ts:1265
The bounded contradiction pass's knobs (RV1302). The pass itself is a PURE fold over the settled children the journal replays verbatim, so it costs no model call, no clock, and no wall time worth measuring in the post-fan-in window, and it journals nothing: a resume re-derives the identical finding (the dedupeClaims, policyFacts, and evidenceIndex precedent). The evidence pool it judges is the one evidenceIndex indexes: ok children plus salvage-accepted ones, so a dead child's error text can never contradict a real finding.
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
max? | number | Bound on reported contradictions; default DEFAULT_MAX_CONTRADICTIONS. | packages/core/src/orchestrator/orchestrate.ts:1282 |
onFound? | "report" | "carry" | "fail" | What a detected contradiction does. 'report' (the default) puts the findings on the acceptance envelope and in an info log, and changes nothing else. 'carry' additionally names them in the 'single' synthesis prompt with the instruction to resolve each explicitly instead of silently picking one, and REQUIRES that synthesis (a ConfigError otherwise, the evidenceIndex precedent: there is no prompt to ride without it). 'fail' fails the run typed with data.source 'orchestrator_contradictions' BEFORE any synthesis dispatch, so a pool that contradicts itself never pays to have the disagreement composed away. | packages/core/src/orchestrator/orchestrate.ts:1278 |
pattern? | string | Overrides DEFAULT_CITATION_PATTERN for the anchors; fail-closed at intake. | packages/core/src/orchestrator/orchestrate.ts:1280 |