fix(release): keep Python inventory stable through packaging#676
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
evaOS review status: completedPR: #676 - fix(release): keep Python inventory stable through packaging evaOS review completed for this PR head. Automation note: agents should wait for this comment to reach PR URL: #676 Review URL: #676 (review) |
Exact-head gate and reviewer-set statusHead:
Unavailable reviewers are not counted as approvals:
The evaOS review bot is still marked |
There was a problem hiding this comment.
Walkthrough
PR: #676 - fix(release): keep Python inventory stable through packaging
Head: f03b42a53485a16bdd4d1e3a07cf91af919d99c6 into evaos/beta-rc-20260612. Review event: COMMENT.
Provider: GLM/Z.ai through ZCode (zcode-glm, zcode, model GLM-5.2).
Estimated review effort: 1/5 (~14 min)
Changed Files
| File | Status | Churn | Purpose | Risk |
|---|---|---|---|---|
scripts/prepareEvaosDesktopBridgeResource.js |
modified | +1/-1 | Changed file | Low |
tests/unit/process/prepareEvaosDesktopBridgeResource.test.ts |
modified | +10/-1 | Test coverage | Low |
Review Signal
No validated inline findings.
Dropped findings before posting: 0. High-severity findings: 0.
Risk Taxonomy
No finding categories.
Validation and Proof
1 required validation/proof recommendation(s) selected from changed files.
- required: TypeScript/web build or CI proof - Runtime TypeScript/web files or package/config files changed. Proof: npm run build; typecheck; focused Vitest; green GitHub check.
Proof status: missing - 1 required validation/proof recommendation(s) missing from PR metadata.
Profile validation hints: Do not ask for broad local suites when remote CI or fast-smoke proof is the right gate.
Profile proof expectations: Look for focused app smoke, packaged resource checks, or CI artifact proof when relevant.
Related Context
Related issues/PRs: #655, #623.
Suggested labels: tests.
Suggested reviewers: none from current metadata.
Review Settings Preview
- Profile: assertive
- Enabled sections: Review summary (inline_review); Walkthrough (inline_review); Changed-files table (walkthrough); Effort estimate (walkthrough); Related issues/PRs (walkthrough); Suggested labels (suggestion_only); Review status comment (sticky_status)
- Path instructions:
apps/eva-desktop-mac/**- Check macOS identity, helper path, TCC identity, and packaged resource shape risk. - Path instructions:
scripts/**- Treat release, packaging, and artifact-shape changes as high risk. - Label suggestions: workbench, macos, regression-hardening
- Reviewer suggestions: none
- Suggestion behavior: suggestions only; labels and reviewers are not auto-applied.
- Roadmap-only settings: auto-apply labels; auto-request reviewers; required status checks
Pre-merge checklist
- Inline comments target current RIGHT-side diff lines.
- No secret-like content survived into posted inline comments.
- REQUEST_CHANGES is only used when eligible P0/P1 findings survive validation.
- Required behavior proof is present or not applicable.
- Labels and reviewers are suggestions only; the bot did not auto-apply them.
Review proof recommendation satisfiedThe evaOS review's behavior-proof recommendation is satisfied for exact head
No release, notarization, installed-app, live Mac-control, broker, RC, or customer-readiness claim is made by these pre-merge proofs. |
What changed
__pycache__as a complete path segment while copying the pinned Python runtime into the Workbench bridge resource.builder-util.copyDir, the same copy implementation Electron Builder uses forextraResources.Root cause
The v2.1.33 release run correctly failed closed in
afterPack. The runtime inventory declared 3,622 entries, including 84 empty__pycache__directories. The old filter removed bytecode files but still created their parent cache directories. Electron Builder intentionally does not copy empty directories, so the packaged runtime contained 3,538 entries and failed its exact inventory comparison before signing.This was a packaging-contract defect introduced by the new inventory safeguard. It is not a signing, notarization, broker, Tailscale, Headscale, CUA, Peekaboo, or Mac-control architecture change.
User and release impact
The fix keeps the strong runtime inventory, symlink, mode, hash, architecture, and signed-Mach-O checks intact. It removes disposable Python cache directories before inventory creation so the declared runtime and packaged runtime are identical.
Validation
__pycache__entries, and inventory verification passed after the actual Builder copy implementation.git diff --checkpassed.This PR does not claim a released, notarized, installed, broker-connected, or customer-ready artifact. Those gates remain after merge and a fresh exact-head release run.
Advances #655 and #623.