Improve capture safety and guided CLI usability - #5
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Recording could silently replace an existing capture, unsupported inputs could appear successful, and errors ended the guided workflow. This change protects recordings and carries the command center through execution, results, and recovery.
--overwritefor existing recording destinations and reject input/output identity, including symlinks and hard links. Preserve buffered data when stopping a recording.Compatibility: scriptable commands continue to default to JSON; guided workflows default to readable text. Validation JSON adds
undecodableByPgn. Existing output files require explicit replacement, and empty/unsupported captures now fail instead of silently returning no results. JSONL recordings remain an export format and are explicitly identified as unsupported replay input.Validation:
go test -race ./..., including 16 new usability regression tests with additional cases for linked paths and capture formats.golangci-lint run ./...,govulncheck ./..., andgosec -quiet -exclude-dir=.claude -exclude=G115 ./...passed.Live marine hardware and screen-reader software were not tested.