Bounded JSON actions
The model chooses from explicitly supported operations instead of receiving unrestricted shell access. Invalid JSON, unknown actions, malformed payloads, and execution failures score zero.
Research project
CrashDiag trains language-model agents to diagnose and repair infrastructure faults. The policy emits one bounded JSON action, and reward comes from executable sandbox state rather than an LLM judge.
Overview
Many agent evaluations reward answers that sound right. CrashDiag tests a stricter question: did the model produce an action that made a broken system healthy again? Each scenario injects a known infrastructure fault, gives the model an incident observation, executes the model's bounded JSON action, and scores the result through deterministic state checks.
The environment currently uses a dependency-free MockSandbox with process, environment, database, dependency, disk, proxy, and HTTP health state. It supports deterministic SFT data generation, answer-free GRPO datasets, executable rewards, local and remote evaluation, signed artifacts, and fail-closed promotion gates.
Infrastructure repair has a useful property: many outcomes can be checked directly. A process is running or it is not. A dependency version matches or it does not. A proxy points to the right port or it does not. CrashDiag uses that property so models cannot earn reward by writing confident explanations.
Design
CrashDiag keeps the action contract narrow enough to audit while making reward depend on executable system outcomes.
The model chooses from explicitly supported operations instead of receiving unrestricted shell access. Invalid JSON, unknown actions, malformed payloads, and execution failures score zero.
Each rollout rebuilds the exact seeded fault scenario, executes the parsed action, then checks both the fault-specific state and application health.
The reinforcement-learning rows provide the scenario, not an expert completion. Candidate actions are scored by executing them in the sandbox.
Fault suite
The current environment covers six one-action fault families with state-based resolution checks.
| Fault | Difficulty | Verifier | Action |
|---|---|---|---|
| bad_env_var | easy | invalid APP_ENV blocks health | rollback_env_var |
| port_proxy_misconfig | easy | proxy and app ports disagree | fix_port_config |
| oom_kill | medium | process stopped with OOMKilled | restart_app |
| broken_db_connection | medium | DATABASE_URL is invalid | rollback_env_var |
| disk_full | medium | disk usage exceeds health threshold | clear_disk |
| dependency_mismatch | hard | installed and required versions differ | fix_dependency |
The GRPO v1 research candidate resolved 175/192 hard schema-v2 episodes, or 91.15%, and resolved 96/96 original schema-v1 regression episodes. This is encouraging, but it remains a research candidate until the exact parent-SFT hard baseline is completed on the identical evaluation set.
Roadmap
The roadmap is centered on stronger baselines, broader faults, hardened sandboxes, and careful claims.
Now
CrashDiag v1 candidate
The private-bucket GRPO v1 research candidate resolved 175/192 schema-v2 hard episodes and 96/96 schema-v1 regression episodes under the MockSandbox verifier.
Next
Baseline closure
Run the parent-SFT hard baseline against the identical 192-row evaluation set before attributing the candidate performance specifically to GRPO.
Expand
Fault suite + sandbox
Add more fault families, tighten action contracts, harden the HTTP sandbox service, and move toward deployment-backed fault injection.
Lab
Indium AI Labs
Use CrashDiag as the infrastructure-repair foundation for a broader lab direction around mechanically verified infrastructure and security agents.
In preparation. The current writeup will focus on the environment contract, mechanical verifier, answer-free RL data, baseline comparisons, and limits of the present MockSandbox implementation. It is not an accepted publication.
CrashDiag is the first infrastructure-repair environment under Indium AI Labs.