Commit Graph

239 Commits

Author SHA1 Message Date
kilo-maintainer[bot] d1404579fa release: v7.3.0 2026-05-15 10:22:34 +00:00
kilo-maintainer[bot] 8de6c2ea86 release: v7.2.54 2026-05-15 08:44:02 +00:00
kilo-maintainer[bot] 645e805250 release: v7.2.52 2026-05-11 21:50:17 +00:00
kilo-maintainer[bot] 1f252acce1 release: v7.2.51 2026-05-11 16:59:59 +00:00
kilo-maintainer[bot] 7a69410acc release: v7.2.50 2026-05-11 11:14:30 +00:00
Mark IJbema 08a3e0a099 Merge pull request #10131 from Kilo-Org/mark/opencode-version-file
feat(upstream): record last merged tag in .opencode-version
2026-05-11 11:31:28 +02:00
Mark IJbema 8155e3a50f Merge pull request #10003 from Kilo-Org/mark/fix-root-pkgjson-regressions
fix: restore root package.json entries dropped by upstream-compat
2026-05-11 11:31:03 +02:00
kiloconnect[bot] 5b8121ea5c fix(upstream): rename shadowing path local in writeVersion 2026-05-11 08:51:59 +00:00
kiloconnect[bot] 8710e9d9de feat(upstream): record last merged tag in .opencode-version
Avoids the ls-remote + merge-base --is-ancestor walk in last() for the
common case by reading the recorded tag from .opencode-version. merge.ts
writes the file as part of the pre-merge compat commit so future runs of
fix-kilocode-markers, reset-to-upstream, and find-reset-candidates can
resolve the base tag instantly. Seeded with v1.14.33 (PR #9978).
2026-05-11 08:11:40 +00:00
Mark IJbema ee3ee5b06b fix(upstream-merge): always reconcile package.json post-merge
git rerere learns conflict resolutions from past upstream merges and
replays them on the next merge. When past resolutions used the buggy
mergeWithNewestVersions ordering, rerere auto-resolves package.json
files with stale content before transformConflictedPackageJson ever
gets a chance to run — so the fixed merge logic never reaches the
file.

Add reconcileAllPackageJson, which runs after every merge (clean,
auto-resolved, or partially conflicted) and rewrites every package.json
that the merge touched from the kilo branch's pre-merge HEAD and the
opencode compat branch using the same merge logic. Files that are
still conflicted are skipped so manual resolution isn't silently
overwritten.

This makes our merge logic the source of truth for package.json
content, regardless of what rerere or git's textual merge produced.
2026-05-11 10:02:35 +02:00
Mark IJbema d79664f084 fix(upstream-merge): preserve ours' key order in package.json dep merge
Seeding the result with theirs' keys and appending ours-only keys at the
end caused kilo-only deps (e.g. rotating-file-stream in packages/core)
to relocate from the middle of the deps block to the end during the
pre-merge transform. Git's textual 3-way merge then saw ours keeping
the line in place and theirs adding the same key elsewhere, producing
a duplicate JSON key in the merged file.

Iterate ours first so kilo-only deps stay in their original position,
then append any theirs-only keys at the end.
2026-05-11 10:02:34 +02:00
Mark IJbema a156e7a98d chore(upstream): preserve & prune root package.json entries on merge
The transform that materialises the 'kilo compat for vX.Y.Z' commit during
an upstream merge takes upstream's package.json wholesale and re-applies a
hand-picked list of Kilo scripts. That list was incomplete: it only covered
`extension`, `changeset`, `changeset:version`, `test`, and `test:ci`, so
every merge silently dropped Kilo's `postinstall` tail (`&& bun run
script/setup-git.ts`) and the `dev-setup` root shortcut, and it never
pruned upstream-only scripts (`dev:desktop` / `dev:web` / `dev:console`)
or upstream-only catalog entries (`@sentry/solid`,
`@sentry/vite-plugin`) whose target packages Kilo doesn't ship.

- replace the per-script if-blocks with data-driven PRESERVE_SCRIPTS
- add DELETE_UPSTREAM_SCRIPTS for scripts that reference packages Kilo
  doesn't ship
- add DELETE_UPSTREAM_CATALOG for catalog entries with zero Kilo consumers
- apply the same policy in both transformPackageJson (conflict path) and
  transformAllPackageJson (pre-merge sweep path) — previously the
  pre-merge sweep was missing `changeset` / `changeset:version`
  preservation
- new tests covering preservation, deletion, opencode test scripts, and
  the catalog pruning
2026-05-11 10:02:34 +02:00
Mark IJbema 2d37f83daa Merge pull request #9852 from Kilo-Org/mark/upstream-compat-base
fix: preserve upstream compat merge bases
2026-05-11 09:59:59 +02:00
kilo-maintainer[bot] 9d37a1aead release: v7.2.49 2026-05-09 20:12:04 +00:00
kilo-maintainer[bot] e306eb3f79 release: v7.2.48 2026-05-08 14:13:57 +00:00
kilo-maintainer[bot] b7f436b5b7 release: v7.2.47 2026-05-08 09:13:52 +00:00
Mark IJbema 76f49645f6 Merge remote-tracking branch 'origin/main' into mark/upstream-compat-base 2026-05-07 16:12:34 +02:00
kilo-maintainer[bot] 8699edd5a3 release: v7.2.44 2026-05-07 13:16:09 +00:00
Catriel Müller f40970557f refactor: renegare sdk 2026-05-06 14:26:06 -03:00
kiloconnect[bot] 70fde2221e refactor(upstream): improve compatibility commit lookup using semver
Update `findLatestCompatCommit` to use semantic versioning when identifying the latest compatibility commit. This ensures the correct commit is selected even when upstream tags diverge or are not strictly linear.

- Add semver parsing and comparison utilities
- Implement `targetSemver` to resolve versions from tags or commit messages
- Filter and sort compatibility candidates by version relative to the target version
- Add test case for diverging upstream tags
2026-05-06 14:34:13 +00:00
Mark IJbema ca36a75c2d Merge branch 'main' into mark/upstream-merge-head-base 2026-05-06 11:52:23 +02:00
Mark IJbema ed9a538668 Merge branch 'main' into mark/upstream-compat-base 2026-05-06 11:41:39 +02:00
kiloconnect[bot] e88dd31421 feat: support HEAD as upstream merge base 2026-05-06 09:38:26 +00:00
Mark IJbema c4a9ab912f Merge branch 'main' into session/agent_a6ecf426-6df9-4de2-832c-c3835090b68b 2026-05-06 11:22:24 +02:00
kilo-maintainer[bot] b1349843c8 release: v7.2.42 2026-05-06 09:05:30 +00:00
Mark IJbema ef45bedc33 Merge branch 'main' into session/agent_a6ecf426-6df9-4de2-832c-c3835090b68b 2026-05-06 10:25:08 +02:00
kiloconnect[bot] c239a6bb22 chore(config): enforce zdiff3 conflict style via postinstall
Add a new setup script to configure `merge.conflictStyle=zdiff3` locally
within the repository. This ensures that the common ancestor is visible
during merge conflicts, which is required for structural resolution by
`mergiraf` and simplifies manual conflict resolution.

The configuration is applied during `bun install` via the `postinstall`
hook and remains as a fallback for the upstream merge utilities.
2026-05-05 14:49:50 +00:00
Mark IJbema 0c5ec06f6e fix(upstream): pre-filter big + policy-protected files
Fixes hang when running the finder from the repo root without a path
scope. Root cause: upstream-only packages (packages/console, packages/web,
packages/desktop, etc. in config.skipFiles) contain multi-megabyte
media assets that stall concurrent Bun `git show` subprocesses on the
pipe buffer.

Changes:
- Batch upstream blob sizes in one `git cat-file --batch-check`
  subprocess before classifying anything. Files with missing upstream
  land directly in `upstream-missing`; files > 256 KB land in the new
  `too-large` bucket. Only sane-sized survivors get per-file `git show`.
- Filter out files matching the merge config's `keepOurs` and
  `skipFiles` globs (.github workflows, translated READMEs, upstream-
  only packages, etc.) — these are intentionally preserved or removed
  in Kilo and would otherwise pollute the report and tempt incorrect
  resets.

Full-repo dry-run now completes in ~2s.
2026-05-05 15:25:37 +02:00
Mark IJbema c1accfa588 fix(upstream): stop finder hanging on big assets
Replace the subprocess-based line diff in classifyDrift with an
in-process multiset diff (approxDiff) so concurrent classifications
don't deadlock on big text files like sprite.svg via Bun $.quiet()
pipe-buffer stalls.

Also filter non-code assets (SVG, PNG, fonts, archives, lock files,
etc.) before classification so they don't bloat the report or stress
git subprocesses. Switch kilo-only path excludes to glob pathspecs so
every packages/kilo-*/ and **/kilocode/** dir is excluded without
maintaining a hand list.

Rename the 'whitespace-only' bucket to 'cosmetic-only' — with the
multiset diff it also catches line reordering, so the old label was
misleading.
2026-05-05 14:17:33 +02:00
Mark IJbema 3f2ea7188b chore(upstream): add find-reset-candidates helper
Bulk-finds files that have drifted insignificantly from the last merged
upstream and (optionally) resets them. Extracts shared clean/changed
marker helpers into utils/markers.ts and shared reset logic into
utils/reset.ts so both the single-file reset helper and the new finder
use the same classification pipeline.
2026-05-05 13:44:01 +02:00
kiloconnect[bot] 6986b2b879 chore(upstream): skip files Kilo has removed from upstream
Add .github/TEAM_MEMBERS and other files Kilo has deleted to skipFiles
so future upstream merges auto-remove them via git rm instead of
surfacing delete-by-us conflicts that need manual resolution.

Also drop the stale github/.gitignore entry from keepOurs (the file
does not exist in Kilo main; keepOurs was a no-op) and move it to
skipFiles so upstream's copy is dropped on merge instead of added.
2026-05-05 10:27:26 +00:00
Mark IJbema 694773a7c9 Merge remote-tracking branch 'origin/main' into mark/upstream-compat-base 2026-05-05 11:30:58 +02:00
Mark IJbema e77c6c005a Merge pull request #9889 from Kilo-Org/mark/reset-file-to-upstream
Add reset-to-upstream helper
2026-05-05 11:29:48 +02:00
kilo-maintainer[bot] 8fcc77a2ae release: v7.2.40 2026-05-05 09:05:27 +00:00
kiloconnect[bot] 33aa8e5184 fix(cli): isolate upstream rerere training 2026-05-05 08:40:26 +00:00
kilo-maintainer[bot] 4e1bae01ae release: v7.2.39 2026-05-05 08:30:11 +00:00
kiloconnect[bot] b59dfaa642 fix: preserve binary upstream resets 2026-05-05 08:28:57 +00:00
kiloconnect[bot] 6e3ddaad60 feat: add reset-to-upstream script 2026-05-05 08:19:17 +00:00
kiloconnect[bot] 5c14ec2bed fix: preserve upstream ancestry on kilo merge 2026-05-05 08:10:36 +00:00
kiloconnect[bot] fe3724605f fix: resolve compat bases from version tags 2026-05-05 08:00:21 +00:00
kiloconnect[bot] 4b22bfbc57 fix: keep compat branches linear 2026-05-05 07:57:01 +00:00
Mark IJbema 0364cda447 Merge remote-tracking branch 'origin/main' into mark/remove-oc-desktop-apps 2026-05-05 09:05:38 +02:00
kilo-maintainer[bot] fa7082fcf8 release: v7.2.36 2026-05-05 00:11:27 +00:00
kilo-maintainer[bot] a0d657fc65 release: v7.2.35 2026-05-04 16:10:20 +00:00
kiloconnect[bot] 4b1c1930c2 fix: preserve upstream compat merge bases 2026-05-04 15:54:19 +00:00
kiloconnect[bot] d22d08bbce chore: remove stale desktop package references 2026-05-04 15:00:59 +00:00
kiloconnect[bot] 419ddea52a chore(upstream): implement compatibility base tracking for merges
Update the upstream merge script to identify and link to the previous compatibility commit. This ensures that pre-merge transformations maintain a proper commit history by using multiple parents when a prior compatibility base is found, rather than creating disconnected commits.

- Add `findLatestCompatCommit` to locate previous compatibility commits
- Implement `commitTree` and `updateBranch` for low-level git manipulation
- Update `merge.ts` to integrate compatibility base detection and multi-parent commits
2026-05-04 14:06:37 +00:00
Mark IJbema 7923c87f24 Merge pull request #9834 from Kilo-Org/docs/verification-copy-prompts
docs: add copyable verification prompts
2026-05-04 14:21:55 +02:00
Mark IJbema 6b4bc40b81 Merge pull request #9751 from Kilo-Org/markijbema/kilo-opencode-v1.14.29
Merge opencode v1.14.29
2026-05-04 14:21:23 +02:00
kiloconnect[bot] d066277079 docs: use safer verification commands 2026-05-04 12:09:16 +00:00