Skip to content

Epic (v2): Aftercare-driven iterative tuning — the real-world tuning lab #168

Description

@coaxk

The insight

Aftercare (#156) judges real completed jobs across the actual library at scale — a far richer signal than the synthetic-clip arena (Tuning Lab). It is, in effect, the real-world tuning lab. This epic turns that signal into action: requeue bad jobs with better settings, iterate, and converge toward the best achievable subtitle — capturing real (file, language, config) -> quality data the whole time (the firehose passive-tuning #95 / federated #124 want).

Grounding finding (2026-06-09)

Testing aftercare on a real foreign-language library showed CPS issues on nearly every job (271-644 per file). Investigated a flagged file (Hellground S01E07): median CPS 21.6 (borderline-normal for translated dialogue), but a tail of sub-second cues — e.g. "You lied to me all this time." (29 chars) shown for 0.26s, "No." for 0.06s. So:

  • It is REAL, not a threshold artifact.
  • Root cause = micro-duration cues from segmentation (subgen CUSTOM_REGROUP / word-timing), NOT text density. CPS is the symptom; cue duration is the cause (these also trip too_short).
  • It is systemic (config-level), so it hits the whole library — which is precisely why a tuning loop, not per-file luck, is the answer.

Two leverage points

  1. Aggregate config insight (fleet-level, highest leverage): aftercare aggregates → "X% of your jobs trip CPS via sub-second cues -> your regroup/segmentation default is producing micro-cues; here is a better one." One config change fixes the library. This is the real-world tuning lab at the fleet level.
  2. Per-file iterative "Improve" (user-facing): a flagged file -> try a better config -> re-judge -> keep iterating.

North star: greedy hill-climb + lock (Judd)

Iterate a file (or a language profile): change a config lever -> re-transcribe -> judge with the aftercare judges -> if it improved, LOCK that change -> move to the next lever -> repeat -> converge toward "as good as it gets" (zero detected failures now; true accuracy once the QE judge #123 lands) or until the user stops. Coordinate-descent over the config space, scored by real output.

Design questions to work through (brainstorm -> spec before building)

Relationships

Builds on #156 (aftercare). Supersedes/absorbs #165 (open-in-Tuning-Lab from aftercare = the seed). Feeds #95 (passive capture), #124 (federated loop), #146 (leaderboard). Gated for "perfect" on #123 (QE).

Status: v2 epic — needs a proper brainstorm -> spec pass before implementation.

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

    backendPython / FastAPI backendenhancementNew feature or requestfrontendFrontend / SPAv2Deferred to v2 (post-1.2): federated/QE-summit epic

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions