fix(release): keep frozen package inventory self-contained#106886
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 13, 2026, 8:09 PM ET / July 14, 2026, 00:09 UTC. Summary PR surface: Tests +27, Other +9. Total +36 across 3 files. Reproducibility: yes. from source and workflow context: leave trusted main without dependencies, install dependencies only in the frozen source checkout, then invoke the packer with that Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Resolve Do we have a high-confidence way to reproduce the issue? Yes from source and workflow context: leave trusted main without dependencies, install dependencies only in the frozen source checkout, then invoke the packer with that Is this the best way to solve the issue? No, not yet. Executing the frozen checkout’s own inventory writer is the correct ownership boundary, but the implementation must also resolve its TypeScript loader from that checkout rather than from the trusted packer module. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against f693ac1b6527. Label changesLabel justifications:
Evidence reviewedPR surface: Tests +27, Other +9. Total +36 across 3 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
840be15 to
e27f755
Compare
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: fix(release): keep frozen package inventory self-contained This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
e27f755 to
7c5f715
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7c5f715a82
ℹ️ 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".
|
|
||
| export async function writePackageInventoryForDocker(sourceDir, runImpl = run) { | ||
| // Frozen release refs own their inventory shape; run their writer instead of importing current-main helpers. | ||
| const tsxModuleUrl = import.meta.resolve("tsx"); |
There was a problem hiding this comment.
Resolve tsx from the source checkout
When source=ref package acceptance runs, .github/workflows/package-acceptance.yml leaves the trusted workflow checkout without dependencies (install-deps: "false"), and resolve-openclaw-package-candidate.mjs installs deps only in packageSource.sourceDir before invoking this helper with --source-dir. Resolving tsx from this script therefore looks in the dependency-less trusted checkout and fails with ERR_MODULE_NOT_FOUND; keep the preload resolution in the child/source checkout, or otherwise point it at the source checkout's installed tsx, so frozen-ref packaging still works.
Useful? React with 👍 / 👎.
7c5f715 to
2194626
Compare
|
Merged via squash.
|
…106886) * fix(release): keep frozen package inventory self-contained * fix(release): declare frozen inventory helper
…106886) * fix(release): keep frozen package inventory self-contained * fix(release): declare frozen inventory helper
What Problem This Solves
Trusted-main release recovery failed while packaging a frozen stable target because the current packer imported a current-main inventory helper that does not exist in the frozen checkout.
Why This Change Was Made
Run the frozen source checkout's own inventory writer while loading
tsxfrom trusted main. This keeps the target's inventory schema and dependencies self-contained without requiring new helper files to exist on older refs.User Impact
Release validation can package older trusted refs again. Normal package output is unchanged.
Evidence