Summary
When pred path runs on a source instance, one failing path aborts the entire batch and shows no results for the paths that succeeded.
pred create MIS --graph 0-1,1-2,2-3,3-0,0-2 -o mis.json
pred path MIS QUBO mis.json
# Error: concrete path 4 failed during reduction: ILP -> ILP: binary encoding requires a finite upper bound ...
pred path MIS QUBO mis.json --limit 4 # works: paths 1–4 succeed
Root cause
ReductionGraph::execute_paths (src/rules/graph.rs) returns Result<Vec<ExecutedPath>, ExecutePathsError> and uses ? on each reduction step. A reduction that rejects one particular instance is a valid outcome for that path, not a fatal error for the whole request.
Paths legitimately fail for particular instances:
Proposal
Related: #1152, #1178 (size budget), #1179 (path ranking).
Summary
When
pred pathruns on a source instance, one failing path aborts the entire batch and shows no results for the paths that succeeded.Root cause
ReductionGraph::execute_paths(src/rules/graph.rs) returnsResult<Vec<ExecutedPath>, ExecutePathsError>and uses?on each reduction step. A reduction that rejects one particular instance is a valid outcome for that path, not a fatal error for the whole request.Paths legitimately fail for particular instances:
ILP<i64> → ILP<bool>rejects unbounded variables (ILP<i64> rules declare bounds as constraints, so ILP<i64> → ILP<bool> always fails #1176).MaxCut → MinimumMatrixCoverrejects negative edge weights on thei64variant:edge (u, v) has negative weight -w.Proposal
ReductionError). Keep batch-level errors (empty path, different sources, unknown node) as errors.pred pathand the MCP tool so failed paths show up with their reason instead of aborting.Related: #1152, #1178 (size budget), #1179 (path ranking).