Repository navigation
fix(v2): synthesize stable part identity so text references reach the jump pipeline - #524
Conversation
|
V2 events carry no part id, so text parts were silently dropped. Trying that branch would help; covers both file paths and symbols. (I feel that symbol jumping is more commonly used than file jumping though it certainly has a lot of room for optimization) If symbol jumps still fail (your "only local.scope" case): enable logging (require('opencode').setup({ logging = { enabled = true, level = 'debug' } })) so that agent can figure out what's happening more easily |
5f547a6 to
c331151
Compare
|
One thing I've noticed is that the accuracy of symbol jumping is very low when I'm looking at some Python projects. So far it's tolerable, but when I have free time, I might want to think about how to improve this search strategy using recipes. |
|
Thanks for the PR. It works fine for me :) |
Problem
Files mentioned in assistant text never reach the
<CR>jump pipeline; tool-edited files work. Silent on V2. (#523)Why
V2 carries no part id — events are
{assistantMessageID, ordinal, text}, verified on 2.0.28. Consumers requiredpart.id, so text parts were skipped forever. Tool parts carry a real id, which masked the gap.Fix
One owner, one encoding, in the adapter. Snapshot path counts per-kind ordinals so both paths produce identical ids. Consumer id guards deleted.
Verification
Full
./run_tests.shgreen; tests cover event/snapshot id equality, cross-path handoff, shared raw tool ids. Adversarially audited (3 rounds, coordinate-collision fuzzing).