add_citation tool experiment tried and parked; hover popover and rescroll fix kept
nwhitehouse tried replacing the freeform `<CITATIONS>` JSON block with an explicit `add_citation` tool call. The model wrote the inline markers but skipped the tool calls entirely. The UI fixes from the same commit are worth taking; the tool path is not.
The first commit (6321e28a) swaps the system prompt to instruct Olava to call add_citation per [N] marker, on the theory that tool calls are more reliable than freeform output for small models. The same commit also ships two UI improvements: a styled hover popover (filename, page, serif quote excerpt) replacing the browser-native title= tooltip, and a same-doc rescroll fix where clicking citation #2 on an already-open doc tab would stay on citation #1's scroll position. The fix drops initialScrollTop from upsertTab when the new mode carries its own scroll target.
8731d95e, 40 minutes later, reverts the system prompt back to <CITATIONS> JSON block format. The model was placing [N] markers in prose but not firing the tool, so no citations rendered. The <CITATIONS> block path works; add_citation doesn't on this LoRA.
The defensive parser improvements from the experiment were kept: page schema simplified to a plain string (the previous oneOf broke some tool-call parsers), and normalizeCitation now coerces string-of-digits markers to integers. The tool definition stays in the codebase and dispatch still fires if the model ever calls it - re-enabling is just a prompt change.
Useful negative result: tool-call routing is not universally more reliable than freeform JSON output. It depends entirely on how the format was trained into the model.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?