Commit Graph

193 Commits

Author SHA1 Message Date
kiloconnect[bot] d22d08bbce chore: remove stale desktop package references 2026-05-04 15:00:59 +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
kiloconnect[bot] 97af82d217 docs: add copyable verification prompts 2026-05-04 11:54:14 +00:00
kiloconnect[bot] 5753243a30 docs: add verification startup commands 2026-05-04 10:13:05 +00:00
kiloconnect[bot] 69d6ece6f1 docs: add upstream verification test checklist 2026-05-04 10:03:20 +00:00
Mark IJbema a16e0560c7 Merge remote-tracking branch 'origin/main' into markijbema/kilo-opencode-v1.14.29 2026-05-04 10:27:37 +02:00
kilo-maintainer[bot] a1c08dbca4 release: v7.2.34 2026-05-04 03:38:53 +00:00
kilo-maintainer[bot] 5bf9e821e9 release: v7.2.33 2026-05-01 16:49:11 +00:00
Mark IJbema 3f7037549e resolve merge conflicts 2026-04-30 16:25:46 +02:00
kiloconnect[bot] 8185b01e51 chore(cli): require ripgrep for find-conflict-markers
Drop the POSIX grep fallback; bail with a clear error when rg is
missing.
2026-04-30 10:18:35 +00:00
kiloconnect[bot] 2eec02452b chore(cli): add script to find merge conflict markers in a file
Provides a small helper for upstream merge workflows so agents can be
allowlisted to search for conflict markers without needing general shell
access. Wraps the canonical ripgrep invocation with a POSIX grep fallback.
2026-04-30 10:08:23 +00:00
Mark IJbema 12f7967ca4 Merge pull request #9707 from Kilo-Org/agent/opencode-merge-worktrees
Add opencode merge reference worktrees
2026-04-30 11:19:47 +02:00
kilo-maintainer[bot] 3728b9081a release: v7.2.31 2026-04-29 18:20:48 +00:00
kiloconnect[bot] 26046c9b2b chore: add opencode merge reference worktrees 2026-04-29 16:06:32 +00:00
Mark IJbema 702c471d61 Merge pull request #9678 from Kilo-Org/mark/upstream-skip-globs
fix: handle skipped and Kilo-only paths in upstream merges
2026-04-29 16:24:54 +02:00
Mark IJbema 8d91d99b01 Merge pull request #9674 from Kilo-Org/mark/upstream-kilocode-markers
feat(upstream): add kilocode marker fixer
2026-04-29 15:18:12 +02:00
kiloconnect[bot] 1520c05fb1 chore(upstream): update release artifact name replacements in transform scripts 2026-04-29 12:46:47 +00:00
kiloconnect[bot] 40ace50a5c fix(upstream): support css marker comments 2026-04-29 12:33:08 +00:00
kilo-maintainer[bot] ec57af1128 release: v7.2.30 2026-04-29 12:28:57 +00:00
kiloconnect[bot] cc143380d7 fix(upstream): ignore orphan marker comments 2026-04-29 12:19:45 +00:00
kiloconnect[bot] 0bfc6eb422 fix(upstream): keep existing block markers 2026-04-29 12:08:01 +00:00
kiloconnect[bot] 050264e884 fix(upstream): collapse adjacent marker blocks 2026-04-29 11:54:03 +00:00
kiloconnect[bot] d5966e2e88 fix(upstream): preserve existing marker comments 2026-04-29 11:42:57 +00:00
Mark IJbema 415f892c56 fix: keep kilo directories during upstream merge 2026-04-29 13:36:35 +02:00
kiloconnect[bot] e5c45b958e fix(upstream): strip only actual marker comments 2026-04-29 10:21:11 +00:00
kiloconnect[bot] f3a398cd7d fix(upstream): ignore branding-only marker diffs 2026-04-29 10:14:30 +00:00
kiloconnect[bot] 4290cbcff5 fix(upstream): harden kilocode marker fixer 2026-04-29 09:54:29 +00:00
Mark IJbema bb06f4d2ac fix: skip removed packages during upstream merge 2026-04-29 11:50:14 +02:00
kiloconnect[bot] c2d0553134 feat(upstream): add kilocode marker fixer 2026-04-29 09:36:07 +00: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] 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
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
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
kilo-maintainer[bot] 30867df079 release: v7.2.23 2026-04-24 21:00:20 +00: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