Skip to content

feat(fish): default GENTLE_AI_CHANNEL to beta on every host - #76

Merged
barbatdev merged 1 commit into
mainfrom
feat/gentle-ai-beta-channel
Oct 21, 2026
Merged

barbatdev merged 1 commit into
mainfrom
feat/gentle-ai-beta-channel

Conversation

@barbatdev

Copy link
Copy Markdown
Owner

Hosts set GENTLE_AI_CHANNEL in ad hoc conf.d files and disagreed (beta on agent-dev, nan, agent-refactoria; stable on agent-gentle, tars, Mac). gs sync installs from main, so 10-core.fish now defaults it to beta; 99-local.fish can override. Tested in w7 (default + override kept).

Refs #69

Hosts set the channel in ad hoc conf.d files and disagreed (beta on three,
stable on the rest). gs sync installs from main, so 10-core.fish now
defaults every host to beta; 99-local.fish can still override.

Refs #69
@barbatdev
barbatdev merged commit 2956f85 into main Oct 21, 2026
1 check passed
@barbatdev
barbatdev deleted the feat/gentle-ai-beta-channel branch October 21, 2026 14:03
@barbatdev

Copy link
Copy Markdown
Owner Author

Post-merge QA (glm)

Defaults GENTLE_AI_CHANNEL to beta in 10-core.fish when unset or empty, overridable by 99-local.fish. The w7 test covers both the default and the override-kept case with a clean env. Guard logic is correct for both unset and empty-string values. No defects found.

No findings.

Verdict: clean

@barbatdev

Copy link
Copy Markdown
Owner Author

Post-merge QA (deepseek)

Lens: evidence + test design.

The change is small and well evidenced. 10-core.fish now sets GENTLE_AI_CHANNEL to beta only when the variable is unset or empty, so an explicit host value (including an empty-but-deliberate value edge handled by the -z test) still wins, and 99-local.fish.example documents the override in the file operators actually copy. w7-gentle-ai-path.fish exercises both halves against the real file with env -i: the default expands to beta and a pre-set stable survives sourcing. The fish condition (if not set -q GENTLE_AI_CHANNEL; or test -z "$GENTLE_AI_CHANNEL") is safe because a quoted expansion of an unset fish variable yields one empty argument, so test -z never sees the wrong arity.

No defects found. One note: the tests source 10-core.fish directly, so they prove the variable's value but not the downstream channel selection it is meant to influence.

Suggestion (1)

  • Only the variable value is asserted, not the effect on gentle-ai (fish/tests/w7-gentle-ai-path.fish:27): The stated motivation is that hosts disagreed about which channel gentle-ai install/upgrade and engram downloads follow. The test proves GENTLE_AI_CHANNEL ends up beta (and that an override survives), which is the mechanism, but nothing asserts that a gentle-ai invocation under this environment actually receives the channel — e.g. a shim that echoes the variable it was launched with. That is acceptable for a dotfiles repo, but it should be stated as the boundary of the evidence.

Verdict: clean

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