Repository navigation
Conversation
This branch has not been deployed
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
Preserve decompile export facts across resume and cancellation. Resume now rejects invalid UTF-8 in committed journal records without changing the journal or index, while an incomplete trailing record remains repairable. A settled function failure is journaled before a later caller abort, including independent retries; cancellation retains the caller's exact reason, and no independent retry or new function publication is admitted after an observed caller abort.
The shared journal/parser and function-outcome owners enforce these rules. Existing input contracts, resource ownership, cleanup precedence and valid export formats are preserved. This is an ordinary correction within existing export boundaries; no new capability scope decision applies.
Related: #8260. These narrow fixes do not resolve that broader provenance-design issue.
Validation
a6e02657with only the new regression tests: 4 fail, 70 pass, reproducing both bugs while retaining main's stronger existing assertions.npm run typecheck— passes.npm run test:local -- src/application/decompileDirectory/decompileAll.test.ts src/application/decompileDirectory/exportResources.test.ts— 74 tests pass. Covers committed/torn UTF-8, literal U+FFFD, initial/independent settled failures, typed cancellation, cleanup ownership and resume.git diff --check— pass with existing lint warnings.Tests exercise the public export workflow with inert provider observations and temporary files. No actual decompiler engine, target execution or compiled CLI/MCP workflow was exercised. This three-file patch has no dependency on other audit changes; earlier fixture/profile changes and the unrelated absent-directory assertion change are excluded.
Author readiness
Human owner: