ReviewOS

also looking at this

craft-native/craft

fix(native): preserve workspace sources and native overlay lifecycle

#384
Merged chris wants to merge codex/windows-zig-cache-diagnostics into main
20 files +500 -227

Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.

.github/workflows/windows-source-provenance.ymlmodified+25-4
Changes to .github/workflows/windows-source-provenance.yml
@@ -14,8 +14,29 @@ on:
1414permissions:
1515 contents: read
1616
17# Diagnostic only: use the original complete CI workflow through the same
18# reusable-call boundary as release acceptance. This branch cannot publish.
17# Diagnostic only: repeat the published workspace installer on an ephemeral
18# checkout. Never restore the source or hide the installer's exit status.
1919jobs:
20 source:
21 uses: ./.github/workflows/ci.yml
20 workspace-source:
21 runs-on: windows-2025
22 timeout-minutes: 10
23 steps:
24 - uses: actions/checkout@v6
25 - name: Setup the published Pantry runtime
26 uses: pantry-pm/pantry/packages/action@ae59a7b7fc5f4e6f7b8041a75e6b5772680bebdf # v0.11.101
27 with:
28 version: '0.11.101'
29 - name: Verify workspace installation preserves tracked sources
30 shell: pwsh
31 run: |
32 $source = Join-Path $env:GITHUB_WORKSPACE 'packages/zig/build.zig'
33 $expected = (Get-FileHash -LiteralPath $source -Algorithm SHA256).Hash
34 Get-ChildItem -LiteralPath 'pantry' -Force | Where-Object { $_.LinkType } | Select-Object FullName, LinkType, Target | Format-List
35 pantry install --no-save
36 $installExit = $LASTEXITCODE
37 $present = Test-Path -LiteralPath $source
38 Write-Output "Tracked core source present after workspace reinstall: $present"
39 git status --short -- packages/zig/build.zig
40 if (-not $present) { throw 'Workspace reinstall removed the tracked core build file' }
41 if ((Get-FileHash -LiteralPath $source -Algorithm SHA256).Hash -ne $expected) { throw 'Workspace reinstall changed the tracked core build file' }
42 if ($installExit -ne 0) { exit $installExit }