Skip to content

crashdx 0.1.0

Latest

Choose a tag to compare

@r00tify r00tify released this 23 Jul 13:02

First release of crashdx — a crash diagnosis engine for Apple platforms.

It parses .ips crash reports, symbolicates them against dSYMs, and produces an evidence-cited, ranked diagnosis rather than just a symbolicated stack trace.

What's in it

Three targets over one core:

  • CrashDXCore — dependency-free Swift library (imports only Foundation): .ips parsing, dSYM discovery, symbolication, the diagnosis engine, and untrusted-text rendering.
  • crashdx — CLI with analyze and symbolicate subcommands, human and --json output.
  • crashdx-mcp — stdio MCP server, so agents and humans drive the same engine.

The diagnosis engine

Deterministic and LLM-free, in three stages:

  1. Evidence extraction — six extractors emit typed facts (exception, termination, ASI, frames, memory, registers), each carrying a JSON pointer back into the original report.
  2. Hypothesis generation — ten rules, all applicable ones firing (no first-match-wins), each producing supporting/contradicting facts, inspect points, and follow-ups.
  3. Ranking — additive scoring into confidence bands. A verdict requires the leading hypothesis to be strongly supported and ahead of the runner-up by a clear margin; otherwise you get an honest inconclusive with the full ranked list.

Two properties it holds onto deliberately: every claim is traceable back into the raw report, and it says "inconclusive" when it is.

Requirements

macOS 14+, Swift 6.2+ toolchain. Symbolication uses Xcode's CrashSymbolicator.py, with atos as fallback.

Install

git clone https://github.com/r00tify/crashdx
cd crashdx
swift build -c release

See the README for usage and docs/DESIGN.md for the architecture.