Skip to content

fix: execute carve commands from explicit argv - #74

Merged
shaug merged 1 commit into
mainfrom
scott/issue-71-argv-execution
Jul 28, 2026
Merged

fix: execute carve commands from explicit argv#74
shaug merged 1 commit into
mainfrom
scott/issue-71-argv-execution

Conversation

@shaug

@shaug shaug commented Jul 28, 2026

Copy link
Copy Markdown
Owner

TL;DR

Replace implicit shell parsing in carve-changesets with validated explicit argv while preserving intentional shell workflows.

Summary

  • Execute validation and database-comparison commands as explicit argv without implicit shell parsing.
  • Reject legacy string flags and unknown command representations before lifecycle mutation, with precise migration guidance.
  • Document explicit shell migrations for pipelines, redirects, quoting, environment expansion, and compound commands.
  • Add focused unit and integration coverage for the executor, plan schema, lifecycle boundaries, and every legacy CLI surface.

Validation

  • just format
  • just lint
  • just test

Tickets

Refs #71

- Add one validated JSON argv parser, display formatter, and direct executor
- Migrate test and database command surfaces away from implicit shell parsing
- Fail legacy command strings with migration guidance before branch mutation
- Document explicit shell invocation and cover the safety boundary in tests

- Prevent repository-controlled command text from gaining unintended shell semantics
- Preserve intentional pipelines and redirection through an explicit `sh -lc` argv
- Improve the security scan findings without removing workflow functionality
@shaug
shaug merged commit e14f0db into main Jul 28, 2026
1 check passed
@shaug
shaug deleted the scott/issue-71-argv-execution branch July 28, 2026 03:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant