What Diagnostic Reasoning Does
After an experiment runs and the jury produces verdicts, the diagnostic system answers: why did items fail, and what should change? It works in three stages:- Gap classification — map each failing verdict to a category (agent error, plan gap, missing knowledge, etc.)
- Deterministic reasoning — apply rule-based logic to produce actionable fixes
- LLM fallback — for checks the rules can’t resolve, an LLM analyzes execution traces and proposes new artifacts
Gap Categories
Every failing verdict check is classified into a gap category that identifies where in the system the problem lives:DiagnosticAnalyzer
Entry point for analysis. Takes anExperimentResult and produces a DiagnosticReport:
GapClassifier
Assigns gap categories to verdict checks. The defaultHeuristicGapClassifier uses 22 judge-specific classification rules to map failures to categories based on the judge name, check content, and available analysis data.
DiagnosticReport
GapDistribution.dominant() returns the most frequent gap category — the highest-leverage fix target.
DiagnosticReasoner
Transforms aDiagnosticReport into actionable remediation:
ReasoningContext
Provides the full data menu for reasoning — analysis output, execution plan, trajectory exhaust, and file pointers:
Helper methods:
unusedTools(), errorToolResults(), toolUsesByName(String).
DeterministicReasoner
Rule-based reasoning with two rule categories: Verdict rules (fire on failing judge checks):- Pattern-match on gap category and structured analysis data
- Target specific components: planner-prompt, pom-upgrader, agent-prompt, dependency-analysis
- Detect efficiency gaps where the agent recovered but deterministic tools could have prevented the problem
- Examples: unused tools, implicit JDK dependencies, repeated build errors, format violations
LlmDiagnosticReasoner
Handles checks that deterministic rules can’t resolve. Analyzes execution traces (thinking, tool calls, results) and produces:- RemediationActions — fixes with
LLM_INFERREDconfidence - RemediationProposals — new deterministic artifacts (rules, KB entries, tool specs) for the flywheel
CompositeDiagnosticReasoner
Chains deterministic and LLM reasoning:- Deterministic layer runs first (fast, proof-based)
- If unresolved checks remain and an LLM fallback is available, forward them to the LLM
- Merge results into a single
RemediationReport
RemediationReport
RemediationAction
Each action targets a specific component and carries a confidence level:RemediationProposal
LLM-discovered patterns that can become new deterministic infrastructure:The Flywheel
RemediationProposals are the flywheel mechanism. When the LLM discovers a novel failure pattern:- It creates a
RemediationProposal(e.g., a new deterministic reasoner rule) - A human reviews and applies the proposal
- The new rule is added to
DeterministicReasoner - On the next run, that pattern is resolved deterministically — faster, cheaper, and with higher confidence
Cross-Run Aggregation
DiagnosticAggregator analyzes multiple DiagnosticReport instances from repeated runs to detect stochasticity:
AGENT_EXECUTION_GAP in one run and PLAN_GENERATION_GAP in another is flagged as stochastic. Stochastic items need N≥3 runs before you can draw reliable conclusions. Stable items are immediately actionable.
Efficiency Evaluation
EfficiencyEvaluator scores execution efficiency across four metrics:
Behavioral Diagnostics (Markov Analysis)
Gap classification and remediation operate on judge verdicts — the outcome layer. A complementary diagnostic lens operates on tool-call sequences — the behavioral layer. The agent-experiment-template includes Markov chain analysis scripts that reveal how the agent behaves, not just what it produces.Loop amplification
The Markov analysis computes loop amplification — how many times the agent revisits a state before moving forward. High amplification indicates friction or failure loops:Loop types
Not all loops are problems. Classify before intervening:Interpretation output
The template’smake_markov_analysis.py writes analysis/markov-interpretation.md with:
- Per-variant loop amplification summary with threshold-based classification
- Recommended intervention lever for each high-amplification state
- Suggested next variant with a hypothesis template
Related
Pipeline
Analyze, plan, and execute — the three pipeline phases
Jury System
Three-tier evaluation: deterministic, structural, semantic