Outcome
Callers can inspect which loose unreachable Git objects are past a supplied expiry cutoff without admitting any destructive prune command.
Scope
- Add a first-class streamed plumbing operation that always invokes
git prune --dry-run --verbose --no-progress --expire=<time>.
- Validate the expiry argument before process execution.
- Keep unrestricted
git prune rejected by the generic command surface.
- Preserve bounded residency through
GitStream.
- Cover allowed dry-run execution, output streaming, malformed expiry rejection, and destructive-form rejection.
Proof
- Multi-runtime unit tests.
- Integration test against a synthetic repository proving the object remains after inspection.
- No API path can omit
--dry-run.
Dependency
Blocks git-stunts/git-cas#49 and git-stunts/git-cas#55.
Outcome
Callers can inspect which loose unreachable Git objects are past a supplied expiry cutoff without admitting any destructive prune command.
Scope
git prune --dry-run --verbose --no-progress --expire=<time>.git prunerejected by the generic command surface.GitStream.Proof
--dry-run.Dependency
Blocks git-stunts/git-cas#49 and git-stunts/git-cas#55.