Skip to content

fix(ci): desktop artifact builds no longer fail on a placeholder allowBuilds entry - #21

Merged
jmclaren7 merged 2 commits into
mainfrom
jcs/quirky-goodall-cixi5i
Sep 22, 2026
Merged

jmclaren7 merged 2 commits into
mainfrom
jcs/quirky-goodall-cixi5i

Conversation

@jmclaren7

Copy link
Copy Markdown
Member

What Changed

  • Deleted the msgpackr-extract: set this to true or false line under allowBuilds in pnpm-workspace.yaml.
  • Recorded the repair in FORK.md entry 14 so the next upstream sync takes upstream's file rather than keeping a fork edit.

Why

The Desktop Artifacts workflow on main (run 33) failed on all four platform legs within seconds of starting the build step, and the publish job then failed because no artifacts existed. Every leg died with:

SchemaError: Expected boolean
  at ["allowBuilds"]["msgpackr-extract"]
    at readWorkspaceConfig (scripts/build-desktop-artifact.ts:3344:34)

That line is an unfilled placeholder that arrived with the upstream Effect rc.115 dependency bump. pnpm tolerates the string, which is why the CI workflow stayed green, but build-desktop-artifact.ts decodes allowBuilds as a record of booleans and refuses it. Nothing in pnpm-lock.yaml references msgpackr-extract, and upstream's current main no longer carries the line, so removing it is the whole fix.

Verified locally by running the build script's exact WorkspaceConfig schema and YAML decoder against both files: the previous pnpm-workspace.yaml reproduces the CI error, the fixed one decodes cleanly. pnpm install --frozen-lockfile still reports the lockfile as up to date.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes (no UI change)
  • I included a video for animation/interaction changes (no UI change)

🤖 Generated with Claude Code

https://claude.ai/code/session_01J6iMDRM6VXUTNdZxk9aJDt


Generated by Claude Code

…wBuilds entry

Every Desktop Artifacts leg died in readWorkspaceConfig with
"SchemaError: Expected boolean at allowBuilds.msgpackr-extract":
pnpm-workspace.yaml carried `msgpackr-extract: set this to true or false`,
an unfilled placeholder from the upstream Effect rc.115 dependency bump.
pnpm tolerates the string, so CI stayed green, but build-desktop-artifact.ts
decodes allowBuilds as a boolean record. Nothing in the lockfile references
msgpackr-extract and upstream main has since dropped the line, so delete it
and record the repair in FORK.md entry 14.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J6iMDRM6VXUTNdZxk9aJDt
Copilot AI balanced review requested due to automatic review settings September 22, 2026 14:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The focused change matches the workspace schema, observed CI failure, lockfile state, and current upstream configuration.

Review effort: Balanced
Findings: None

What changed in this PR

Fixes desktop artifact builds by removing an invalid allowBuilds placeholder and documenting the fork-specific repair.

Changes:

  • Removes the non-boolean msgpackr-extract entry.
  • Records the repair and future upstream-sync handling.
File Description
pnpm-workspace.yaml Removes the invalid build-policy entry.
FORK.md Documents the repair and sync guidance.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.5 KiB 13.5 KiB −23 B (−0.2%) 15.1 KiB ✅
Codex Thread snapshot wire 7.1 KiB 7.1 KiB 0 B (0.0%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.5 KiB 6.4 KiB −23 B (−0.3%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 56.3 KiB 56.2 KiB −44 B (−0.1%) 66.4 KiB ✅
Codex Live turn messages 10 9 −1 (−10.0%) 21 ✅
Claude Total thread wire 13.5 KiB 13.5 KiB +7 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +4 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.4 KiB 6.4 KiB +3 B (+0.0%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 57.0 KiB 57.0 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: 7a32d88 · PR result: f108e5b · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@jmclaren7
jmclaren7 merged commit 980f525 into main Sep 22, 2026
7 checks passed
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.

2 participants