feat: add actionable structured failure diagnostics - #195
Draft
cpendery (cpendery) wants to merge 2 commits into
Draft
feat: add actionable structured failure diagnostics#195cpendery (cpendery) wants to merge 2 commits into
cpendery (cpendery) wants to merge 2 commits into
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.
Summary
FailureDetailsenvelope to core errors and carry it through CLI JSON, N-API, PyO3, JavaScript, and Pythonfailure.json, deterministicreport.md, pinned terminal text/SVG, and an optional immutable automatic-recording prefixlocation()failures into the coreFailure artifact
Bundle mode writes:
failure.jsonis committed last and records file status, hashes, omissions, truncation, sensitivity, and capture errors. Recording copies are worker-snapshotted immutable prefixes; if output advances after the pinned failure observation, the cast is omitted instead of pairing mismatched evidence.Compatibility and privacy
Terminal content:output remain availableTuiTestErroris now non-exhaustive and exposes boxed diagnostic/artifact payloads to keepResultsizes boundedValidation
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --all-features -- -D warningscargo clippy -p tui-test-rs --all-targets --no-default-features -- -D warningscargo test --workspace -- --test-threads=1python bindings/python/scripts/generate_stubs.py --checkThe full
npm run test:nodepath was not run because rebuilding the.nodeaddon is blocked on this Windows machine by the existing Ghostty/Zig linking failure; focused JavaScript tests used the existing addon for mocked runtime behavior while the changed native Rust code was validated through Cargo.