Build PrivateHeaderKit rewrite foundation - #30
Conversation
Add rewrite requirements, core generation skeleton, source discovery, state/resume contracts, target resolution, and managed artifact cleanup foundations.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3c2374288a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Derive the effective iOS source from the resolved runtime when build and system root are implicit, then reuse the Core plan for resume and failure paths.\n\nRemove the unsupported PH_OUT_DIR documentation so --out remains the single output owner.
Propagate product build and bin-path failures instead of falling back to stale files. Preflight the public command and both helpers before mutating an existing installation.
Use the helper process loaded dyld cache as the single inventory and lookup owner. Bind raw dumps to the discovered cache UUID, reject runtime-root cohort mismatches, and route MachOImage through the existing Objective-C and Swift renderers without requiring dlopen.
Preserve the loaded-cache identity boundary by failing when an exact cache miss cannot be loaded from disk, while keeping unsupported CPU slices as the sole intentional nil result. Canonicalize runtime roots through symlinks before validating cache cohort identity.
Decode schema-v1 execution records that predate cache UUID tracking while continuing to encode explicit nulls. Materialize exact SwiftPM helper paths once for interactive resume and carry canonical runtime-root identity into generation.
Treat only owned regular-file leaves as completed resume artifacts and propagate inspection failures instead of converting them to stale state. Preflight cleanup paths and clean stale artifacts before regeneration without following descendant symlinks.
Distinguish missing artifact parents from occupied path components and reject unsafe cleanup before mutating any candidate. Preserve stale artifacts and stop before raw dumping when non-empty directories cannot be safely removed.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f3e95dbb73
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Purpose
Establish the rewrite foundation around one user-facing
privateheaderkitcommand, with generation orchestration owned by Core and raw dumping kept internal.Changes
.headersartifact namespaces collision-free by preserving non-framework bundle suffixes.Testing
swift test(310 tests in 32 suites).PrivateHeaderKitCoreandPrivateHeaderKitCoreTests.libobjc.A.dylibdump smoke tests.git diff --check.