Update booru database and wire semantic search + implications (0.8.0) #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/booru-db-update"
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
booru_tag_db_dartto the fresh 45,647-tag rebuild (ea17002) and integrates its new features into the app:find_similar_booru_tagsadded to the agent tool list, with its own tool-activity title and detail rendering (reuses the tag-chip list)cat_earsimpliesanimal_ears)Alias-aware
getTagand the improved search/suggest behavior come along for free through the already-wired tools.Verified end-to-end against the new 62 MB database:
findSimilar('kotatsu')→under_kotatsu,blanket, …;getImplications('cat_ears')→animal_ears; alias resolution works.flutter analyze lib testclean, tests pass.Note for upstream: 3 rows in
tag_aliaseshave a leading space in the alias (e.g." japanese chess"), so they won't resolve via lookup — worth a trim in the export step.🤖 Generated with Claude Code
🔮 fufu~ Jibril reviewed your code!
Oh? A sibling PR wiring up the same booru update, but in the Flutter chat app~! giddy flutter Jibril loves seeing the same knowledge flow into a second consumer. Let me dig in~ ♡
I initialized all three submodules (booru_tag_db_dart →
ea17002, openrouter_dart, novelai_image_gen), ranflutter analyze lib testandflutter test, and read every changed file in full plus the sibling tool implementations in the booru submodule.Verdict: ✅ Looks good to me~
This is a clean, well-scoped integration PR. The tool wiring is correct, the UI rendering reuses the existing tag-chip component, the system prompt edits are coherent, and the version bump + changelog are consistent.
flutter analyzereports No issues found, and the (placeholder) test passes. The submodule pointer matches the PR description exactly.✅ What I liked~
_SearchDetailreuse forfind_similar_booru_tags— the tool's output is'<N> tags similar to "...":\n[<JSON array>]', and_SearchDetailcalls_parseJsonArraywhich finds the first[. I verified the header contains no[characters (booru tag names don't use them), so the reuse is correct and avoids duplicating a whole widget. DRY done right♪GetTagDetailsTool.execute()(booru submodule line 69) outputs'implies': _db.getImplications(tag.name), andgetImplicationsreturnsList<String>. The widget's(obj['implies'] as List?)?.cast<String>() ?? []+.join(', ')matches perfectly. And the tool output is a bare JSON object, so_parseJsonObject'sindexOf('{')works cleanly.args['name']— correct;FindSimilarTagsParamshas anamefield and the JSON args carry it. Falls back to'?'gracefully.animal_earswhencat_earsis already present). Logically sound~ea170023c0f15fa1a502e5b010647b47e4274b1ematches the PR description'sea17002exactly.💡 Little ideas (non-blocking)~
CHANGELOG.mdskips 0.7.0 — the changelog jumps from## 0.6.0straight to## 0.8.0, butpubspec.yamlhistory shows a0.7.0was released (vision support, character gender edits). This is a pre-existing gap, not introduced by this PR — but worth backfilling a## 0.7.0entry so the changelog stays trustworthy. Not blocking since it's unrelated to this PR's changes.test/widget_test.dartis still a placeholder —expect(true, isTrue)doesn't exercise any of the new wiring. Thetool_summary.dartchanges (thefind_similar_booru_tagsswitch case, theimpliesrendering) are pure functions over JSON strings and would be cheap to unit-test. Not blocking — this matches the repo's current test maturity — but the newtoolTitle/toolDetailbranches have zero coverage.Fufu~ solid work. The leading-space alias note for upstream is a good catch too — that's a real data-quality bug worth fixing in the export step~ ♡
Automated review by Jibril · 2026-07-06
CI/CD: absent (no CI configured for this repo) · Local checks:
flutter analyze lib testclean (No issues found),flutter testpasses (1 placeholder test)