Skip to content

Command runner & dry-run abstraction #3

Description

@castrojo

Description

Implement internal/runner — a wrapper around exec.Command that provides:

  • Structured command execution with stdout/stderr capture
  • --dry-run mode that logs commands without executing
  • Fixture-driven testing support

Acceptance Criteria

  • Runner interface with Run(ctx, cmd, args) (Output, error)
  • DryRunner implementation that records commands without executing
  • RealRunner implementation that executes and captures output
  • Unit tests with fixture data
  • All other packages (probe, install) use Runner — never raw exec.Command

Safety

This is the core safety abstraction. No real disk writes happen without going through Runner.

Metadata

Metadata

Assignees

No one assigned

    Labels

    1-triageNew work awaiting human triage.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions