Reorganize .smallclaw/databases/ around a single entry point with
subcommands (add-terms / add-images / verify / reassign / stats),
absorb pmc_reassign.py into reassign, and route every image source
through inline vision-model verification before commit.
Layout
config.py paths, endpoints, API-key locations (no more
hard-coded absolute paths in source files)
manage.py argparse dispatcher
workflow_terms.py seed-JSON import (JSONC supported, dedupes on
korean/english)
workflow_images.py renamed from dental_image_workflow.py; main()
converted to run(verify=True, ...)
workflow_verify.py validate_image() / verify_db() + verify_updates()
gate used by every add-images source
seeds/ recovered seed_all.json, seed_periodontics.json
scratch/ ad-hoc work area replacing the /tmp habit
(only README.md is tracked)
docs/howto.md moved + expanded
docs/archive_image_rounds/ one-off round scripts + their results
docs/archive_validation/ model-comparison + validation history
Verification
- VERIFY_MODEL defaults to qwen3.5:397b-cloud (50-image test on
procedure-heavy sample: 9.8s/img avg, zero timeouts, Kimi-level
rigor — see archive_validation/).
- Prompt strengthened: in-image text/captions are not valid grounds
for "적합"; technique terms require visible procedure steps, not
generic device/anatomy photos.
- All 9 add-images sources gated through verify_updates() before
commit; --no-verify escape hatch for bulk runs.
.gitignore: API key files, dental_images/, __pycache__/, scratch/*
(README.md kept).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Python stdout already includes the correct markdown download link.
Appending extra bare URL and absolute path caused the model to generate
two download links in its response. Keep only Python's stdout.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The v2.2.3 hint "ALWAYS use /api/files/uploads/filename" was too broad,
causing the model to format PPTX download links as uploads/file.pptx
instead of the correct project_folder/file.pptx path returned by the tool.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Playwright's bundled browser install fails on Ubuntu 26.04 with
"Playwright does not support chromium on ubuntu26.04-x64".
Fall back to system Chromium (/usr/bin/chromium-browser etc.) via
executablePath when launching headless, bypassing the platform check.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>