Skip to content

fix(apple): retain Interface Builder facts during finalization - #9953

Draft
morluto wants to merge 1 commit into
mainfrom
codex/ib-finalization-facts
Draft

morluto wants to merge 1 commit into
mainfrom
codex/ib-finalization-facts

Conversation

@morluto

@morluto morluto commented Nov 11, 2026

Copy link
Copy Markdown
Owner

Summary

Cancelling Interface Builder inspection during the final directory close could return success. A failed close also discarded the graph already decoded from the selected archives.

Produce the normalized graph before releasing its reader, retain it as a partial observation when finalization fails, and classify late cancellation with the exact caller reason. Existing physical read failures remain primary. The existing resource scope retains failed cleanup ownership and updates the returned error after retry.

The domain changes only export the existing report type and admit that report in the partial-observation union. No unrelated graph changes or provider close fixes are included or required.

Validation

  • Against base 847d59c947, three new finalization cases failed; normal completion and both physical-read-failure controls passed.
  • Five Interface Builder/keyed-archive source suites: 67 passed, including six finalization cases for successful/failed close, opaque late abort, mixed cancellation/cleanup failure, and retry.
  • An inert bundle-resource client probe now returns ArtifactOperationError with the exact opaque cancellation cause; the same boundary previously returned success after abort.
  • Standalone node scripts/run-typescript.mjs --noEmit passed.
  • Narrow oxlint exited 0 with 13 size/complexity/unused-import/style warnings; formatting and diff checks passed.

Authored archive bytes, temporary files and controlled failure callbacks only. No external decoder or target executed; no runtime build performed. This ordinary ownership correction adds no target authority.

Author readiness

Human owner:

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant