Repository navigation
[Artifact Forest 6/9] Add timed-text formats and embedded subtitle extraction #427
Description
2026-10-12 — implementation merged; qualification deferred
PR #438 was merged with explicit maintainer authorization at 425d0ea3ae499ffe04b27c688d7ea84fa890b8dc. Tests, compilation/builds, schema validation, formatting/linting, native qualification, and CI remain deferred; merge does not establish acceptance or release readiness. This issue stays open for the recorded qualification work. Implementation work now moves to existing issue #429; no new feature scope is added by this status update.
Parent: #421
Outcome
Make timed text a first-class static artifact family and extract/convert embedded subtitle streams through bounded local providers.
Initial formats
- SRT
- WebVTT
- ASS/SSA
- TTML
- plain transcript text
- structured timed-transcript JSON
Scope
- Extend format/capability registry with missing timed-text formats.
- Define
renderflow.timed-transcript/v1with stable cue IDs, start/end times, speaker when known, text, language, source stream, and provenance. - Add FFprobe-backed stream discovery as an explicit provider capability.
- Add FFmpeg-backed extraction/conversion only for combinations proven by fixtures.
- Distinguish embedded-subtitle extraction from speech recognition.
- Preserve stream/language/codec identity and record lossy conversions.
- Validate monotonic timing, overlap policy, encoding, empty cues, and malformed inputs.
Acceptance criteria
- Video/container subtitle streams can be enumerated without decoding the entire media artifact.
- At least SRT and WebVTT extraction/conversion paths are proven.
- ASS/SSA/TTML are advertised only to the extent fixtures prove.
- No subtitle stream is invented when none exists.
- Cue/source provenance survives format conversion.
- Unsupported subtitle codecs/providers produce typed diagnostics.
- Static extraction remains Renderflow-owned; temporal editing/reconstruction remains Aniflow-owned.
Non-goals
Speech-to-text transcription; that is #428.
Audit-to-roadmap reconciliation — 2026-10-21
Audit: https://github.com/egohygiene/renderflow/blob/audit/flow-suite-20261021T025401Z/audits/flow-suite-20261021T025401Z.md · Complete roadmap: #367
Static embedded subtitles/timed-text authored; speech recognition remains separate.
Bounded preparation: Review timed-text loss/codec/provider-absence cases and source invariance.
Remaining acceptance (common qualification deferral; no dependency star): Deferred native extraction/conversion/fixture/schema qualification; PR #455 transcript Text edge is not main.
The maintainer's implementation-sprint qualification deferral remains in force. This audit ran no Renderflow tests, compiler/build/Cargo resolution, product lint/format/schema qualification, native/CLI/provider/visual execution, installers or new CI. Reading existing exact-source provider records is not a qualification rerun. Source implementation and authored tests are not passing-test, native-fidelity, release or downstream-consumer evidence.
This is an additive planning note. The full original issue, acceptance criteria, scope, parent references and historical checkpoints remain authoritative and unchanged. No acceptance box or issue is closed by this audit. Recommended ledger parent: #421.
Activity