Mac release build fails at the Zig step #366

Closed
opened 2026-11-05 12:49:43 +00:00 by kayg · 22 comments
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

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.

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.
Author
Owner

Zig failure reproduced on unchanged eb0684cbf in 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.

Zig failure reproduced on unchanged eb0684cbf in 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.
Author
Owner

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/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.
Author
Owner

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/.

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/.
Author
Owner

J243 progress, 20:07 IST: the blocking Mac lock wait has completed. Native /bin/bash reproduced local: -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. Linux scripts/verify quick passed; scripts/verify fast is still building its static artifacts. Full logs are being retained for the final receipt.

J243 progress, 20:07 IST: the blocking Mac lock wait has completed. Native `/bin/bash` reproduced `local: -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. Linux `scripts/verify quick` passed; `scripts/verify fast` is still building its static artifacts. Full logs are being retained for the final receipt.
Author
Owner

J243 finding, 20:12 IST: the first full Linux scripts/verify fast exited 1. All rows passed except test (101); both static release builds passed. The failing test is infraternal-status --test review_237_r3_matrix, manager_shaped_answers_follow_every_documented_cell, at server=0 agent=1 swap=true: received Part of this machine's setup is not running; another status is unknown., expected Part 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.log and 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 finding, 20:12 IST: the first full Linux `scripts/verify fast` exited 1. All rows passed except `test` (101); both static release builds passed. The failing test is `infraternal-status --test review_237_r3_matrix`, `manager_shaped_answers_follow_every_documented_cell`, at `server=0 agent=1 swap=true`: received `Part of this machine's setup is not running; another status is unknown.`, expected `Part 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.log` and 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.
Author
Owner

J243 progress, 20:27 IST: final candidate head is 1694565fd7363fc93d81e475dd6eaec9fdab58c7 on mac-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 full scripts/verify fast on the finalized head is running; the first complete failure log is preserved separately.

J243 progress, 20:27 IST: final candidate head is `1694565fd7363fc93d81e475dd6eaec9fdab58c7` on `mac-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 full `scripts/verify fast` on the finalized head is running; the first complete failure log is preserved separately.
Author
Owner

J243 Linux final gate on 1694565fd7363fc93d81e475dd6eaec9fdab58c7: scripts/verify quick passed, followed by scripts/verify fast passing 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:

+---------------------------+--------------+
| Rust gate                 | Result       |
+---------------------------+--------------+
| fmt                       | PASS         |
| migration names           | PASS         |
| migration tooling tests   | PASS         |
| VT native fmt             | PASS         |
| CLI plugin compile-out    | PASS         |
| clippy                    | PASS         |
| SSH runtime test helper   | PASS         |
| real-binary fixture paths | PASS         |
| Traefik component manifest | PASS         |
| release component publication | PASS         |
| test                      | PASS         |
| SSH inode reuse fixture   | PASS         |
| shim process-per-user     | PASS         |
| cargo-deny                | PASS         |
| gate architecture         | PASS         |
| doc coverage ratchet      | PASS         |
| static builds             | PASS         |
+---------------------------+--------------+


 50 pass
 0 fail
 77253 expect() calls
Ran 50 tests across 13 files. [11.74s]
FAST_EXIT=0

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 Linux final gate on `1694565fd7363fc93d81e475dd6eaec9fdab58c7`: `scripts/verify quick` passed, followed by `scripts/verify fast` passing 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: ```text +---------------------------+--------------+ | Rust gate | Result | +---------------------------+--------------+ | fmt | PASS | | migration names | PASS | | migration tooling tests | PASS | | VT native fmt | PASS | | CLI plugin compile-out | PASS | | clippy | PASS | | SSH runtime test helper | PASS | | real-binary fixture paths | PASS | | Traefik component manifest | PASS | | release component publication | PASS | | test | PASS | | SSH inode reuse fixture | PASS | | shim process-per-user | PASS | | cargo-deny | PASS | | gate architecture | PASS | | doc coverage ratchet | PASS | | static builds | PASS | +---------------------------+--------------+ 50 pass 0 fail 77253 expect() calls Ran 50 tests across 13 files. [11.74s] FAST_EXIT=0 ``` [Baseline diagnostics, pin/cache/source receipts and complete Linux logs](https://git.kayg.org/attachments/e7878464-060a-4507-87d9-7c503a3a623d). 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.
Author
Owner

J243 progress, 20:54 IST: the fresh-target macOS CLI release passed (RELEASE_EXIT=0), 22,355,120 bytes, SHA-256 a492a32a89924fdc3cbc0d2b1afb842d11fc29b6945b95483d3b9ac0f1bf74f5; 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 progress, 20:54 IST: the fresh-target macOS CLI release passed (`RELEASE_EXIT=0`), 22,355,120 bytes, SHA-256 `a492a32a89924fdc3cbc0d2b1afb842d11fc29b6945b95483d3b9ac0f1bf74f5`; 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.
Author
Owner

J243 complete. Branch mac-build-j243, head 1694565fd7363fc93d81e475dd6eaec9fdab58c7, based on unmodified origin/dev at eb0684cbf94af59f0795177fd685f5fe5501ec8a. Pushed; not merged. This issue remains open.

On the base, nix develop -c scripts/macos-build-check exited 101 during its CLI release build, in the shim build script. Exact Zig diagnostics:

  /Users/lume/worktrees/j243/target/vt-tools/zig-cache/p/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",
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /Users/lume/worktrees/j243/target/vt-tools/zig-cache/p/vaxis-0.5.1-BWNV_LosCQAGmCCNOLljCIw6j6-yt53tji6n6rwJ2BhS/build.zig.zon:13:20: error: unable to discover remote git server capabilities: HttpConnectionClosing
              .url = "git+https://github.com/jacobsandlund/uucode#5f05f8f83a75caea201f12cc8ea32a2d82ea9732",
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Error: "pinned libghostty-vt build failed"

Plain cargo build --locked --release -p infraternal with native Bash 3.2 exited 101 before compilation:

error: process didn't exit successfully: `/Users/lume/worktrees/j243/.cargo/rustc.sh -vV` (exit status: 2)
--- stderr
/Users/lume/worktrees/j243/.cargo/rust-remap-flags.sh: line 7: local: -n: invalid option
local: usage: local name[=value] ...

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.zig constructed benchmark helpers even when emit_bench was false. Those helpers called SharedDeps.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-vt now constructs the benchmark graph only when requested. It restores build.zig from 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/bash regression 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, with RUSTC_WRAPPER unset, then the complete Mac check ran:

    Finished `release` profile [optimized] target(s) in 31m 57s
RELEASE_EXIT=0
macos-build-check: PASS
MACOS_CHECK_EXIT=0
VALIDATE_EXIT=0

The final five session-shell tests passed. The CLI reports infraternal 0.1.0 (stable), is 22,355,120 bytes, SHA-256 a492a32a89924fdc3cbc0d2b1afb842d11fc29b6945b95483d3b9ac0f1bf74f5, 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 quick passed, then the full scripts/verify fast passed 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:

+---------------------------+--------------+
| Rust gate                 | Result       |
+---------------------------+--------------+
| fmt                       | PASS         |
| migration names           | PASS         |
| migration tooling tests   | PASS         |
| VT native fmt             | PASS         |
| CLI plugin compile-out    | PASS         |
| clippy                    | PASS         |
| SSH runtime test helper   | PASS         |
| real-binary fixture paths | PASS         |
| Traefik component manifest | PASS         |
| release component publication | PASS         |
| test                      | PASS         |
| SSH inode reuse fixture   | PASS         |
| shim process-per-user     | PASS         |
| cargo-deny                | PASS         |
| gate architecture         | PASS         |
| doc coverage ratchet      | PASS         |
| static builds             | PASS         |
+---------------------------+--------------+


 50 pass
 0 fail
 77253 expect() calls
Ran 50 tests across 13 files. [11.74s]
FAST_EXIT=0

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.

J243 complete. Branch `mac-build-j243`, head `1694565fd7363fc93d81e475dd6eaec9fdab58c7`, based on unmodified `origin/dev` at `eb0684cbf94af59f0795177fd685f5fe5501ec8a`. Pushed; not merged. This issue remains open. On the base, `nix develop -c scripts/macos-build-check` exited 101 during its CLI release build, in the shim build script. Exact Zig diagnostics: ```text /Users/lume/worktrees/j243/target/vt-tools/zig-cache/p/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", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/lume/worktrees/j243/target/vt-tools/zig-cache/p/vaxis-0.5.1-BWNV_LosCQAGmCCNOLljCIw6j6-yt53tji6n6rwJ2BhS/build.zig.zon:13:20: error: unable to discover remote git server capabilities: HttpConnectionClosing .url = "git+https://github.com/jacobsandlund/uucode#5f05f8f83a75caea201f12cc8ea32a2d82ea9732", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: "pinned libghostty-vt build failed" ``` Plain `cargo build --locked --release -p infraternal` with native Bash 3.2 exited 101 before compilation: ```text error: process didn't exit successfully: `/Users/lume/worktrees/j243/.cargo/rustc.sh -vV` (exit status: 2) --- stderr /Users/lume/worktrees/j243/.cargo/rust-remap-flags.sh: line 7: local: -n: invalid option local: usage: local name[=value] ... ``` 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.zig` constructed benchmark helpers even when `emit_bench` was false. Those helpers called `SharedDeps.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-vt` now constructs the benchmark graph only when requested. It restores `build.zig` from 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/bash` regression 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, with `RUSTC_WRAPPER` unset, then the complete Mac check ran: ```text Finished `release` profile [optimized] target(s) in 31m 57s RELEASE_EXIT=0 macos-build-check: PASS MACOS_CHECK_EXIT=0 VALIDATE_EXIT=0 ``` The final five session-shell tests passed. The CLI reports `infraternal 0.1.0 (stable)`, is **22,355,120 bytes**, SHA-256 `a492a32a89924fdc3cbc0d2b1afb842d11fc29b6945b95483d3b9ac0f1bf74f5`, 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 quick` passed, then the full `scripts/verify fast` passed 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: ```text +---------------------------+--------------+ | Rust gate | Result | +---------------------------+--------------+ | fmt | PASS | | migration names | PASS | | migration tooling tests | PASS | | VT native fmt | PASS | | CLI plugin compile-out | PASS | | clippy | PASS | | SSH runtime test helper | PASS | | real-binary fixture paths | PASS | | Traefik component manifest | PASS | | release component publication | PASS | | test | PASS | | SSH inode reuse fixture | PASS | | shim process-per-user | PASS | | cargo-deny | PASS | | gate architecture | PASS | | doc coverage ratchet | PASS | | static builds | PASS | +---------------------------+--------------+ 50 pass 0 fail 77253 expect() calls Ran 50 tests across 13 files. [11.74s] FAST_EXIT=0 ``` [Baseline and complete Linux receipts](https://git.kayg.org/attachments/e7878464-060a-4507-87d9-7c503a3a623d) · [Fresh Mac release, complete Mac check, native Bash red/green, source hashes and artifact receipts](https://git.kayg.org/attachments/33c29a90-9365-4929-9215-462c450af712). 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.
Author
Owner

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.

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.
kayg closed this issue 2026-11-08 19:04:23 +00:00
Sign in to join this conversation.
No labels
launch-qa
No milestone
No project
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
No description provided.