Repository navigation
chore(upstream): sync v2.1.3 - #15425
Conversation
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
Co-authored-by: kitlangton <7587245+kitlangton@users.noreply.github.com>
…ompt recall (#57466)
…/console (#57588)
…ross protocols and gateways (#57615)
…lesystem and permission (#57961)
Co-authored-by: 4sDriven <131897363+4sDriven@users.noreply.github.com>
…ns and mcp (#57949)
…overlay once (#57950)
…ion modules (#57952)
…, and skill (#57953)
…w decoders (#57958)
…catalog schema (#57959)
Co-authored-by: Brendonovich <14191578+Brendonovich@users.noreply.github.com>
… apps (#58093) Co-authored-by: Hona <10430890+Hona@users.noreply.github.com>
Co-authored-by: Hona <10430890+Hona@users.noreply.github.com>
|
➖ v2 migration progress: 1.5% → 1.5% (0 done, 0 total, 0 dropped; 143/9828 cells) Placement: 0 new marked lines in shared files, 0 new Ratchets: 25 core-internal imports (base 25); shared patches by rung 26 seam, 20 patch (base 26 seam, 20 patch). No change to the progress map. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Code Review SummaryStatus: No Issues Found | Recommendation: Merge This is an upstream sync PR ( The Upstream impact: reviewed the upstream delta on the seams Kilo uses and found no break:
CI run status was not inspected during this review; the checks reported in the PR body (bun 1.4.4, 28/28 tasks, 13 pre-existing host-only Files Reviewed (grouped; the sync touches 400+ files)
Reviewed by deepseek-flash-latest · Input: 98.7K · Output: 31.7K · Cached: 3.5M Review guidance: REVIEW.md from base branch |
WebReflection
left a comment
There was a problem hiding this comment.
AI counter-validation is green 👍
Merge with 'Create a merge commit'. Do not squash or rebase.
Closes #15422
Release
v2.1.2(taga517687fde9, release commitc600cddc68f, 2026-10-21) andv2.1.3(tagbb25a2f4a3f, release commit37d973754ba, 2026-10-22)37d973754ba, parent of thev2.1.3tag, onupstream/deve9ac459c2e6..37d973754ba(v2.1.1tov2.1.3): 96 commits, 396 files, harness change 200 files +5063/-1455.v2.1.2part: 31 commits, 161 files0d8ae9be328chore(upstream): sync v2.1.3 (37d973754ba).pinned()resolvesv2.1.3/37d973754bav2.1.2,v2.1.3,v2.1.4), 2.9 daysv2.1.4,74f8d4860f4, released 2026-10-23 during this work), 0.9 daysWhy one PR for two releases:
v2.1.2andv2.1.3overlap with Kilo-changed files in only 10 modified files (lock file, 4package.jsonfiles, 4 core files, 1 TUI file), and one sync PR keeps the Bun bump and the lock regeneration in one place. The merge used--allow-skip.Commits in this PR:
0d8ae9be328the sync merge (script/upstream/merge.ts --version v2.1.3 --base-branch HEAD --allow-skip).021d6b31848merge oforigin/v2(feat(tui): order the model picker by Kilo Gateway metadata #15405 landed during verification). Clean merge.80b53bc9b5ddocs(migration): baseline for v2.1.3.d75e69380b1merge oforigin/v2(docs(migration): record branch-name generation findings #15345, feat(tui): show Kilo Gateway news on the home screen #15407 landed during verification). Clean merge.5c251c17ec4docs(migration): update v2.1.3 baseline after merging v2.Upstream content (relevant to Kilo):
packageManagerbun 1.4.2 to 1.4.4 (anomalyco/opencode#58087, expected to fix the Windows Bun module loader segfault inpackages/util); typed free-limit session error (provider.free-limit) with a TUI notice, prompt recall and OpenCode Go upsell modal;OPENCODE_DISABLE_FREE_MODELS; configured providerbaseURLoverrides catalog model endpoints; compaction summaries get the normal output limit; titles at the lowest model variant; Windows service port moved out of the WSL mirrored range; many core and ai type and schema cleanups;@pierre/diffs1.6.1 and@pierre/highlightsreplaceshikiin the web UI packages (removed on Kilo).Conflicts
packages/core/src/session/runner/publish-llm-event.tskilocode_change(gateway)lines (KiloSessionUsageimport,providerCostfield,nativeandproviderCostin the step settlement) on top of upstream's changes (TokenUsage.Info,SessionMessage.Native, sharedisRecordandstringify). Resolved by the tooling (mergiraf); verified by hand and bybun run check. Rung unchanged (4, gateway cost), no Kilo code movedbun.lockorigin/v2: upstream dependency bumps only (@types/bun1.4.3,bun-types1.4.4,@opentunnel/*0.4.1,@pierre/diffs1.6.1,@pierre/highlights,shikiremoved).github/workflows/pr-management.yml,publish.ymlcheck-workflows.ts --fix)infra/,packages/{app,console,desktop,function,gui-extensions,session-ui,stats,storybook,web}/,salesforce/,sdks/vscode/No new upstream workflows. Upstream deleted
duplicate-issues.yml,opencode.yml,review.yml(already deleted on Kilo) andscript/duplicate-pr.ts(not Kilo-owned, deletion taken).script/check-workflows.tsneeds no change (3 active workflows).Shared files touched
Upstream changed these Kilo-patched shared files. Kilo's added and removed lines in each file are identical before and after the sync:
package.json,packages/{cli,core,tui}/package.json: version and dependency bumps (rung 3 entries, unchanged).packages/core/src/session/runner/publish-llm-event.ts: conflict above (rung 4).packages/core/src/plugin/internal.ts,packages/core/src/session/compaction.ts,packages/core/src/session/title.ts,packages/tui/src/routes/session/index.tsx: clean merge, Kilo lines unchanged.check-shared-patches: 43 files, 318 marked, 39 unmarked at the sync merge (theorigin/v2limits of that time); 46 files, 334 marked, 39 unmarked at the head after the twoorigin/v2merges. All at their limits. The sync adds or removes no patch, so no limit changes.Kilo-diff check
git diff --no-renames --name-status e9ac459c2e6 origin/v2vs... 37d973754ba HEAD(headd75e69380b1,origin/v2aa7d29226e4): identical except for files upstream deleted or added inside Kilo-removed areas (3 workflows,.opencode/agent/duplicate-pr.md, 18 deletedpackages/consolefiles, 8 new upstream files inpackages/{app,console,session-ui,stats}that stay absent).bun.lock(regenerated) andpinned-v2-baseline.md(baseline refresh). Both intended.git diff --stat origin/v2 HEAD -- 'packages/kilo-*' 'packages/*/src/kilocode' 'packages/*/test/kilocode' .github .kilo script migration-tracking: onlypinned-v2-baseline.mdand upstream's deletion ofscript/duplicate-pr.ts./usage, model picker (feat(tui): order the model picker by Kilo Gateway metadata #15405), Kilo news (feat(tui): show Kilo Gateway news on the home screen #15407).bun dev models --standalone: thekilo/list (16 models) is identical on this branch and onorigin/v2.git merge-treeagainst the open v2 PRs: chore(ci): add macOS platform test job #15424, chore(ci): run the non-sharded unit tests in a parallel leg #15415, docs(review): focus Kilo PR reviews on migration gaps #15414, fix: match v1 OpenAI sign-in and identify as Kilo #15411, docs(migration): list v1 to v2 client breaking changes #15291, docs(migration): drop the v1 fixtures and session-policy units #15286 merge cleanly. fix(kilo-cli): apply Kilo functional branding #15417, docs(migration): record the client, identity and sync-gate decisions of 2026-10-20 #15290 have the same conflicts as againstorigin/v2. feat(vscode): reuse the v1 extension on the v2 server #15370 and feat(vscode): reuse the v1 extension UI on v2 data #15349 get one new conflict,bun.lock(regenerate it).Checks
All runs used bun 1.4.4 (
packageManager), afterbun install --linker hoisted --frozen-lockfile.bun run check(root)check-workflows,check-opencode-annotations(72 shared files vs37d973754ba),check-shared-patchesfind-reset-candidates --dry-runpackages/protocol,packages/clientcheck:generated;packages/clientbun run generateprogress.tstwice +--checkorigin/v2: the sync does not change the mapv2-baseline.ts --checks(CI mirror, clean detached worktree outside the repo)test(13 known host failures) andlint:effect-patterns(27 errors, unchanged, not run by CI)Tests and baseline delta
bun turbo test --forcewith isolatedOPENCODE_TEST_HOMEandXDG_*, same script on both sides (origin/v22af82eef6a8with bun 1.4.2):origin/v2corecliservertuipluginkilo-gateway-corekilo-pluginkilo-cliAfter the second
origin/v2merge:tui1,604,plugin9,kilo-plugin188,kilo-cli62 pass.New failures: none. The 13
corefailures are host-specific and identical onorigin/v2: 7 shell cases (macOS bash 3.2) and 6Session.shellcases (fish login shell; withSHELL=/bin/zshthe file passes 9/9).pinned-v2-baseline.mdnow has av2.1.3capture; thev2.1.1capture moves to previous captures. No test was skipped or edited.Self-test
Fresh
KILO_V2_PROFILEfor each run, signed out, bun 1.4.4:bun dev run --standalone --model kilo/kilo-auto/free "Reply with only the word ok.": answeredok, nolevel=ERRORlog lines. Pass.--mode none): the home screen showsAuto Free · Kilo Gateway; the model picker lists the Kilo Gateway models with the info panel;/connectlists Kilo Gateway first under Popular; the prompt "What is VERSION in math.ts?" answered1.2.3throughAuto Free;logsis empty. Pass.bun dev models --standalone: thekilo/list is identical toorigin/v2.Upstream impact
v2and use bun 1.4.4 (packageManager). Another Bun version rewritesbun.lock, and the pre-push hook rejects it.provider.free-limiterror and the OpenCode Go upsell modal trigger only on aQuotaExceedederror whose body containsFreeUsageLimitError(an OpenCode Console error name). Kilo Gateway errors are not expected to match; not verified against a real free-limit response.OPENCODE_DISABLE_FREE_MODELSis a new upstream knob; Kilo does not set it.Tooling gaps
merge.tsstops onv2.1.3 skips v2.1.2without--allow-skip. This is intended; the flag was passed after the decision to include both releases.merge.ts --base-branch HEADcommits the merge and prints "Open a PR from sync-v2-1-3 into sync-v2-1-3". With an in-place merge, it should namev2. Cosmetic, also seen in thev2.1.1sync.origin/v2moved twice during verification. Each timeprogress.ts --checkturned stale (the history readsorigin/v2) and the Kilo-diff check showed the new Kilo work as a diff. The fix both times was a normal merge oforigin/v2..worktrees/upstream-sync/and theupstream-sync-auto-v2.1.3branch stay after the run; they were removed by hand.Follow-ups
v2.1.4(74f8d4860f4).