Commit Graph
453 Commits
Author SHA1 Message Date
kilo-maintainer[bot] ec57af1128 release: v7.2.30 2026-04-29 12:28:57 +00:00
kirillk 3b88d2a5ce fix(cli): include shell scripts in annotation check 2026-04-28 12:33:40 -04:00
kirillk cf80826d5b fix(cli): check annotations across shared upstream paths 2026-04-28 12:09:37 -04:00
Mark IJbema 98654b289a fix(upstream): skip mergiraf for non-textual conflicts (delete/modify, binary)
Files in UD/DU/binary/etc. conflict states have no <<<<<<< markers in
the working tree. My earlier simplification that removed the
`git checkout --conflict=diff3` pre-check caused mergiraf to run on
them: it would exit 0 (nothing to solve), after which the unconditional
`git add` silently staged our side as resolved, losing the signal that
upstream deleted the file (or that we deleted what upstream modified).

Guard runMergiraf by inspecting the file before calling mergiraf: if
there are no conflict markers, skip the file entirely so it falls
through to manual review. Surface a skipped-count line in the normal
log output so the operator can see how many non-textual conflicts were
left alone.
2026-04-28 14:50:50 +02:00
Mark IJbema 80d848d3e3 feat(upstream): use zdiff3 conflict markers during upstream merge
Pass merge.conflictStyle=zdiff3 on the git merge invocation so every
conflicted file gets base-aware (|||||||) markers from the start, not
just the ones runMergiraf happens to touch. Benefits:

- Mergiraf always has a base section to work from, so its structural
  heuristics apply uniformly.
- Remaining manual conflicts show both sides relative to the common
  ancestor, which is dramatically easier to resolve than a 2-way marker.

Since the working tree already carries diff3 markers after the merge,
drop the per-file `git checkout --conflict=diff3` in runMergiraf.
2026-04-28 14:35:50 +02:00
Mark IJbema e6f387e2dd chore(upstream): disable mergiraf .orig backups
mergiraf defaults to writing a .orig sibling file for every file it
touches. Pass --keep-backup=false so the merge script doesn't leave a
pile of .orig files across the working tree after running.
2026-04-28 14:26:17 +02:00
Mark IJbema 24146a2171 fix(upstream): preserve partial mergiraf results without staging them
mergiraf exit 2 means it reduced conflicts but didn't fully close them.
Previously we bailed on any non-zero exit, throwing away the useful
partial reduction in the working tree. Now we always read the file after
mergiraf runs: if no conflict markers remain we stage, if markers remain
we keep the reduced content in the working tree for manual review but
leave the file unstaged so nothing half-resolved is auto-committed. Also
clean up the debug wording and surface a partial-resolution count in the
normal log output.
2026-04-28 14:25:41 +02:00
Mark IJbema 37b4440603 fix(upstream): make runMergiraf resilient to per-file failures
Previously git add and mergiraf solve could bubble up exit 128 (e.g. on
files missing the base version) and abort the entire merge. Wrap every
shell call in .nothrow() and skip to the next transform pass on failure.
2026-04-28 14:11:01 +02:00
kiloconnect[bot] 815e44a042 chore(upstream): run mergiraf on conflicted files during upstream merge
Invokes `mergiraf solve` (syntax-aware git merge tool) on each conflicted
file before the kilocode-specific transform cascade, re-materializing the
file with diff3 markers first so mergiraf can reconstruct the base
revision. This auto-resolves the common pattern of neighbouring import
additions around kilocode_change markers plus most JSON/YAML/TOML and
other structural conflicts, leaving the existing transforms to handle
only what's genuinely ambiguous.

mergiraf is required at startup; if missing the script aborts early with
install instructions (brew / cargo / nix) rather than failing mid-merge.
2026-04-28 13:46:33 +02:00
Mark IJbema bc5816663c fix(cli): skip .github/VOUCHED.td and surface git rm errors in upstream merge
The skip list in script/upstream/utils/config.ts matched .github/VOUCHED.md,
but upstream actually ships .github/VOUCHED.td (typo extension), so the file
fell through to manual resolution every merge. Broaden the pattern to
.github/VOUCHED.* so both variants are handled.

Also make skip-files removeFile report the real git rm stderr on failure
and retry once. Transient index contention silently flipped a file to
not-found in a recent run with no signal about why — now we'll see the
error and shake off intermittent lock failures automatically.
2026-04-28 13:05:57 +02:00
Mark IJbema 85cab8764d fix(cli): chdir to repo root in upstream merge script
Transforms feed git-reported repo-relative paths into Bun.file() and
Glob.scan(), both of which resolve against cwd. Running the script from
script/upstream/ (as the README suggests) silently broke every file
lookup, causing pre-merge transforms to return zero results and i18n
auto-resolve to crash with ENOENT.
2026-04-28 12:39:46 +02:00
Mark IJbema fbee6d7ba9 Merge pull request #9609 from Kilo-Org/mark/upstream-list-versions-merged-flag
feat(cli): show which upstream versions are already merged in list-versions
2026-04-28 12:12:00 +02:00
Mark IJbema 38cc0297a8 feat(cli): show which upstream versions are already merged in list-versions
Uses 'git merge-base --is-ancestor' per tag (parallelized) to mark
upstream versions reachable from HEAD with a '✓ merged' annotation.
Kilo's own package version no longer tracks upstream, so semver
comparison isn't reliable; the ancestor check is the source of truth
and handles non-linear merge history correctly.
2026-04-28 11:46:43 +02:00
Mark IJbema 8ba9ea316d Merge pull request #9598 from Kilo-Org/mark/md-table-padding-check
chore: enforce minimal markdown table formatting
2026-04-28 11:44:14 +02:00
Mark IJbema cdfe3b693e fix(cli): pin @types/bun in script/upstream so bun install works standalone
The catalog: protocol only resolves when the package is part of the root
workspace. script/upstream is intentionally decoupled from the monorepo
so it can run during upstream merges (when the workspace may be in a
half-broken state), which means 'cd script/upstream && bun install'
failed with 'failed to resolve catalog:'. Pin to the version currently
in the root catalog.
2026-04-28 11:27:06 +02:00
kiloconnect[bot] dee9d86a81 chore: exempt .opencode/glossary from md-table-padding check
Glossary tables are kept as aligned prose tables for translator
readability; reverting the auto-fix and skipping the directory.
2026-04-28 08:34:07 +00:00
kiloconnect[bot] acfd742b02 fix: enforce exact separator form in md-table-padding check
Previously the check trimmed each separator cell before comparing
against the allow-list, which meant `| --- | --- |` passed as
`---`. The documented rule requires the tight `|---|---|` form;
compare the raw cell so space-padded separators fail too.
2026-04-28 07:56:48 +00:00
kiloconnect[bot] 06cd80d1bd chore: enforce minimal markdown table formatting
Prettier pads markdown table cells for column alignment, which turns any
content change into a table-wide realignment diff. Markdown was only in
prettierignore for packages/kilo-vscode/; the root formatter still
repadded docs elsewhere (e.g. TESTING.md, kilo-docs, AGENTS.md).

Adds *.md to the root .prettierignore, documents the convention in
AGENTS.md, and adds script/check-md-table-padding.ts + a workflow to
enforce it. Existing padded tables in Kilo-owned docs have been
rewritten via the script's --fix mode.
2026-04-28 07:45:49 +00:00
Josh HolmerandMarius f74d54c431 feat: implement codebase indexing (#6966)
* feat(core): implement codebase indexing

* feat(core): gate indexing behind experimental flag

* fix: improvements to slow provider startups and indexing init blocking the world

* test(cli): stabilize indexing startup tests

* test(cli): avoid indexing startup hang

* test(cli): avoid CI startup leaks

* test(cli): annotate provider test change

* fix(indexing): tighten dependency surface

* refactor(cli): move indexing logic into kilocode paths

* test(cli): skip flaky shell cancel prompt cases

* fix(cli): tolerate slow Windows worktree cleanup

* fix(vscode): authenticate indexing status fetch

---------

Co-authored-by: Marius <marius@kilocode.ai>
2026-04-27 17:43:27 +02:00
kiloconnect[bot] 18a1f289ff fix: include lowercase 'resolve merge conflicts' in rerere training grep
The training grep only matched uppercase 'Resolve merge conflict', missing the
lowercase convention used by most historical upstream merges. This dropped ~70
past merges from the rerere training set on kilocode, leaving the cache mostly
empty and causing rerere to miss resolutions that involve the opencode -> kilo
rename.
2026-04-27 13:59:58 +00:00
kilo-maintainer[bot] 83b153d6bb release: v7.2.26 2026-04-27 11:55:25 +00:00
Imanol Maiztegui a63a27a366 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.22 2026-04-27 11:23:37 +02:00
kilo-maintainer[bot] 6965d56918 release: v7.2.25 2026-04-27 08:58:51 +00:00
kilo-maintainer[bot] f6be4ee44e release: v7.2.24 2026-04-25 17:45:18 +00:00
Imanol Maiztegui 2fb8052640 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.22 2026-04-25 08:23:31 +02:00
kilo-maintainer[bot] 30867df079 release: v7.2.23 2026-04-24 21:00:20 +00:00
Imanol Maiztegui 0a9b293a40 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.14.22 2026-04-24 19:28:28 +02:00
Imanol Maiztegui 5e519256d2 resolve merge conflicts 2026-04-24 16:58:05 +02:00
Imanol Maiztegui 5bd50c6fe2 refactor: kilo compat for v1.14.22 2026-04-24 14:18:25 +02:00
Imanol Maiztegui 8990d5d128 refactor(upstream): force-fetch tags when syncing from upstream remote
Append --tags --force flags to the git fetch upstream command so that
upstream tag references are always updated and locally diverged tags
are overwritten to match the remote state.
2026-04-24 14:06:27 +02:00
kilo-maintainer[bot] ad1cdb550c release: v7.2.22 2026-04-24 10:20:41 +00:00
kilo-maintainer[bot] 9bbef8756e release: v7.2.21 2026-04-23 18:58:18 +00:00
Luke Parker ac26394fcb fix(beta): PR resolvers/smoke check should typecheck all pacakges (#23913) 2026-04-23 00:25:41 -04:00
Imanol Maiztegui 5149d3edcb Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.4.7 2026-04-22 15:55:07 +02:00
kilo-maintainer[bot] eb7bd75d6d release: v7.2.20 2026-04-22 12:30:54 +00:00
kilo-maintainer[bot] 475f836904 release: v7.2.19 2026-04-22 11:42:59 +00:00
kilo-maintainer[bot] fe76dffa50 release: v7.2.18 2026-04-22 10:51:47 +00:00
Imanol Maiztegui 87c2b560d1 Merge branch 'main' into imanolmaiztegui/kilo-opencode-v1.4.7 2026-04-22 09:44:37 +02:00
Mark IJbema e9da4e3bb1 Merge pull request #9326 from Kilo-Org/session/agent_2c82a4a6-c1b2-4601-bf4f-c24ff7ff753f
fix(cli): reduce publish race window by deferring git push and adding retry
2026-04-22 08:42:33 +02:00
Imanol Maiztegui d5357f3961 resolve merge conflicts 2026-04-21 18:03:34 +02:00
kilo-maintainer[bot] ba98c5c402 release: v7.2.17 2026-04-21 14:28:13 +00:00
kiloconnect[bot] 42524dbf64 fix(cli): replace cherry-pick with rebase + retry in publish push
Keep the original order (push before publish) to preserve the safe
failure mode, but replace the cherry-pick with rebase and add a
3-attempt retry loop to shrink the race window.
2026-04-21 14:23:50 +00:00
kiloconnect[bot] 835350fedd chore(publish): defer release push and implement rebase retry loop
Move the git push operation to the end of the publishing process to minimize race conditions. Replace the cherry-pick logic with a rebase onto origin/main and a retry loop to ensure the release commit is pushed successfully even if concurrent merges occur.
2026-04-21 14:12:30 +00:00
Imanol Maiztegui bf6f499b24 refactor: kilo compat for v1.4.7 2026-04-20 13:49:07 +02:00
Dax Raad e4be557928 ci: skip beta smoke fixes for now 2026-04-19 20:01:30 -04:00
Brendan Allan 83227be0ca fix(version): remove --target flag from beta release creation (#23403) 2026-04-19 17:05:03 +08:00
Dax Raad ad0545335a ci 2026-04-18 19:29:21 -04:00
Dax Raad cfbbae7323 ci 2026-04-18 18:59:44 -04:00
Dax Raad 940f971ca0 ci: fix 2026-04-18 18:56:14 -04:00
Dax Raad 5eaef6b758 release: avoid package.json drift during publish 2026-04-18 12:32:23 -04:00