Skip to content

Interface: BackwardChainRequest

@kortexya/reasoninglayer


@kortexya/reasoninglayer / BackwardChainRequest

Defined in: src/types/inference.ts:489

Request for backward chaining inference.

Dual input mode: Provide EITHER goal (inline goal) OR goal_id (reference to a saved goal), but not both.

Serialization format: Request uses untagged TermInputDto / FeatureInputValueDto. Response uses PsiTermDto / SolutionDto.

optional constraints?: ConstraintInputDto[]

Defined in: src/types/inference.ts:507

Additional constraints (deprecated — prefer ConstrainedVariable in goal).


optional goal?: TermInputDto | null

Defined in: src/types/inference.ts:491

Inline goal as a TermInputDto. Mutually exclusive with goal_id.


optional goalId?: string | null

Defined in: src/types/inference.ts:493

Reference to a saved goal by UUID. Mutually exclusive with goal.


optional maxDepth?: number

Defined in: src/types/inference.ts:499

Maximum proof depth to prevent infinite recursion. Default: 100.


optional maxSolutions?: number

Defined in: src/types/inference.ts:501

Maximum number of solutions.


optional minCertainty?: number

Defined in: src/types/inference.ts:503

Minimum certainty threshold.


optional openWorld?: boolean

Defined in: src/types/inference.ts:497

Whether to use open-world reasoning (evidence-based instead of closed-world).


optional saveGoal?: boolean

Defined in: src/types/inference.ts:495

Whether to persist the goal for later reuse.


optional timeoutMs?: number | null

Defined in: src/types/inference.ts:505

Wall-clock timeout in milliseconds (default: 30000). Returns partial results on timeout.