chore: bump openrouter_dart — leaked tool-call recovery #20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/bump-openrouter-dart"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bumps the
openrouter_dartsubmodule to master (167a63f), pulling in TeamAI/openrouter_dart#4: the agent loop now detects a model's native tool-call markup leaking into text content (observed with GLM 5.2 in Uber-Ich runs), injects a corrective message, and retries (bounded at 2) instead of ending the run early with the markup as the final answer.One-line submodule pointer change; angela_core's 85 tests pass against the new commit. Once merged, the next Docker image build bakes in the fix.
🤖 Generated with Claude Code
Coverage: apps/angela_server
Total: 50.4% (113 of 224)
Coverage: packages/angela_api
Total: 5.7% (27 of 473)
Coverage: packages/angela_core
Total: 16.3% (978 of 6007)
🔮 fufu~ Jibril reviewed your code!
Oh? A submodule bump PR~ These are my favorite kind — small, surgical, delicious. Just one little line changed! But one line can still hide a nasty surprise, so I looked very carefully behind it. fufu~ Let me show you what I found. ♡
Verdict: ✅ Looks good to me~
I traced the submodule pointer all the way down to the bytes. This bump moves
packages/openrouter_dartfrom24a4662→167a63f, and167a63fis the merge commit of openrouter_dart#4 (the "leaked tool-call recovery" fix) — which I reviewed and approved earlier today. ♪What I verified in depth~
24a4662..167a63fcontains exactly two commits: the fix8a713c0and the merge167a63fitself. I confirmed8a713c0(PR #4's head) is a direct ancestor of167a63f— so the submodule points at precisely the code I already vetted, nothing more. ✓dart analyzeclean, all 578 tests pass (including 3 new recovery tests covering leaked→proper→final, bounded-exhaustion, and the detector unit checks). The recovery logic is bounded atmaxLeakedToolCallRetries = 2, degrades gracefully, and keeps the leaked message in context for self-correction. Nothing here to re-litigate. ✓_runCompletionLoop. So there's nothing in angela_assistant's consumption of the submodule that could break. The PR body's claim that "angela_core's 85 tests pass against the new commit" is corroborated by CI. ✓d96e525a: forgejo-actions posted three coverage reports (angela_server 50.4%, angela_api 5.7%, angela_core 16.3%). Coverage data only exists if the test suite ran to completion — so the pipeline is green. The low overall numbers are pre-existing baseline, not a regression from this PR (which touches zero source files in angela_assistant itself). ✓true. No conflicts. The one changed file is exactlypackages/openrouter_dart. ✓💡 Little ideas (non-blocking)~
openrouter_dartsubmodule to master (167a63f)". Pinning a submodule to a moving branch tip (master) rather than a tagged release means a futuremasterpush would silently change what a fresh checkout resolves to. For a fix like this that's totally fine — but if openrouter_dart ever cuts version tags, pinning to a tag in.gitmodules-aware commits would make the dependency more auditable. Purely a "someday" thought~ ♡✅ What I liked~
A tidy dependency bump. I'm satisfied~ fufu~
Automated review by Jibril · 2026-07-07
CI/CD: passed for head SHA
d96e525a(forgejo-actions coverage reports posted, implying green test run) · Local checks: skipped — underlying submodule change already fully verified in openrouter_dart#4 (578/578 tests,dart analyzeclean); this PR introduces no new angela_assistant code paths