Skip to content

Fix public-archive installer under the hostile C-locale environment - #34

Merged
Reedtrullz merged 1 commit into
mainfrom
codex/public-archive-bridge-fixes
Aug 8, 2026
Merged

Fix public-archive installer under the hostile C-locale environment#34
Reedtrullz merged 1 commit into
mainfrom
codex/public-archive-bridge-fixes

Conversation

@Reedtrullz

Copy link
Copy Markdown
Owner

Discovered while installing the published v1.4.4 archive through scripts/install-vifty.sh --public-release-archive (the first end-to-end run of the bridge with a real published archive).

  • release-candidate-inventory.rb: under the installer's LANG=C hostile environment, Ruby reports filesystem names as ASCII-8BIT, so the strict encoding == UTF_8 check rejected every extracted path. Now validates UTF-8 representability instead.
  • verify-release-artifact.sh: cask regex reads (ruby -ne) crashed with invalid byte sequence in US-ASCII because Casks/vifty.rb contains non-ASCII bytes; Makefile file-reads were also made encoding-explicit; stdin -ne reads use -E UTF-8.

Verification

  • ReleaseCandidateInventoryTests: 41 runs, 341 assertions, 0 failures.
  • The full verifier now passes under LANG=C against the v1.4.4 archive (Notarized Developer ID, Gatekeeper accepted).
  • The installer progressed past both failures to the privileged helper-migration stage (which requires administrator authorization and failed closed with the app untouched).

Non-claims

  • No release/tag mutation. The v1.4.4 app install itself still requires the operator-approved administrator helper migration.

The operator bridge had never run end-to-end against a real published
archive; the v1.4.4 install exposed two latent failures under the
installer's LANG=C hardening:

- release-candidate-inventory.rb rejected every filename because Ruby
  reports filesystem names as ASCII-8BIT under a C locale; the UTF-8 check
  now tests representability instead of the encoding tag.
- verify-release-artifact.sh crashed with 'invalid byte sequence in
  US-ASCII' when regex-matching the cask (non-ASCII bytes) and Makefile
  under LANG=C; file reads and -ne stdin reads are now explicitly UTF-8.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@Reedtrullz
Reedtrullz merged commit 772ebcc into main Aug 8, 2026
1 check 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.

1 participant