Repository navigation
Conversation
set_translations always accepted a per-segment note ("a genuine ambiguity
or judgement call worth flagging") and we threw it away. It now rides on
the slide translation entry as `note?`, next to provenance.
A note is a caveat about one text, so whatever replaces the text replaces
the note: set_translations brings its own or none, revise_translation
drops it, and a reviewer's Save drops it. The model's wording stays in the
stored conversation. Because the note lives on the entry, nothing has to
seed notes into a follow-up run or replace an item-wide set: a slide the
run doesn't write keeps its note in the doc.
Review screen: a note shows above its cell, and the item picker appends
"· 📝 n" for items whose doc entries carry notes. The library never stores
a note. The tool description now tells the model the note is displayed and
that rewriting withdraws it.
Second half of #152, stacked on the tier removal.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F2MPHXNLbLbVZuEDZToVvz
This was referenced Oct 26, 2026
…t-albattani-owiu8s-notes
This was referenced Oct 26, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #182. The base branch is #182's, so this diff shows only the notes. Retarget it to
mainonce #182 merges. Together the two replace #152.What
set_translationshas always accepted an optional per-segmentnote("a genuine ambiguity or judgement call worth flagging"), andapplySetTranslationsthrew it away. The note now rides on the slide translation entry,{ text, provenance, note? }, next toprovenance(and later #181'ssourceId).Why on the entry and not on the conversation (as #152 did): a note is a caveat about one text. Whatever replaces the text replaces the note too:
set_translationsbrings its own note or none;revise_translationdrops it;The model's wording stays in the stored conversation (the tool-call args are kept verbatim), so nothing is lost. Keeping notes on the entry also removes #152's bookkeeping: there is no loading of notes into a follow-up run and no item-wide replacement set. A slide a run doesn't write keeps its note in the doc.
Path:
nlp.ts(working-copy notes,TranslationBlockResult.note) →translateItem→storeTranslations(translate-ahead) / the follow-up'supdatedTranslations→ the doc. The library never stores a note.Review screen
<select>appends· 📝 nto items whose doc entries carry notes (countNotes). It counts per slide per language, so a repeated chorus counts at each occurrence, matching the grid.The
set_translationstool description now tells the model its note is displayed and counted, and that rewriting or revising withdraws it.Smoke test
Touches §3 Proclaim sync. Open an item whose picker label shows
📝 nand check that n cells show a note. Save one and check that its note disappears and the count drops.Verification
npm run typecheck,npm run lint,npm test(674 passed). New tests cover:translateItemcarrying the note;storeTranslationskeeping it;countNotes;SlideReview.Generated by Claude Code