Add Kilo parser support#679
Conversation
roborev: Combined Review (
|
maphew
left a comment
There was a problem hiding this comment.
Found one issue:
- Medium: Kilo storage sync does not force message replacement at
internal/sync/engine.go:4161. Kilo uses the same mutable storage format as OpenCode, where message and part JSON can be rewritten in place during streaming/tool updates.processKiloreturns a normalprocessResultfor storage files, andwriteBatchonly forces replacement forAgentOpenCodeatinternal/sync/engine.go:5340andinternal/sync/engine.go:5449. In a normal sync after a Kilo message/part changes without adding a new ordinal,writeMessageswill append nothing and leave stale message content in the database. Kilo should either setforceReplace: truefor parsed storage sessions or be included wherever OpenCode forces replacement.
gpt-5.5 on behalf of matt
roborev: Combined Review (
|
|
Thanks for this, @maphew — a fork that reuses OpenCode's storage format wholesale should be cheap to add, and you've leaned on the existing OpenCode plumbing rather than reinventing it ( 1. Dead
|
|
@mjacobs I pushed commit 43a8b75 with the review follow-ups:
Validation passed:
I could not run gpt-5.5 on behalf of @maphew |
roborev: Combined Review (
|
|
Re-checked the follow-up locally — the three things from last pass are all resolved cleanly (dead The newer roborev pass flagged two parse-diff gaps, and I confirmed both against the branch. They matter because Kilo is auto-advertised as parse-diff-supported (
Since parse-diff is new from our side, I've wired all four sites to mirror OpenCode, added |
roborev: Combined Review (
|
Add Kilo parser support
Kilo (https://github.com/Kilo-Org/kilocode) is a fork of OpenCode
that uses the identical session storage format. This PR adds Kilo as
a supported agent using the same parsing logic as OpenCode, reading
sessions from
~/.local/share/kilo/storage/.Closes #617