Repository navigation
fix: add path-free recovery errors to output helpers - #495
Merged
Merged
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Closes #471.
Stage-sync and file-identity helper failures omitted a recovery step and could print private staging/destination paths. All four
StagedOutput::sync_filefailures, both Windows identity failures and fallback canonicalization now return fixed Korean phase/cause/remedy errors. The shared formatter accepts static text and discards original I/O chains. The remedy is to check output-directory permissions and free space, then rerun.The path-free policy applies to the helper error values. Binding's output-set path propagates them directly, satisfying
docs/design/25-form-binding-plan.md; sidecar directory preparation retains its separate higher-level context. Identity probes can occur after rename, so messages describe the probe phase and remedy. Successful sync/identity behavior and Windows handle cleanup remain unchanged. No observed caller branches on these helpers' source I/O errors; direct-filesystem NotFound handling is untouched.Baseline
bb497192d6c3c8132a8b58a4ee2d6cb37c871eddchanges tests only:cargo +1.93.0 test -p hwp-cli --bin hwp output_helper_ -- --test-threads=2: both sync tests failed at their intended phase assertion.CreateFileWfailure. The remaining queued, non-target macOS baseline job was canceled after collecting this evidence.Tests check phase, permission/free-space/rerun guidance, path absence in Display/alternate/Debug formatting, and the source-free error-chain contract. Sync tests also verify destination bytes and cleanup. Other helper failure branches are source-audited rather than directly fault-injected.
Full verification at
23eeee9ca7bb7407aec8d94e761b501e2708a22d: exact-head remote Linux/Rust 1.93.0,CARGO_BUILD_JOBS=2 RUST_TEST_THREADS=2 scripts/check.sh </dev/null, with verifier stdin also closed, exit 0. The final source-chain assertion is included.The 49 missing-fixture skips include 4 optional cases; absent fixture paths remain unverified. Public PDF parity auto-skipped for this environment's Poppler version. Post-fix native Windows and other hosted PR checks remain separate evidence before merge.