Skip to content

Reuse slide translations across services, not only saved ones #187

Open

Description

@kcarnold

Problem

The library (slideLibrary.ts) only holds what a reviewer explicitly saved. The review screen's Save is its only writer. Everything else lives only in the per-day doc and is gone next week:

So a hymn sung every month is drafted from scratch, and paid for, every time unless someone pressed Save. Each new draft is as likely to make a good translation worse as to make a bad one better. Policy: reuse what was translated before; re-translate only when someone explicitly asks.

Design questions

  • Where it lives. Either the library caches every draft, or a separate draft store sits beside it. provenance (llm vs human) already records which entries were human-saved. That is a fact about the text's origin, not the reviewed/auto status flag Drop the reviewed/auto tier from slide translations #182 removed.
  • The Saved chip (SlideReview.tsx) compares the draft to the library. If drafts land in the library too, every draft reads "Saved". The chip would have to key on provenance: 'human' instead.
  • Notes ride along. If a draft is reused next week without its note, the reason it needed a look is lost.
  • What an explicit Re-translate writes. Today it fills the review grid only (in the browser). Viewers see it only after a per-cell Save, and the picker's note count doesn't see it. If explicit is the only way to re-translate, its result should probably reach the store directly.
  • What happens to a bad cached draft. Without a human looking at it, it sticks. That is the accepted cost of the policy, but the review screen should make a stale or poor draft easy to find. Notes are part of that.

Relationship

Makes the doc lookup in #186 redundant once in place; #186 is the cheap stopgap. Overlaps with the conversation issue, because a reused translation's history (prior feedback) is keyed differently from the translation itself.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions