Repository navigation
GAM 7.48.26: attested pin; the fixture generator asks the build's own Python (3.15) - #58
Merged
Merged
Conversation
GAM 7.48.26 (attested by GAM-team's release workflow; GamGUI took it in goetchstone/gamgui#48). Its changes are Gmail message, thread and draft options the app doesn't use. The build is frozen with Python 3.15, so its bytecode no longer loads in GamGUI's 3.14 virtualenv, where gen_fixtures runs: what GAM itself does (its exit codes, its CSV settings and writer, its signature functions) moves to scripts/gam_oracle.py, standard library only, run under the build's Python and answering in JSON. Its setDialect check reads what each key is set to, since 3.15 loads True and None without co_consts. Every CSV the generator writes came out byte for byte the same from 3.15's writer, and the fixtures moved only their version and GamGUI-commit stamps. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
GAM 7.48.22 → 7.48.26. GamGUI took the same version in goetchstone/gamgui#48.
The pin
scripts/bump_gam.py v7.48.26downloadedgam-7.48.26-macos26.6-arm64.tar.xzand verified GitHub's build attestation (GAM-team's release workflow, main). It then wrote the SHA-256 pin, re-vendored throughfetch_gam.shagainst it, and bumpedGamVersion.expected, the fetch TAG and the mock'sgam version.addlabelid,showlabelids,oneitemperrow, attachment handling). The grammar diff (GamCommands.txt) is the same Gmail message/thread commands. None of them is a command this app runs.Why the fixture generator changed
7.48.26 is frozen with Python 3.15. Its marshalled bytecode loads only in 3.15, but
gen_fixtures.pyruns in GamGUI's 3.14 virtualenv, whose dependencies have no 3.15 builds yet. The generator reads what GAM itself does from that bytecode: the exit-code table, the CSV settings, and the signature functions it runs as an oracle. GamGUI hit the same wall for its exit codes and moved that reading toscripts/gam_rc_table.py. The same move here:scripts/gam_oracle.py: standard library only, run under the build's own Python (python3.Xon the PATH, or--gam-python), answering in JSON. It reads the RC table, checks GAM's CSV settings (setDialect and csv_output_no_escape_char), writes CSV, and runs_processSignature/checkArgumentPresent.co_consts. 3.15 loadsTrue/False/NonewithLOAD_COMMON_CONSTANT, which failed the old check although GAM's source is unchanged.tests.test_gam_exit_codes). GamGUI's bump removed the one we used, which is what broke the first run.Result
The fixtures moved only their stamps:
gam_versionandgamgui_commit(834493c → 374aa00), plus the CSV dialect's source text. GAM 7.48.26's exit codes, CSV and signature handling are identical to 7.48.22's. 589 package tests pass; the app builds with the new GAM embedded.Live: nothing new to check. The commands the app runs are unchanged; the next live check of any screen runs on 7.48.26.
🤖 Generated with Claude Code