build(deps): bump GJC SDK to 0.17.6, port the lifecycle patch, regenerate built-in presets - #176
Merged
Merged
Conversation
Pin @gajae-code/coding-agent (and its agent-core/ai/natives closure) to 0.17.6 and port the app-owned lifecycle manifest to pristine 0.17.6. - Recompute every before/after SHA-256; re-anchor the edits whose anchors moved in 11 files with the same semantics (none dropped). - Own new 0.17.6 detached work inside patched files: host activity heartbeats, periodic broker recovery, abandoned deadline-flush hooks, and fail-closed marking of re-enabled extension-module discovery. - Regenerate the runtime manifest (all platform natives closures and patch post-hashes), third-party notices and the command surface. - Update release runbooks and test pins to 0.17.6.
SDK 0.17.6 re-enabled extension-module discovery in createAgentSession (agent, project .gjc/extensions, plugin and settings modules). Opening a repository must not run its code in the worker, the same trust boundary as the refused project MCP config. Pass an empty preloadedExtensions result (0.16.4's own default) with a fresh ExtensionRuntime per session. disableExtensionDiscovery is avoided because on 0.17.6 it also turns off hook-convention discovery, which top-level sessions kept on 0.16.4. The contract test seeds real modules and a project hook, and a control run proves the same inputs load every module without the empty result.
… an unknown model key SDK 0.17.6 ExtensionToolWrapper validates direct tool execution like the model-facing agent loop, which strips unknown keys of strict objects, so a task call carrying model can no longer be rejected by the app (the SDK's customToolToDefinition drops rawArgumentValidation). Assert the real invariant instead: the override is ignored, reaches no child option, and the child runs on the parent's exact provider/model. Add a fail-closed test for a child that resolves to a different model.
…y with a contract test The app's preset copy still described GJC 0.13.1: 17 runtime presets (astra, grok 4.6, oMLX, spark, commandcode-goat, astra-fable combos) were missing from the picker and claude-fable, fable-opus-codex and glm presets advertised models the runtime no longer runs. The new bun test fails when a future SDK bump moves the runtime away from the copy.
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.
First batch toward beta.20. Nothing in it touches Opus 5.5 presets.
SDK 0.16.4 → 0.17.6
@gajae-code/*package is at 0.17.6 with a single copy of each and none nested. Re-runningnpm cifrom scratch applies the lifecycle patch (32 applied), andcheck:sdk-patchthen passes.patches/gjc-sdk-lifecycle/README.md.devin-acpis left unpatched on purpose. It already fails closed assdk_provider_producer_unrepresented, and patching it would exceedmaxFiles32.server/gjc-runtime-manifest.jsonregenerated (--update --all-platforms).gjc-command-surface.generated.tsandTHIRD-PARTY-NOTICES.mdregenerated.preloadedExtensions, so agent/project/settings extension modules stay out of app sessions exactly as on 0.16.4.disableExtensionDiscoveryis not used because on 0.17.6 it also disables project hooks. A new contract test covers this.taskwith an unknownmodelkey now runs on the parent's model instead of being rejected. A child on a mismatched model still fails closed. Separate commit; documented inGJC-LIVE-SPEC.md.Built-in preset copy
gjc-builtin-model-profiles.tsstill described GJC 0.13.1. It is now regenerated from 0.17.6:OMLXandCOMMAND CODE.claude-fable-5-1, glm presets toglm-5.3, and grok-45-eco corrected.server/builtin-model-profiles-contract.bun.test.tspins names, order and first-of-chain roles to the SDK. Against the old copy it fails 2 of 3 tests.Verification
npm run verify: exit 0 on the branch head.npm run server:payload:macos,cargo fmt --checkandcargo test --locked --manifest-path src-tauri/Cargo.toml: 382 + 11 pass.