-
-
Notifications
You must be signed in to change notification settings - Fork 1
Evaluator: timeout should return partial results instead of error #44
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestevaluatorRule evaluation engine and logicRule evaluation engine and logicoutputResult formatting and output generationResult formatting and output generationpriority:lowNice to have, can deferNice to have, can defertestingTest infrastructure and coverageTest infrastructure and coverage
Milestone
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestevaluatorRule evaluation engine and logicRule evaluation engine and logicoutputResult formatting and output generationResult formatting and output generationpriority:lowNice to have, can deferNice to have, can defertestingTest infrastructure and coverageTest infrastructure and coverage
Summary
When evaluation exceeds the configured timeout, the evaluator should return partial results collected so far instead of returning a fatal
LibmagicError::Timeouterror.Context
Per Core Flow 12 (Evaluation Timeout Handling), timeout should be a graceful degradation, not a hard failure. The current implementation at
src/evaluator/mod.rs:402returns an error, discarding any partial matches found before the timeout.Current behavior:
Err(LibmagicError::Timeout { timeout_ms })- all progress lostExpected behavior:
Ok(EvaluationResult { metadata: { timed_out: true }, ... })- partial results preservedAcceptance Criteria
EvaluationMetadata.timed_outis set totruewhen timeout occurs"timed_out": trueand"partial_results": truein metadataFiles to Modify
src/evaluator/mod.rs- Change timeout handling to return partial resultssrc/output/json.rs- Include timeout metadata in JSON outputsrc/main.rs- CLI warning message on timeoutReferences