Inspiration

When production breaks, engineers lose time reading walls of logs, guessing a root cause, and hoping the fix actually works. We wanted a tool that closes that loop: take the incident evidence, reason about it, propose a concrete fix, and check it before anyone ships it.

What it does

FixLoop investigates incidents from logs and evidence. It produces ranked hypotheses for the root cause, a proposed patch, and a verification step, and it shows the whole investigation as a timeline.

  • Upload Custom Logs: paste your own failing logs and NVIDIA Nemotron, running on Nebius Token Factory, reads them live and returns a fresh diagnosis (for example, a DNS failure caused by an unresolvable service name).
  • Preset scenarios: one-click incidents such as an out-of-memory kill, with hypotheses, a patch and a verification result.
  • Safe verification: fixes are checked against an allowlist of test types. On the hosted demo this runs in file-check mode, and a Docker sandbox is available when run locally.

How we built it

  • Model: nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B, called at runtime through the Nebius Token Factory chat completions API (api.tokenfactory.nebius.com).
  • Backend: Python and FastAPI with an investigation engine that combines model output with deterministic evidence handling, plus a caching layer so repeated scenarios return quickly.
  • Frontend: a web UI deployed on Vercel, proxying to the backend on a cloud VM.
  • Quality: 121 backend tests, and a /ready endpoint that reports whether the live Token Factory connection is verified (mock_mode: false).

Challenges

  • Making model output safe to act on: the model can suggest steps that aren't on our allowlist, so we constrain what verification is allowed to run.
  • Being honest about what is model-driven versus deterministic. The custom-logs path is fully model-driven; presets mix model evidence with rule-based hypotheses for speed and reliability.
  • Keeping latency low. Cold Nemotron calls take about 7–10 seconds, so we cache repeated scenarios.

What we learned

Small open models like Nemotron-3-Nano are fast and cheap enough to sit inside an incident-response loop, but they work best when wrapped in guardrails and a verification step rather than trusted blindly.

What's next

Wider incident coverage, full Docker sandbox verification on the hosted version, and feeding model hypotheses directly into the ranked-hypothesis timeline for every scenario.

Built With

Share this project:

Updates

Submission history