Repository navigation
feat(gga): pin GGA reviews to Codex gpt-6.1-sol in a way that survives gentle-ai sync - #21
Merged
Merged
Conversation
gentle-ai sync rewrites ~/.config/gga/config wholesale, which dropped the codex provider and model pin. The pin now lives in a codex shim that only injects the model for `codex exec` calls made by a gga process, reading ~/.config/gga/pin.env, plus an idempotent installer that maintains a marked block at the end of the gga config and an environment.d drop-in.
- dreamcoder_apply_hooks runs install-gga-pin.sh when gga is installed, so `dreamcoder repair` restores the config block that gentle-ai sync drops - fish, zsh and bash export GGA_PROVIDER=codex and put the shim dir first on PATH when it exists - .bashrc and dreamcoder-lib.sh no longer set strict mode in the sourcing shell; .bashrc guards fnm and drops a duplicate unguarded cargo source - .zshrc resolves the repo through its stowed link instead of a fixed path - docs/configuration/gga.md explains the pin, pin.env and the sync overwrite
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.
GGA must always review with OpenAI
gpt-6.1-solatmediumreasoning, in every project.gentle-ai sync(default scope includes GGA) andinstallcallgga.Inject, which rewrites the whole~/.config/gga/configunconditionally (verified in gentle-ai 3.7.0:internal/components/gga/config.go,internal/cli/sync.go:1158-1170), so a pin that lives only in that file is lost on the next sync.Design
scripts/gga-codex-shim.sh(installed as~/.config/gga/bin/codex): adds-m <model> -c model_reasoning_effort=<effort>tocodex execonly when aggaprocess is an ancestor and no explicit-mis given. Interactivecodexand every other call pass through untouched. Model and effort come from~/.config/gga/pin.env, parsed without being sourced. It does not depend on the gga config or its env, so a config rewrite cannot disable it.scripts/install-gga-pin.sh(idempotent,--dry-run, honoursXDG_CONFIG_HOME): installs the shim, createspin.envonly if missing, maintains a marked block at the end of~/.config/gga/config(PROVIDER/GGA_PROVIDER= codex, PATH), and writes~/.config/environment.d/50-gga-pin.conffor desktop-launched tools.dreamcoder repair/installre-apply it (only whenggais on PATH); fish, zsh and bash exportGGA_PROVIDERand the PATH entry.docs/configuration/gga.mddocuments what is pinned, how to change model/effort and the sync overwrite.Also fixed while GGA reviewed these files (pre-existing):
.bashrcsetset -euo pipefail, sourced cargo twice unguarded and ranfnmunchecked;dreamcoder-lib.shset strict mode although it is only sourced;.zshrchad a hardcoded repo path.Tests: 16 new bats tests (installer idempotency, block replace not duplicate, gentle-ai-style rewrite restored, pin.env not overwritten, dry-run writes nothing, unsafe config dir refused; shim ancestry, no-ancestor passthrough, explicit
-mwins, non-exec untouched,pin.envoverrides). RED was confirmed by breaking each behaviour on purpose. bats 171 ok, pytest exit 0, shellcheck/bash -n/zsh -n/fish -n/markdown links clean.Note: GGA's review of the second commit did not run: Codex answered
usage_limit_exceededand this repo's.ggaisSTRICT_MODE="false", so the hook let it through. The pin itself is confirmed working (the failed call's session log showsgpt-6.1-sol/medium).