Mac release build fails at the Zig step #366
Closed
opened 2026-11-05 12:49:43 +00:00 by kayg
·
22 comments
No Branch/Tag specified
main
j470b-server-mesh-rejoin
mesh-compat-382
j444b-d381-key-wins-flood
j461b-macos-utun-reader-thread
j475b-remove-host-motion
fix-reconnect-new-link
j481-d380
dev
j479-mesh-soak
fix/j476-host-facts
j475-motion-pill-split
j470-mac-node-join
root-upgrade-d376
j474-review-merge
latency-targets-120hz
nightly-suite-shards
gotatun-pin-j469
macos-utun-reader-thread
fix-flood-echo-stall
wip/j416
motion-fast-ease-out
mesh-addhost-j259
takeover-close-terminals-d368
kbd-instant-followups
fix-trust-key-double-click
nightly-suite-partial-report
appwin-icons-j207
rusqlite-slice1
swipe-content-first-d374
mesh-mtu-381
addhost-instant-open
glass-contrast-d365-mock
glass-contrast-d365
signout-followups-442
fix-startup-toast-red
research-gotatun-matrix-j317
themes-sync-j304
fix-load-flakes
fix-nix-zig-patch
fix-compute01-browser-baseline
ratchet-size-baseline-419
predict-auto-d130
revoke-coverage-d367
nightly-suite-queue-timeout
nightly-browser-suite
fix-rustsec-2026-0459
fonts-ioskeley-obel
log-retention-d375
fix-kbd-no-anim-427
fix-dev-red-specs-2
takeover-proof-305-j205
wip/j410-server-pump
ui-consistency-d372
fix-osc52-clipboard
libghostty-vt-1.0
forget-retired-host-d369
j404-merge-426
fix-setup-lock-race
fix-touch-select-426
revoke-access-report-ui
fix-predictive-echo-specs
fix-selinux-agent-exec
wip/j395-checkpoint2
wip/j395
j391-review-scratch
ui-consistency-j195-deferred-rebased
fix-rustc-paths-421
decisions-wording-341
fix-install-suite-red
fix-dev-rtt-specs
fix-pending-removal-align
fix-privileged-skip
fix-install-suite-404
review-j368
mesh-dns-j254
revoke-access-report-d356b
revoke-privilege-round5
fix-removal-confirm
review-j360
gotatun-rotation-367
deps-refresh-340
review-j354
review-J351
review-j350
addhost-takeover-d359
revoke-report-items-347
revoke-end-sessions-d362
review-j348
size-mesh-ssh-346
size-trim-337
revoke-access-diff-d356
j259-pre-rebase-b06c5a6
j305-ended-at-start-spec
addhost-sudo-consent
fix-layout-real-specs-411
fix-shell-open-411
fix-console-hosts-373
fix-shell-exit
fuzz-host-name-353
fix-host-details-410
macos-filter-j197
research-gotatun-tricks
revoke-p3-j216l
stale-state-pill
revoke-followups-j216k
revoke-progress-j216e
backup/macos01-20261106/lume/j197
backup/macos01-20261106/lume/appwin-icons-j207-stash0
backup/macos01-20261106/claude/stash-0
backup/macos01-20261106/claude/stash-1
backup/macos01-20261106/claude/J80-macos-s1
backup/macos01-20261106/claude/J80
backup/macos01-20261106/claude/J80-slice1-20261102
backup/macos01-20261106/claude/J16b-appwin-on-dev
backup/macos01-20261106/claude/appwin-launch-idle-146
backup/macos01-20261106/claude/J80-s1-run
wip/j259
trust-285-p3c
runtime-lock-j216f
mesh-ssh-p3-j175
tun-proof-p3b
trust-285-p3
terminal-polish-j271
tun-proof-p3
ssh-install-flakes-j216i
fuzz-fixes-j264
trust-285-a
trust-285-b
restart-oversized-fixture-j198
backup/macos01-20261106/lume/appwin-icons-j207
restart-bound-j216h
up-preflight-p3-j198
backup/macos01-20261106/lume/j251
up-preflight-j198
wip/up-preflight-j198-j245-p2
wip/up-preflight-j198-j245-p1
agent-fsync-offloop-j196
wip/up-preflight-j198-j245
settings-offscreen-j231
wip/up-preflight-j198-j226-inspection
wip/j103f
themes-j206
wip/up-preflight-j198-j226
flakes-j216c
backup/macos01-20261106/claude/j197
flakes-j216b
backup/macos01-20261106/claude/j197-red
wip/up-preflight-j198-review
flakes-j216
backup/macos01-20261106/claude/appwin-icons-j207
engineering-j208b
appwin-mock-j209
toast-stack-j165
engineering-j208
decisions-d351
decisions-d350
decisions-d349
appearance-presets-mock-j129
decisions-d348
docs-audit-spec
doc-coverage-baseline-raise
decisions-d347
decisions-d346b
decisions-d346
j88h-profile
ui-consistency-j195-deferred
ui-consistency-j195
engineering-practices-j194
preferred-login-ui-j166
signin-pools-263-j174
macos-node-265-s1
decisions-d345
decisions-d344
proxy-cgroup-j164
verify-quick-fuzz-329
proxy-start-io-j168
timing-flakes-j163
up-263-s1
mcp-events-j147
verify-quick-fuzz-j158
proxy-p3-j159
agent-resource-j157-detect
wip/j103d-final
remote-cancel-hang-j155
proxy-traefik-281-j62d
j149-verify-quick
proxy-traefik-281-j62b
j150-drop-unnamed
wip/j79d-red-r4
wip/j103d-d332
rootless-toast-j142
wip/j103d-head
wip/j103d
j125c-mcp
macos-build-j136
backup/macos01-20261106/claude/j136
wip/j79d-red-cli
wip/j79d-red-server
j121-link-liveness
j118c-tracer-failures
wip/j79c-head
release-desktop-j131
j124c-signed-macos
wip/j79c-red-p3
wip/j79c-red-p23
wip/j79c-red-p22
merge-j128-check
perf-deferred-j128
sidebar-toggle-260
j127-shortcut-changed-dot
j125-mcp
j118-tracer-failures
j126-account-summary
settings-sections-mock-j92
j120-pinch-lock
sidebar-292
backup/macos01-20261106/claude/j120
taste-2026-11-03
row-actions-242-215
backup/macos01-20261106/claude/stash-0-untracked
backup/macos01-20261106/claude/J80-265-s1-run
backup/macos01-20261106/claude/J80-macos-s1-20261102
j112-canvas-commands
ui-no-overshoot-scroll
fix-recovery-restart
backup/macos01-20261106/claude/stash-1-untracked
taste-2026-11-02
size-baseline-ratchet
machine-cards-structure-j108
j109-boot-copy-mockups
fix-dev-red
wip/up-263-s1
j95b-settings-rows
proxy-traefik-281
j95-option-rows
docs-human-j91
docs-keys-palette
fix-flood-1013-270-j38d
mesh-ssh-s1
mesh-ssh-s0
addhost-d291-tunnel
test-stability-load
mesh-relay-220
repro-296
shim-thp-off-24
mesh-pins-258-v2
mesh-dns
signin-d311-merged
docs-pages
ui-size-283
fix-ui-batch-specs
wip/j12b-edge-update
gate-on-arm
fix-rename-sync-293
trust-285-j60b
fix-focus-ring-clip
integ-ui-1101
edge-update-v2
signin-d311
taste-2026-11-01
layout-per-tab-250
ui-approved-splitopt-224
ui-approved-splitopt-224-on-dev
icon-text-centre-282
ui-approved-189-212-216
research-reverse-proxy
transfer-budget-320
review-mesh-pins-258-r2
sidebar-pill-259
review-mesh-relay-220
wip/j12-edge-update-v2
nix-package
status-crash-loop-237
fix-dev-test-failures
fix-fixture-socket-path
wip/mesh-relay-220-pre-dev-advance-rebase
fix-canvas-side-clip
research-head-to-head
frosted-real-256
review-mesh-pins-258
wip/mesh-relay-220-pre-final-rebase
review-layout-per-tab-250-r2
broad-suite-triage
nix-devshell
review-status-crash-loop-237-r3
wip/nix-devshell-pre-p3
taste-frosted-real
wip/code-serve-demo-2026-10-30
wip/code-serve-glass-2026-10-30
wip/code-serve-clusters-2026-10-30
wip/code-merge-release94-dev-2026-10-30
wip/rproxy-delta-scratch-2026-10-30
wip/stale-note-257-staged-2026-10-30
wip/d241-size-staged-2026-10-30
review-broad-suite-207
wip/mesh-pins-258-pre-split
wip/mesh-relay-220-pre-rebase
mesh-measure-220
plan-211-update
review-edge-autoupdate-r3
perf24-reconnect
review-stale-note-r2
release-prod-live
d241-shell-marker
review-mesh-pins-server-258
review-revocation-r3
review-setup-token-r2
review-sync-journal-r3
wip/review-mesh-pins-258-prune-review-1995fee46
frosted-scroll-256
sync-journal-r3
revocation-per-account-wip
review-tokio-asyncfd-0386
review-sync-p3s
wip/stash-8by64-stash0-2026-10-30
mesh-drag-r2
setup-token-data-wip
release-9-4
auth-busy-1013
mesh-view-overlap
sync-p3s
review-auth-busy-wake
review-readd-r8-wip
mesh-drag-bounds
audit-auth-93
app-windows-stream-start
review-authority-cap-r3
app-windows-r7-measure
readd-minimal-r6
readd-minimal-r5
app-windows-r7-soak
readd-minimal-r4
app-windows-r7
app-windows-r6
readd-minimal-r3
readd-minimal-r2
readd-minimal
merge-release8-dev
review-busy-page-liveness-r2
review-busy-page-liveness
mesh-view-trim
review-authority-read-retry-r2
review-remove-uninstall-r2
release-retry-reattach
release-retry
review-remove-uninstall
review-authority-read-retry
app-windows-ship
mesh-autoswitch-p2
mesh-ssh
mesh-relay
mesh-macos-node
screen-and-control
session-labels
review-real-logins-r5
review-real-logins-r4
review-real-logins-r3
shim-memory-r2
review-real-logins-r2
shim-memory
shadow-addhost-instant
shadow-real-logins
shadow-same-session-flood
shadow-prod-perf-fix
hosts-from-server
app-windows-real
app-windows-transport
release-prod-6w
mesh-policy-verify
quiet-close-toast
dev-merge-r4
review-mesh-agent-transport
review-app-windows-transport
settings-roundtrip
review-release-pipeline-r4
mesh-agent-transport
ended-strip-fix
review-audit-ca-update-d244
settings-rows
phone-width
signout-clear
fix-restart-tests
dev-merge-rp
signer-hardening
review-audit-ca-update
terminal-fidelity
review-audit-ca-update-wip
mesh-integrate
review-mesh-agent-transport-515d3712
review-mesh-dataplane-feec1988
mesh-dataplane
signout
research-canvas-node
wip/review-renderer-cost
wip/review-terminal-fidelity
padlock-glyph
review-release-pipeline-2e95b689
phone-polish
sidebar-polish
inbox-generic
review-mesh-dataplane-378d4055
prod-batch
ui-inbox
ui-ca-unlock
ui-machine-sections
review-mesh-dataplane-a5f744fb
tls-session-prod
session-bounds-prod
fix-dead-session
session-bounds
tls-session
palette-polish
shortcuts-d222
research-appmeta
phone-gutter
ui-centre-button
wip/ui-centre-button
wip/tls-session
review-addhost-breakit
ui-platform
renderer-cost
remote-agents
mesh-api
ssh-bootstrap
prod-hotfix2
prod-fixes
review-remote-agents
review-mesh-dataplane
session-life
research-browser
review-mesh-api
research-capture
review-mesh-api-round3
review-mesh-api-round1
gate-stability
review-gate-stability
review-relay-direct
review-mesh-api-findings
proto-sessions
font-picker
proto-addhost
proto-windows
mesh-core
latency-gate
research-bsd
research-discovery
keytray-mods
mock-core
ui-tweaks
fix-motion-sel
fix-motion
integrate2
fix-robust
t-web
t-server
vt-ghostty
fix-snap-echo
t-web-auth
review-vt2
t-agent
lane-protocol
lane-shim
lane-auth
s1-base
s1-contracts
s1-workspace
No results found.
No labels
launch-qa
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
kayg/infraternal#366
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
J243: reproduce macOS arm64 CLI release and macos-build-check failures on unmodified origin/dev, fix dependency fetching and shell compatibility while preserving D213 pinned Zig and checksums, prove a fresh-target Mac release and Linux quick/fast gates. Branch mac-build-j243; base
eb0684cbf. Plan: reproduce and trace (30 min), implement focused fixes and regression checks (30 min), Mac and Linux validation (60 min). No merge.Started J243 on mac-build-j243 from origin/dev
eb0684cbf. Plan: reproduce and trace (30 min), focused fixes/regression checks (30 min), Mac fresh-target release plus Linux quick/fast (60 min). Mac workspace ~/worktrees/j243; logs kept there. Preserving D213/D328 Zig 0.15.2 and its checksums.Mac reproduction is queued on the required lock. ps shows J170 lockf since 01:21:59 elapsed and a J207 lockf session since 05:12:18 elapsed. No lock bypass or other-job cleanup attempted. Continuing dependency and build-script inspection while waiting; no Mac result claimed.
BLOCKED before reproduction: lockf -t 0 -k /tmp/mac-bench.lock true returns exit 75, "lockf: /tmp/mac-bench.lock: already locked". J207 has lockf PID 50871 with child /bin/zsh -l PID 91370 in S+ state for >3 hours; J170 lockf PID 2030 is also present. Evidence on control host: /home/kayg/Developer/Worktrees/j243-evidence/mac-lock-blocker.log. Please have the owning job release the Mac lock; do not remove the lock file. I cancelled only my waiting lockf PID 15969 and confirmed it exited. No baseline command ran, no code changed, no Mac or gate success claimed. Branch mac-build-j243 remains at
eb0684cbf(origin/dev base). Read-only source inspection confirmed rust-remap-flags.sh uses local -n (unsupported by bash 3.2); pinned upstream build.zig.zon packages remain hash pinned, and the existing Nix release path prepopulates VT dependency packages. Exact Zig failure still needs Mac reproduction. Ready to resume after lock release; no decision/toolchain/checksum changes made.Resumed per orchestrator: Mac lock is a queue, not a blocker. Waiting with blocking lockf -k /tmp/mac-bench.lock, without a timeout; continuing pinned-package investigation while queued. Same branch/base and deliverables.
Finding while queued: pinned upstream build.zig unconditionally constructs GhosttyBench.init before checking config.emit_bench. GhosttyBench.init calls SharedDeps.add for both helper executables; that configures full app dependencies, including dcimgui with GitHub imgui URL (Zig content hash pinned). Source evidence on compute01: ~/worktrees/j243-evidence/bench-dependency-source.txt and package-pins.txt. Hypothesis: unused benchmark graph causes the GitHub fetch; awaiting native Mac reproduction before selecting fix. Existing Nix package release already prepopulates Zig p/ from a fixed-output vtDeps derivation. Pinned nixpkgs has no bash 3.2 attribute or installed 3.2 binary (bash32-availability.txt); native Mac /bin/bash will be the regression environment. Added an uncommitted focused remap check: Linux baseline passes (remap-linux-baseline.log), Mac pending.
Prepared focused candidate fixes locally while the unmodified Mac baseline remains queued: preserve the remap helper API using validated indirect-array append compatible with Bash 3.2; configure upstream benchmark helpers only when emit_bench requests them, avoiding their unused full-app dependency graph. Zig version and all existing checksums unchanged. Linux remap regression red/green artifacts: compute01 ~/worktrees/j243-evidence/remap-linux-red.log and remap-linux-fixed.log. Linux quick then fast queued through build-slot on compute01 after checking both VM queues (3 queued/4 slots vs 2 queued/2 slots). One target: ~/worktrees/j243/target. Logs: ~/worktrees/j243-evidence/verify-{quick,fast}.log. Mac validation still pending; candidate changes not copied there yet.
15-minute Mac queue note: blocking lockf is still waiting; no timeout or bypass. Baseline checkout remains unmodified at
eb0684cbf. Candidate patch is prepared locally and on compute01, whose quick/fast run is also queued through build-slot. Lightweight Linux checks passed: remap literals/order/append/refusal, build-vt pinned compiler selection without ambient Zig, and shell syntax (compute01 ~/worktrees/j243-evidence/script-checks.log). Next: capture native baseline errors, then apply candidate and prove fresh-target release plus macos-build-check.30-minute Mac queue note: baseline is still waiting in blocking lockf; continuing foreground wait. Linux quick passed workspace clippy and is compiling the unit-test binaries. Zig evidence: compute01 ~/worktrees/j243-evidence/zig-pin.log records 0.15.2, unchanged pin inputs, and identical executable SHA-256 versus the pinned Nix unpacked output. Saving candidate as a WIP on mac-build-j243 for the common brief crash-safety rule; native confirmation and final gates still outstanding. No success claim.
Native baseline acquired and released the Mac lock. Unmodified
eb0684cbf: direct cargo build --locked --release -p infraternal exited 101 before compilation: .cargo/rust-remap-flags.sh: line 7: local: -n: invalid option; local: usage: local name[=value] ... . scripts/macos-build-check exited 1 at checksum verification: usage: sha256sum [-bctwz] [files ...]. Initial absolute-path Nix invocation exited 1 because nix-store was not on PATH (environment setup issue); rerunning unchanged source with /nix/var/nix/profiles/default/bin on PATH to reach Zig. Mac logs ~/worktrees/j243/baseline-{check,release,nix-check}.log, copied to control ~/Developer/Worktrees/j243-evidence/. WIP pushed:972628a99. No native success claim yet.Linux quick pre-check completed: scope guard PASS; migration names PASS; fmt PASS; doc coverage ratchet PASS; clippy (workspace) PASS; unit tests (changed) PASS; QUICK_EXIT=0. This is not the gate. Full fast is now running in the same compute01 ~/worktrees/j243/target; logs ~/worktrees/j243-evidence/verify-{quick,fast}.log. WIP head remains
972628a99. Corrected-environment native baseline is compiling, and a locked validation runner is queued behind it: Bash 3.2 regression red/green, candidate installation, deletion of this job target, clean CLI release, then macos-build-check. Runner evidence retained on control ~/Developer/Worktrees/j243-evidence/validate-mac.sh.Queue/progress note: corrected-environment Mac baseline is still compiling release dependencies under the lock; the separate native red/green + clean-release + macos-build-check validation is waiting in blocking lockf behind it. No timeout or bypass. Linux quick passed all rows (QUICK_EXIT=0); fast is compiling its integration-test targets. Candidate remains pushed at
972628a99. Live logs: Mac ~/worktrees/j243/baseline-nix-check2.log and baseline-nix-release.log; Linux compute01 ~/worktrees/j243-evidence/verify-fast.log.15-minute validation queue note: native baseline still owns the Mac lock and is compiling release dependencies; validation remains queued with blocking lockf, without a timeout or bypass. Linux fast has progressed from integration-target compilation to executing server tests; quick already passed. Source remains pushed at
972628a99, with no further code changes. Evidence paths unchanged: Mac ~/worktrees/j243/baseline-nix-check2.log; compute01 ~/worktrees/j243-evidence/verify-fast.log.Zig failure reproduced on unchanged
eb0684cbfin the corrected Nix environment. Exact diagnostics from baseline-nix-check2.log: vaxis-0.5.1-BWNV_LosCQAGmCCNOLljCIw6j6-yt53tji6n6rwJ2BhS/build.zig.zon:9:20: error: invalid HTTP response: HttpConnectionClosing (.url = "https://github.com/ivanstepanovftw/zigimg/archive/d7b7ab0ba0899643831ef042bd73289510b39906.tar.gz"); line 13:20: error: unable to discover remote git server capabilities: HttpConnectionClosing (.url = "git+https://github.com/jacobsandlund/uucode#5f05f8f83a75caea201f12cc8ea32a2d82ea9732"). Ends with Error: "pinned libghostty-vt build failed". Root cause matches the candidate: unused GhosttyBench construction calls SharedDeps.add and resolves the app dependency graph, including vaxis. The VT-only graph does not need it. Full log on Mac ~/worktrees/j243/baseline-nix-check2.log and copied to control ~/Developer/Worktrees/j243-evidence/baseline-nix-check2.log. The wrapper is finishing the explicit Nix CLI release reproducer before releasing the lock to the prepared fresh-target validation.Correction/coverage finding after the baseline wrapper completed: explicit Nix CLI release PASSED (baseline-nix-release.exit=0; release profile finished). The Zig failure (macos-build-check exit 101) came from its shim test build, while the non-Nix CLI invocation failed at Bash 3.2 local -n before compilation. The default macOS CLI graph can omit the shim, so CLI release alone does not prove the release Zig engine. Adding a focused release shim --lib build with async-fd,cli to macos-build-check, alongside the native Bash regression check. This directly covers the missing release Zig path. Native validation has the candidate installed after the baseline red check and is rebuilding the CLI from a deleted target; its later macos-build-check will exercise both release and debug Zig recipes. Existing pins remain unchanged.
Correction to the preceding phase inference: the initial Zig failure IS in the CLI release build. baseline-nix-check2.log line 331 names target/release/build/infraternal-shim-a0dcc60837720b02/build-script-build, exiting 1; macos-build-check exited 101 before finishing the release. The subsequent explicit Nix CLI retry passed with the same partially populated target (exit 0). The CLI manifest always depends on infraternal-shim; it does not omit it. This is a cold-fetch reliability failure, and a warmed retry cannot prove the fix. Removed the redundant proposed extra shim build; source is again exactly WIP
972628a99. The queued validation deletes the entire target before CLI release, then runs the existing full Mac check with the native Bash regression added. Full baseline log and vaxis pins preserved under control ~/.cache/codex-scratch/j243/evidence/.J243 progress, 20:07 IST: the blocking Mac lock wait has completed. Native
/bin/bashreproducedlocal: -n: invalid option; the candidate regression now passes under that same Bash 3.2. The fresh-target CLI release build is running under the lock with an EXIT trap. Linuxscripts/verify quickpassed;scripts/verify fastis still building its static artifacts. Full logs are being retained for the final receipt.J243 finding, 20:12 IST: the first full Linux
scripts/verify fastexited 1. All rows passed excepttest(101); both static release builds passed. The failing test isinfraternal-status --test review_237_r3_matrix,manager_shaped_answers_follow_every_documented_cell, atserver=0 agent=1 swap=true: receivedPart of this machine's setup is not running; another status is unknown., expectedPart of this machine's setup is not running.I am running that exact test on the unmodified base before attributing it. The full first-run log is retained at/home/claude/.cache/codex-scratch/j243/evidence/verify-fast.logand copied to the control evidence directory. Mac native Bash 3.2 red/green passed; the fresh-target CLI release build remains in progress under the lock.J243 progress, 20:27 IST: final candidate head is
1694565fd7363fc93d81e475dd6eaec9fdab58c7onmac-build-j243, pushed without merging. The Mac holds the blocking lock and has reached the CLI/workspace crates in the fresh-target release build. Candidate source SHA-256 receipts match between control and Mac. The isolated status-matrix test passed on unmodified base, so the first full-gate failure is not yet attributed to a base defect. A second fullscripts/verify faston the finalized head is running; the first complete failure log is preserved separately.J243 Linux final gate on
1694565fd7363fc93d81e475dd6eaec9fdab58c7:scripts/verify quickpassed, followed byscripts/verify fastpassing on the repeated full run. The first status-matrix failure is intermittent: both the unmodified-base isolated run and the unchanged candidate full rerun passed. Both full-run logs are retained.Verbatim final gate summary and final test output:
Baseline diagnostics, pin/cache/source receipts and complete Linux logs. Raw copies remain under
/home/claude/.cache/codex-scratch/j243/evidence/and/home/kayg/.cache/codex-scratch/j243/evidence/. Mac fresh release has passed; the complete Mac check remains running.J243 progress, 20:54 IST: the fresh-target macOS CLI release passed (
RELEASE_EXIT=0), 22,355,120 bytes, SHA-256a492a32a89924fdc3cbc0d2b1afb842d11fc29b6945b95483d3b9ac0f1bf74f5; only system libraries are linked. Its fresh Zig package cache has four package directories and no vaxis/full app graph. The complete Mac check has passed the portable suites and is finishing the SSH/session-shell phase under the same lock. Linux quick and the repeated full fast gate passed, with full logs attached above; Linux target cleanup is complete.J243 complete. Branch
mac-build-j243, head1694565fd7363fc93d81e475dd6eaec9fdab58c7, based on unmodifiedorigin/devateb0684cbf94af59f0795177fd685f5fe5501ec8a. Pushed; not merged. This issue remains open.On the base,
nix develop -c scripts/macos-build-checkexited 101 during its CLI release build, in the shim build script. Exact Zig diagnostics:Plain
cargo build --locked --release -p infraternalwith native Bash 3.2 exited 101 before compilation:The subsequent explicit CLI release retry inside Nix passed with the partially populated target. That warmed retry was not used as fix evidence. Direct invocation of the check outside its documented Nix shell also produced
usage: sha256sum [-bctwz] [files ...]; the supported validation below uses the documented shell and its GNU tools.The pinned upstream
build.zigconstructed benchmark helpers even whenemit_benchwas false. Those helpers calledSharedDeps.add(), loading the full app graph and vaxis's transitive GitHub packages. All manifests inspected were pinned, including the two failing transitive packages. Pre-fetching or vendoring those unused packages would retain an unnecessary dependency.scripts/build-vtnow constructs the benchmark graph only when requested. It restoresbuild.zigfrom the verified source archive before the adjustment and asserts the expected source boundary; the existing recipe hash invalidates the native cache. The fresh Mac VT package cache contains four packages and no vaxis package.The remap helper now appends through a validated shell identifier with quoted path values, preserving ordering and existing flags under Bash 3.2. The new
/bin/bashregression covers literal spaces, apostrophes and shell metacharacters, existing flags, ordering and invalid identifiers; it runs in the Mac check and Linux static-build checks. Native Mac red/green receipts reproduce the old diagnostic and pass with the fix. Pinned Linux nixpkgs had no Bash 3.2 binary/attribute available, so the Mac native shell supplies the compatibility proof.One Zig remains: 0.15.2, with the existing D213/D328 checksum table unchanged. No toolchain, package manifest, source revision, source checksum, compiler profile or dependency pin changed; no new download path was added.
Validation used the foreground blocking
lockf -k /tmp/mac-bench.lock, with an EXIT trap. The candidate files on the Mac match the final head's SHA-256 receipts. Its target was deleted before the explicit clean release build, withRUSTC_WRAPPERunset, then the complete Mac check ran:The final five session-shell tests passed. The CLI reports
infraternal 0.1.0 (stable), is 22,355,120 bytes, SHA-256a492a32a89924fdc3cbc0d2b1afb842d11fc29b6945b95483d3b9ac0f1bf74f5, and links only system libraries. Linux static outputs are 23,896,528 bytes x86_64 and 21,703,920 bytes aarch64; both passed linkage, trust and artifact checks. Sizes are report-only under the existing D243 policy.Linux
scripts/verify quickpassed, then the fullscripts/verify fastpassed on the unchanged candidate's second full run. The first full run hit the status-matrix assertion recorded above; an isolated unmodified-base run and the repeated full candidate run both passed it. No status code or gate was changed. Verbatim final gate summary and final test output:Baseline and complete Linux receipts · Fresh Mac release, complete Mac check, native Bash red/green, source hashes and artifact receipts.
Raw receipts are retained under
$HOME/.cache/codex-scratch/j243/evidence/on control, compute01 and the Mac. Both owned target directories have been removed. The Mac lock is released and no J243 build remains queued or running.Closed by the orchestrator during the 2026-11-09 night housekeeping (owner order: "close stale prs/issues"). The work has landed on dev, and the latest note here is a finish or merge note (J387 inventory on #436). Reopen if anything is still missing.