feat(brain): add tinycloud:general-medium as a pickable Cloudglue brain model - #148
Merged
Conversation
…in model Generalize the Cloudglue brain descriptor into a model list (cloudglueBrainModels) with tinycloud:advanced staying the turnkey default, and consume it from both the see-path provider registration and the pi extension — replacing the two inline literals that duplicated the descriptor despite the "single source of truth" comment. Also fix a launch-time stomp the second model exposed: the turnkey session_start setModel reset the brain to advanced even when the session was launched with an explicit --model cloudglue/tinycloud:general-medium. An already-active Cloudglue model is now left alone; a non-Cloudglue ambient default is still claimed as before.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 78742ed. Configure here.
…napshot The banner status row captured a static model label at session_start, so launching with --model cloudglue/tinycloud:general-medium showed tinycloud:advanced in the header while the footer (live ctx.model) was right. HeaderOptions.model now also accepts a getter (the same thunk pattern setup already uses) and the extension passes the live ctx.model with the old static chain as the pre-bind fallback.
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.

What
Adds
tinycloud:general-mediumas a second pickable Cloudglue brain model alongsidetinycloud:advanced(which stays the turnkey default), on all three surfaces:src/providers/brain/vision.ts— the single source of truth is now a model list (cloudglueBrainModels());cloudglueBrainModel()keeps returning the advanced-first default. The see-path provider registration consumes the list, sosetup llm cloudglue tinycloud:general-mediumresolves for the CLIseebrain too.src/extension/overcast.ts—registerProviderand the turnkeysetModelnow consume the shared descriptors instead of two duplicated inline literals, so both models appear in/model.session_startblock re-set the model to advanced even when the session was launched with an explicit--model cloudglue/tinycloud:general-medium. An already-active Cloudglue model is now left alone; a non-Cloudglue ambient default is still claimed as before.Users pick the new model via
/model,--model cloudglue/tinycloud:general-mediumat launch, orsetup llm cloudglue tinycloud:general-medium.Verification
npm run typecheck— clean.npm test— 1317/1318 pass. The single failure (face-index.test.ts"aborting during add --all backpressure") is a pre-existing timing flake: it fails identically on clean main under full-suite load and passes 131/131 when the file runs alone.SKIP_BUILD=1 npm run test:e2e(freshnpm run build) — 364/367 pass. The 3 failures (agent.mentions_watch,archiveagent.names_bucket,archiveagent.add_verified) are the agent-mode cases that go live when a Cloudglue key is ambient; every brain completion is currently dying upstream with403 Your account is currently being verified…(AWS account-verification on the Cloudglue backend), unrelated to this change.overcast -p … --mode json --model cloudglue/tinycloud:general-medium→ session runs with"provider":"cloudglue","model":"tinycloud:general-medium"(previously stomped back to advanced).--model→"provider":"cloudglue","model":"tinycloud:advanced"(turnkey default preserved).Note
Low Risk
Model registration and default-selection logic changes are localized; behavior is covered by new unit tests and preserves advanced as the default when no explicit choice is set.
Overview
Adds
tinycloud:general-mediumas a second pickable Cloudglue brain alongsidetinycloud:advanced(still the turnkey default).cloudglueBrainModels()invision.tsis now the single source of truth for descriptors; the pi extension’s provider registration, turnkeysetModel, and CLIseebrain registration all consume that list so/model,--model, andsetup llmcan target the new id.Launch-time fix: turnkey session init no longer overwrites an already-selected Cloudglue model (e.g.
--model cloudglue/tinycloud:general-medium); it only claims the default when the active provider is not Cloudglue and the profile has no pinnedsetup llm.The TUI header
modelfield can be a getter so the status row shows the livectx.modelid after/modelswitches, matching the footer.Reviewed by Cursor Bugbot for commit 74a3a88. Bugbot is set up for automated code reviews on this repo. Configure here.