Skip to content

Add narrow debug symbols workflow for crash symbolication #699

@thymikee

Description

@thymikee

Parent

#694

What to build

Add a narrow crash symbolication workflow without turning debug into a catch-all diagnostics command. This issue is the only intentionally debug-shaped slice in the rollout because dSYM/symbolication is crash/debug evidence, not performance collection.

Prototype CLI shape:

agent-device debug symbols --artifact crash.log --dsym MyApp.dSYM --out crash-symbolicated.log
agent-device debug symbols --artifact crash.ips --search-path ./build --out crash-symbolicated.ips
agent-device debug crash --artifact crash.ips --dsym MyApp.dSYM --out crash-evidence.zip

Expected agent experience:

  • Agents start crash investigations with logs/crash artifacts.
  • Agents use debug symbols when a crash artifact needs symbolication.
  • debug remains a workflow/symbol/bundle space and does not duplicate logs, network, perf, record, or react-devtools.
  • Broad Xcode/Gradle project scanning is out of scope for v1.

Acceptance criteria

  • debug symbols accepts a crash artifact/log path and either a dSYM path or a bounded search path.
  • The command returns a symbolicated artifact path and a compact summary of what was symbolicated.
  • The command fails with actionable hints when dSYM files, app binary identifiers, UUID matches, or host symbolication tools are unavailable.
  • debug does not expose aliases that compete with existing primitives such as logs, network, perf, record, or react-devtools.
  • If debug crash or debug bundle is added, it is a thin workflow/bundle command that projects to existing evidence primitives and artifact paths.
  • Agent-facing help routes crash -> logs/crash artifact -> debug symbols, not crash -> perf.

Validation

  • Parser/help tests for the debug symbols command shape.
  • Unit tests for symbolication command construction and UUID/search-path error hints.
  • pnpm check:unit
  • pnpm format

Blocked by

None - can start immediately after the taxonomy in #694 is accepted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions