Quoteless unlabeled points (old-format briefs with no citation system) were being auto-labeled via raw SQL after db.get() loaded them into the session identity map. SQLAlchemy's commit-time flush could re-emit the ORM object's cached state, silently overwriting the raw UPDATE. Fix: run a single bulk SQL UPDATE for all matching rows before any ORM objects are loaded into the session. The commit is then a clean single-statement transaction with nothing to interfere. LLM classification of quoted points continues in a separate pass with normal flag_modified + commit. Authored by: Jack Levy
15 KiB
15 KiB