Just a heads up, I’m not sure yet what happened he...
# proj-agent-canvas
c
Just a heads up, I’m not sure yet what happened here, I hope my agent made a mess…🫣
@modern-fireman-99755 maybe this is a bug on restore conversation, related to the tree-history? 🤔
Please correct me if wrong, I think maybe what happened here may have been due to mixed versions: 🤔 • my agent-server started on 1.29.3 • then we upgraded agent-canvas • my agent started a new agent-server on 1.33.0 (to test forking) • which upgraded settings.json • the old 1.29.3 server couldn’t decrypt them anymore ◦ which… might have created events with parent_id on disk? … ◦ ugh or not, because some conversations were fully dormant • the agent stopped both servers, and restarted on 1.33.0 • settings worked now • histories were not restored
For the record, this works, apparently normally.
m
Ah ok I see... You had two agent-servers working together. Yes, it seems that this could be the case. The change is not compatible with old agent-server versions, i.e., if you use an old agent-server on new conversation then you can have problems. However, the inverse work
c
My agent also posted an issue and it links an HTML page with an attempted explanation, but I don’t fully buy it 🤔 https://github.com/OpenHands/software-agent-sdk/issues/4057
Please feel free to close it if this was just my weird mess
m
But compatibility just go in one sense right? It seems me really weird that you create a conversation with the agent-server 1.34, then you go to 1.29. or?
c
Absolutely, but that’s not … what happened
I'm actually not totally sure what broke it
if it cannot be replicated normally, we can close
m
ah ok I see now
Let's try to replicate it
give me a moment
Ok a question: why the settings.json were updated? The tree history convo don't change that
and the problem is that the server was seeing a cache-view?
c
I think when the new 1.33.0 server started, it migrated settings.json
m
ok but why? (probably is another change) and has this an effect on the tree-history?
c
if between sdk 1.29 and 1.33 there was another settings version (or agent_settings.json), then it migrates from the old format to the new format
m
ah ok I see
it seems that I can reproduce it. let me confirm and in case open a PR.
🙏 1
another question to be sure: it seems that you were able to fix it. How you did?
c
(just to add to the question what relation that has to the tree history… well I’m not sure; my hypothesis is that I saw an error in conversation (it couldn’t decrypt the llm key), which was saved as an event, and that event… broke tree history, it had no parent)
then the tree got completed at the next restart
Sorry, I take back the hypothesis. It was this event: the user message just-after the restore
I can confirm that once smolpaws edited it to add parent, the agent on that conversation DID get the initial user message (which it had “lost”)
m
OkOk... Fix on the way 🙂
gratitude thank you 1
@calm-artist-7206 github.com/OpenHands/software-agent-sdk/pull/4068/changes Could you review it very in deep 🙂 ? Thanks
👀 1
c
It looks good, I left a little comment on tests for restore conversation. Restore has been an… (in)famous spot for bugs in the past, and we have some tests specifically with realistic-like cross-package tests for scenarios tricky on restore
Maybe we can add one or two for this?
m
yes thanks. I already saw it and updating the tests 🙂
c
Thank you!
m
Should we also release everything? Because this thing can be painful 😞
c
Sure
I won’t be here long today
m
No problem. It should be straightforward as it is the only thing which will be included in the release (last famour words :-))
😅 1
@calm-artist-7206 added tests
So I will merge ( I added also the last test you requested) and start with a release process 🙂
❤️ 1
gratitude thank you 1
c
I guess this is an 1.33.1
m
yes, there are just fixes (like 5 fixes)
c
Just a quick little thought: maybe we can introduce in the reviewer skill that when conversation state, agent context, conversation start/restore are changed in a PR, the reviewer must ask for targeted conversation restore tests?
m
Yes this could be interesting. Or also better. Let's look at all the bugs we add int he last times and see if we can prevent them with the code review agent
c
Yes
We used to do this, actually. Specially Xingyao, he was picking up like every miss to add something, a workflow, a skill addition, a MUST in the skill prompt, whatever 😅
As we picked up more and more speed, we did less... which is strange, isn't it, I think maybe that's precisely why we should: to keep that speed safe, thus... speedy 🙏
m
but this could be some kind of automated workflow right?
c
if we know what exactly to check
we need an agent, I think, because "agent context changed" is not really for a deterministic script
the reviewer seems a good place
On a related note, I'd like to add this too: github.com/OpenHands/software-agent-sdk/pull/4069
👍 1
As agents do more and humans' might merge fast, or even, we sometimes let the agent merge, the risk that something happened to some PR and wasn't noticed makes me sweat 😅
m
accepted 🙂
✅ 1
c
I left a note on the release PR too, just to be sure you see it, the scan fails for all additions after a human approved, which is probably too much. But the workflow is not mandatory, so it doesn't block release
m
yes I saw. Thanks
Another small PR to deflake cross-tests: github.com/OpenHands/software-agent-sdk/pull/4074
and I said that the release will be fast 🫣
🫠 1
h
Anything to address in canvas or did it end up being all in the sdk?
m
we just need to update the agent-canvas sdk version