AbductiveReasoningTask
Inference to the best explanation. Automatically generates, evaluates, and ranks explanatory hypotheses for complex observations using Occam's Razor and comparative analysis.
Side-Effect: Safe
Logic: Probabilistic
Model: GPT-4 Preferred
⚙️ ExecutionConfig.json
{
"observations": [
"Memory usage spikes every 4 hours",
"No cron jobs scheduled at those times",
"Spikes correlate with high disk I/O"
],
"domain_context": "JVM Microservice",
"max_hypotheses": 3,
"suggest_tests": true
}
→
👁️ Session UI (TabbedDisplay)
Overview
Hypotheses
Best Explanation
Hypothesis: Periodic Log Rotation Buffer Flush
Overall Score: 0.88
The application uses an internal async appender that flushes large buffers based on a 4-hour policy...
✔ Explanatory Power: 0.95
✔ Simplicity: 0.80
✔ Simplicity: 0.80
Suggested Validation:
- Check logback.xml for 'flushInterval'
- Monitor FileDescriptor count during spikes
Test Workspace Browser
Explore actual artifacts, reports, and logs generated by the AbductiveReasoningTask in the test environment.
Configuration Parameters
| Field | Type | Default | Description |
|---|---|---|---|
observations * |
List<String> | - | The set of facts, anomalies, or data points that require an explanation. |
generate_hypotheses |
Boolean | true | Whether to generate new hypotheses or only evaluate provided ones. |
max_hypotheses |
Int | 5 | Maximum number of candidate explanations to generate (1-10). |
evaluate_criteria |
List<String> | [power, simplicity, testability, probability] | Metrics used to score and rank hypotheses. |
input_files |
List<String> | null | Glob patterns (e.g. **/*.kt) for source code context. |
suggest_tests |
Boolean | true | Whether to suggest concrete validation/falsification tests. |
domain_context |
String | null | Constraints or background knowledge (e.g., "JVM Microservice"). |
existing_hypotheses |
List<String> | null | Pre-existing hypotheses to be evaluated against observations. |