# 0.1.0 Release Validation

This is the historical validation record for v0.1.0. Subsequent v0.1.1 changes and validation are recorded in [0.1.1 Release Validation](0.1.1-release-validation.md).

## Result

The 0.1.0 release candidate passed its tested CLI and Python API surfaces on Linux. Parser and contract tests covered every published CLI option, filesystem planning had dedicated edge-case coverage, both installed console commands worked from the built wheel, and representative CUDA runs covered every decoder, VAD engine, alignment mode, language, output type, and existing-output policy. The typed Python API exposed the same transcription controls and accepted one file, one directory, or an ordered sequence of files and directories.

No CLI defect was found in the completed v0.1.0 validation. One packaging defect was found and fixed: Librosa was declared optional even though the Cohere feature extractor requires it to construct mel filters. The dependency was promoted to the core runtime, the misleading extra was removed, and clean pip and uv installations were repeated successfully.

Validation date: 2026-07-14

Reference host:

```text
OS: Linux
Python: 3.12.12 for CUDA and installed-wheel tests
GPU: NVIDIA GeForce RTX 3060 12 GB
Driver: 535.309.01
Validated CUDA runtime: PyTorch 2.11.0+cu128
Transformers: 5.13.1
TorchCodec: 0.14.0+cpu
Librosa: 0.11.0
Numba: 0.66.0
NumPy: 2.4.6
```

## Dependency Changes

### Transformers 5.13.1

The exact runtime pin, preflight invariant, lockfile, user documentation, and validation provenance were upgraded from 5.13.0 to 5.13.1.

The official 5.13.0 and 5.13.1 Cohere ASR model, processor, feature extractor, and configuration files are byte-identical. Processor features, masks, prompts, and chunk indices matched exactly for 1, 29, 31, and 35-second inputs. A focused BF16 CUDA generation comparison produced identical token hashes, decoded text, hook behavior, and 4,147,490,304-byte peak allocation. The full retained workloads below also preserved every output.

The Transformers version participates in the durable ASR contract. Existing 5.13.0 checkpoints are intentionally invalidated once, so the first 5.13.1 `--existing skip` run retranscribes rather than trusting state created by a different implementation version.

### Included uv.lock

`uv.lock` is included in the source checkout and release tree, not in the wheel or source distribution. `uv lock --check` passes, and `uv sync --locked --all-extras --group dev` completed successfully with the exact standard-PyPI development resolution.

The lockfile does not claim to select a CUDA build for arbitrary hardware. uv's automatic Torch backend selection applies to `uv pip`, so device-specific PyTorch installation remains an explicit advanced setup step. Pip users do not consume `uv.lock`.

### Librosa Core Requirement

The first short real-CLI matrix exposed this failure while constructing `CohereAsrFeatureExtractor`:

```text
ImportError: Numba needs NumPy 2.3 or less. Got NumPy 2.5.
```

The underlying metadata problem was more important than the temporary version conflict: Cohere's feature extractor calls `librosa.filters.mel`, so a base installation without Librosa could not load the processor at all. The fix was:

1. Move `librosa>=0.11.0` into core dependencies.
2. Remove the now-misleading `librosa` extra.
3. Refresh the lock against current index metadata, resolving Numba 0.66.0 and NumPy 2.4.6.
4. Make clean-wheel validation require Librosa and construct the pinned processor through the doctor model-access check.

Librosa decoding remains explicit-only. Automatic audio decoding selects TorchCodec when its runtime probe succeeds, otherwise selects an available FFmpeg executable; after TorchCodec is selected, an individual file failure can also recover through FFmpeg.

## Domain Package Refactor

The release implementation is grouped into shallow `asr/`, `audio/`, `output/`, `pipeline/`, and `state/` packages alongside the existing `alignment/` and `vad/` packages. Entry points and cross-cutting configuration, cancellation, device, input, model, preflight, profile, and doctor modules remain at package root. No compatibility aliases preserve the former flat internal paths. At this refactor checkpoint the documented public surface was the CLI and package version; the final release surface also includes the typed root Python API described below.

All 359 tests passed at the domain-refactor checkpoint. Ruff, bytecode compilation, lock validation, wheel/sdist builds, and Twine checks passed; the installed wheel contains every nested module and packaged model asset and contains none of the removed flat modules. Both source module-launcher help surfaces are byte-identical to their pre-refactor output, and the 11 functions split between output rendering and transactional publication have AST-identical bodies.

Fresh installed-wheel smoke runs preserved the retained output set exactly: the 4,160.679-second Arabic grammar lecture completed in 32.33 seconds with matching TXT/SRT/VTT hashes, and the 500-file batch completed in 38.71 seconds with 500/500 matching transcripts. These observations confirm the structural change and fall within the established timing distribution; the repeated medians in the performance guide remain the performance baselines.

## Python API Release Validation

The final public API provides `transcribe()` for one-shot work and `Transcriber` for model reuse. Both accept a file, a directory, or an ordered `str`/`Path` sequence containing either. Directory discovery, recursion, canonical deduplication, stable ordering, output planning, model configuration, VAD, alignment, batching, recovery, and publication use the same implementation as the CLI. The default API path returns immutable in-memory results and creates no transcript, checkpoint, manifest, lock, or profile files; `PublicationOptions` opts into the CLI's transactional filesystem behavior.

The final release-gate suite passed 477 tests plus 6 subtests on every supported Python version. It covers mechanical CLI/API option parity, lazy dependency imports, exact input order, recursive directories, partial failures, progress callbacks, one-shot and reusable lifetime, process serialization, worker-callback reentrancy, close races, exclusive heavyweight-model ownership, typed error translation, invalid path handling, output-root containment, bounded output-lock descriptors, in-memory isolation, publication, profile schema 8, state contract schema 2, OOM recovery, cancellation, and result provenance. Ruff formatting and lint, strict public API typing, `uv lock --check`, bytecode compilation, workflow analysis, wheel/sdist builds, Twine metadata, wheel-content checks, and installed-wheel API/CLI smokes passed.

A final installed-wheel API smoke passed a single string path and then a two-item `Path`/string sequence through one reusable `Transcriber`. The cold call completed in 8.496 seconds, the warm two-file call completed in 0.382 seconds, all three transcripts matched the retained outputs, result order matched input order, and the default in-memory path published zero files.

The installed candidate wheel completed the 4,160.679-second long-form workload in 32.53 seconds externally and 31.540 seconds in profile time, with 182 rows, 8 generation batches, 28,277 generated tokens, and byte-identical TXT, SRT, and VTT outputs. It completed the 500-file workload in 38.78 seconds externally and 37.717 seconds in profile time, with 729 rows, 33 generation batches, 21,587 generated tokens, and 500/500 byte-identical transcripts. These single final-API observations fall within the established timing distribution and confirm no regression; they do not replace the repeated medians in the performance guide.

## Automated Gates

| Gate | Result |
|---|---|
| Main CLI option inventory | All 50 long-option forms and the `-h` alias accounted for |
| Doctor option inventory | All 4 long-option forms and the `-h` alias accounted for |
| CLI parser and semantic contract | 147 tests passed |
| Filesystem discovery and output planning | 39 tests passed |
| Dependency preflight and device selection | 18 tests passed |
| Python 3.10-3.13 suite at domain-refactor checkpoint | 359 tests passed on each version |
| Final v0.1.0 Python 3.10-3.13 suites | 477 tests plus 6 subtests passed on each version |
| Dependency-light root API imports on Python 3.10-3.13 | Passed |
| Installed-wheel API, CLI, typing marker, and typed-consumer smokes | Passed |
| Ruff 0.15.21 formatting | Passed |
| Ruff 0.15.21 lint | Passed |
| Python 3.10-3.13 bytecode compilation | Passed |
| Universal lock synchronization | Passed with all extras and dev group |
| Wheel and sdist build | Passed |
| Twine metadata validation | Passed |
| Clean pip core-wheel installation | Passed with `pip check` |
| Clean pip all-extras installation | Passed with `pip check` |

## Final Five-Reviewer Audit

Five independent passes covered the API/CLI contract, inference and recovery paths, package distribution, filesystem durability and cancellation, and documentation or maintainability. Confirmed defects were fixed before release: progress callbacks can no longer deadlock by reentering another session, invalid filesystem paths are typed and concise, nested output symlinks cannot escape the configured root during planning, preparation grouping participates in checkpoint compatibility, alignment recognizes host and backend allocator failures, and packed Silero responds between bounded work groups. CI now has focused quality and Python-version test jobs, uses maintained GitHub Action release tags, and checks a strict typed consumer; release workflows do not repeat CI.

The rebuilt wheel then reproduced the retained 69-minute lecture artifacts exactly in 32.42 seconds externally: 182 processor rows, 8 generation batches, and 28,277 generated tokens. The exact 500-file baseline completed in 38.52 seconds with 500 successful files, 729 rows, 33 batches, 21,587 generated tokens, and 500/500 transcripts matching the retained production-review outputs.

`--audio-memory-gb` remains intentionally a hard decoded-PCM limit per file and a prepared-group scheduling target. It is not a process-RSS limit; decoder implementation overhead, explicit Librosa materialization, concurrent workers, and false duration metadata can exceed the target transiently. Strict host-memory isolation requires an operating-system limit and conservative decoder/worker settings.

The only automated warnings are third-party deprecations from Audioread's compatibility imports and one Silero VAD resource helper on Python 3.11. They do not affect the selected TorchCodec, FFmpeg, SoundFile, or packaged Silero runtime paths.

## Main CLI Contract

### General and Runtime Options

| Option | Accepted values or boundary | Validation result |
|---|---|---|
| `audio` | One or more file or directory paths | Required; multiple paths, missing paths, empty directories, FIFOs, broken links, duplicate canonical inputs, unusual names, and explicit unsupported suffixes covered |
| `-h`, `--help` | No value | Both aliases exit 0 from source, module launcher, and installed console script |
| `--version` | No value | Exit 0 without audio; reports `cohere-transcribe 0.1.0` |
| `--language` | `ar`, `en` | Both parsed and exercised with real ASR; unknown values exit 2 |
| `--formats` | `txt`, `srt`, `vtt`, `json`, combinations and duplicates | Every value parsed; all four written in real runs; duplicates normalize in first-seen order; text mode rejects non-TXT formats |
| `--output-dir` | Any path string | Creation, nested relative preservation, spaces, Arabic names, collisions, nonregular targets, and symlinks covered |
| `--recursive`, `--no-recursive` | Boolean forms | Both parsed; real nested run found four files recursively and one file nonrecursively |
| `--existing` | `error`, `overwrite`, `skip` | All exercised: verified skip 1.135s, expected error status 1, checkpoint-backed overwrite 3.001s |
| `--device` | `auto`, `cuda`, `mps`, `cpu` | Every choice parsed; auto and CUDA exercised; CPU/MPS selection and unavailable-device failures mocked; real MPS unavailable on this host |
| `--dtype` | `auto`, `bf16`, `fp16`, `fp32` | Every choice parsed; auto, BF16, and FP16 exercised on CUDA; CPU normalization and BF16 rejection branches mocked; CUDA FP32 ASR not run due 12 GB memory risk |
| `--audio-backend` | `auto`, `torchcodec`, `ffmpeg`, `librosa` | Every backend exercised in real commands and doctor checks |
| `--audio-memory-gb` | Finite float greater than zero | Accepted boundary and invalid zero, negative, NaN, and infinity covered; real per-file rejection returned status 1 without affecting other state |
| `--preprocess-workers` | Positive integer or automatic | Parser boundaries covered; one and two-worker real paths exercised |
| `--pipeline-preparation`, `--no-pipeline-preparation` | Boolean forms | Both parsed and exercised; recursive multi-file command used bounded next-group preparation |

### Segmentation Options

| Option | Accepted values or boundary | Validation result |
|---|---|---|
| `--vad` | `silero`, `auditok`, `none` | All three exercised with real ASR |
| `--vad-engine` | `auto`, `torch`, `onnx`, `jit` | All four exercised; profiles recorded Torch, CPU ONNX, and packaged TorchScript execution |
| `--vad-batch-size` | Positive integer for packed Torch | Accepted maximum-product boundary and rejected zero/negative/product overflow covered; custom value exercised |
| `--vad-block-frames` | Positive integer for packed Torch | Accepted maximum-product boundary and rejected zero/negative/product overflow covered; custom value exercised |
| `--vad-threads` | Positive integer for packed Torch | Accepted packed path exercised; zero and nonpacked combinations rejected |
| `--vad-merge`, `--no-vad-merge` | Boolean forms | Both exercised; non-Silero combinations rejected |
| `--min-dur` | Silero `0..max`; Auditok `>0..max`; inactive for no VAD | Inclusive, invalid, nonfinite, and inactive-mode behavior covered |
| `--max-dur` | Finite positive float; at least one second for no VAD | Boundaries and nonfinite values covered; processor single-row ceiling independently enforced at runtime |
| `--max-silence` | Auditok finite `0 <= value < max-dur` | Accepted custom value and invalid boundaries covered |
| `--energy-threshold` | Auditok finite nonnegative float | Accepted custom value and negative/nonfinite rejection covered |
| `--vad-threshold` | Silero finite inclusive `0..1` | Both inclusive edges, custom value, and invalid values covered |
| `--min-silence-ms` | Nonnegative integer for Silero | Zero/custom values and negative rejection covered |
| `--speech-pad-ms` | Nonnegative integer for Silero | Zero/custom values and negative rejection covered |

### ASR and Batching Options

| Option | Accepted values or boundary | Validation result |
|---|---|---|
| `--batch-size` | Positive integer or device default | Static custom batches exercised; zero/negative rejected |
| `--batch-max-size` | Positive, adaptive, and not below initial size | Adaptive range exercised; missing adaptive mode, zero, and reversed bounds rejected |
| `--batch-audio-seconds` | Finite positive float | Custom frame budget exercised; zero/negative/nonfinite rejected |
| `--batch-vram-target` | Finite inclusive `0.50..0.98` | Both edges tested; 0.80 exercised; out-of-range/nonfinite rejected |
| `--adaptive-batch`, `--no-adaptive-batch` | Boolean forms | Both exercised; persistent OOM learning remains separately covered by resilience tests |
| `--pin-memory`, `--no-pin-memory` | Boolean forms | Both exercised on CUDA |
| `--max-new-tokens` | Positive integer | Default, one-token warning, and one-token retry paths exercised; zero rejected |
| `--max-retry-tokens` | Integer not below initial limit | Successful targeted retry exercised; reversed limit rejected even under warning policy |
| `--truncation-policy` | `retry`, `warn` | Both exercised; warning case recorded an intentionally incomplete one-token output and retry case recovered `سليم` |
| `--stop-repetition-loops`, `--no-stop-repetition-loops` | Boolean forms | Both exercised; detector correctness and stop provenance covered by dedicated generation tests |

### Alignment and Cue Options

| Option | Accepted values or boundary | Validation result |
|---|---|---|
| `--alignment` | `word`, `segment`, `none` | All three exercised with real outputs |
| `--text-only` | Alias for `--alignment none` | Exercised; mutual use with `--alignment` rejected by argparse |
| `--align-batch-size` | Positive integer in word mode | Custom sizes exercised; zero/negative word values rejected; inactive-mode behavior documented by tests |
| `--align-dtype` | `fp32`, `fp16` | Both exercised on CUDA; FP16 with non-CUDA device rejected before model work |
| `--max-chars` | Positive integer for timed outputs | Custom value exercised; invalid timed value rejected; inactive text behavior covered |
| `--max-cue-dur` | Finite positive float for timed outputs | Custom value exercised; zero/negative/nonfinite handling covered |
| `--max-gap` | Finite nonnegative float for timed outputs | Zero/custom values exercised; negative/nonfinite handling covered |
| `--profile-json` | Regular output path | Atomic write, overwrite, parent creation, symlink/nonregular/unwritable/collision cases covered; 13 historical schema 7 profiles and final installed-wheel schema 8 profiles validated as finite JSON |

Inactive tuning options retain the intentional v0.1.0 semantics: packed VAD dimensions are ignored by ONNX/JIT and non-Silero modes; cue and alignment batch limits are ignored in text mode; all float thresholds must still be finite. These behaviors are executable contract tests rather than undocumented accidents.

## Doctor CLI Contract

| Option | Values | Result |
|---|---|---|
| `-h`, `--help` | No value | Both aliases exit 0 from console and module forms |
| `--mode` | `segment`, `word` | Both exercised; invalid values exit 2 |
| `--model-access` | Flag | Segment and word checks accessed the pinned processor/config/tokenizer successfully |
| `--audio-backend` | `auto`, `torchcodec`, `ffmpeg`, `librosa` | All four exercised successfully |

Real doctor results:

| Case | Status | Wall time |
|---|---:|---:|
| Segment, automatic backend | 0 | 2.958s |
| Segment, TorchCodec | 0 | 2.988s |
| Segment, FFmpeg | 0 | 2.130s |
| Segment, Librosa | 0 | 2.121s |
| Word, automatic backend | 0 | 4.937s |
| Segment with model access | 0 | 6.954s |
| Word with model access | 0 | 9.786s |

In the clean core-wheel environment, `--mode word` correctly returned status 1 before the `word` extra was installed. After installing `[auditok,onnx,word]`, the word doctor and word model-access doctor passed.

## Real Short CLI Matrix

Each command ran in a fresh process, so these short-clip wall times are dominated by model loading and are functional checks rather than throughput comparisons.

| Case | Principal coverage | Status | Wall time |
|---|---|---:|---:|
| Default plus all formats | Auto device/dtype/backend/VAD, TXT/SRT/VTT/JSON, profile | 0 | 10.958s |
| Tuned recursive batch | Four nested files, Torch VAD, merge, two workers, preparation pipeline, adaptive 2-to-4 batching, frame budget, pinned memory, custom VAD/cue settings | 0 | 10.190s |
| ONNX/FFmpeg FP16 warning | ONNX VAD, FFmpeg, CUDA FP16, no pipeline, text mode, one-token warning | 0 | 10.273s |
| TorchScript/Librosa segment | JIT VAD, explicit Librosa decoder, custom cues, SRT/VTT/JSON without TXT | 0 | 14.989s |
| Auditok energy | Auditok 0.4.2 with custom duration, silence, and energy settings | 0 | 9.570s |
| Fixed text retry | No VAD, TorchCodec, `--text-only`, one-to-16-token targeted retry | 0 | 10.091s |
| English segment | English model prompt, fixed windows, all output formats | 0 | 10.194s |
| Nonrecursive directory | Nested directory ignored, one root file processed | 0 | 9.470s |
| Word FP32 | MMS/TorchAudio alignment and all output formats | 0 | 13.094s |
| Word FP16 | FP16 alignment and all output formats | 0 | 13.249s |
| Verified existing skip | Complete manifest-verified generation | 0 | 1.135s |
| Existing error | Expected refusal before model loading | 1 | 1.113s |
| Existing overwrite/resume | Compatible ASR checkpoint reused | 0 | 3.001s |

The Arabic one-word fixture produced `سليم` through default Torch, tuned Torch, TorchScript/Librosa, fixed-window retry, and word-alignment paths. The deliberately constrained one-token warning case produced `س`, reported the unresolved token limit, and returned success as required by the selected `warn` policy. FP16 and FP32 word alignment on the same fixture produced identical text and the exact same 0.244-to-0.704-second word interval.

## Retained Release Workloads

| Workload | Configuration | Wall time | Result |
|---|---|---:|---|
| Long-form Arabic grammar lecture, 4,160.679s | Arabic BF16, TorchCodec, packed Torch Silero with merge, segment timing, static batch 24 | 32.33s | 182 segments, 28,277 generated tokens, 8 batches, no output drift |
| Balanced 500 files, 5,035.715s | Arabic BF16, automatic decoding, packed Torch Silero without merge, text only, static batch 24 | 38.71s | 729 rows, 21,587 generated tokens, 33 batches, 500/500 transcripts matched |

Long-form lecture retained hashes:

```text
TXT 11e07d260a45355f0b618dfbd0a3c6d81ae8b0074f1a767bdb153e2f82632dd6
SRT f4735a25f5a55b19b8a8524de6f2310efde596f6cdee20bfa577c7caba0c8801
VTT fe9267234e755ac57230cbc909fe262e0e368deba34c0539cb201159cb588e7a
```

The 500-file run retained the six previously observed repetition-guard stops and still matched all 500 reference transcripts exactly. The 32.33 and 38.71-second results remain within the established run variance and show no performance regression from Transformers 5.13.1, the dependency correction, or domain-package nesting.

## Filesystem and Failure Cases

| Case | Expected behavior | Result |
|---|---|---|
| Recursive nested directory | Preserve relative output paths | Passed |
| Nonrecursive nested directory | Process only root-level audio | Passed |
| Every supported suffix and uppercase variants | Discover in stable case-folded order | Passed |
| Unsupported file inside a directory | Ignore it | Passed |
| Explicit unsupported suffix | Pass it to the decoder | Passed |
| Duplicate path and symlink alias | Deduplicate canonical source | Passed |
| Same-stem and cross-root output collisions | Reject before model loading | Passed |
| Input/output/profile/state/checkpoint collisions | Reject before model loading | Passed |
| Output/profile/reserved symlink, directory, or FIFO | Reject safely | Passed |
| One valid plus one corrupt WAV | Preserve valid `سليم`, omit invalid output, return status 1 | Passed |
| One second of silence | Publish newline TXT, empty SRT, valid VTT header, and JSON | Passed |
| Decoded PCM above configured limit | Fail the file locally and return status 1 | Passed |
| SIGINT during long-file preparation | Return 130, release resources, leave no temporary or backup files | Passed |
| SIGTERM during long-file preparation | Return 143, release resources, leave no temporary or backup files | Passed |
| Invalid argparse choice | Return 2 | Passed from installed console script |
| Missing required audio positional | Return 2 | Passed from installed console script |

State and transaction tests additionally cover corrupt checkpoints, wrong schemas, tampered output hashes, partial generations, source changes, rollback, output permissions, concurrent same-stem locking, and render-only checkpoint reuse.

## Installed Distribution

The wheel and sdist were rebuilt after the dependency and domain-package changes, and Twine validation passed.

A new standard `venv` installed the wheel with plain pip and no source checkout on `PYTHONPATH`. The resolved core versions included Transformers 5.13.1, Librosa 0.11.0, Numba 0.66.0, and NumPy 2.4.6. `pip check`, both console help/version paths, both module launchers, the core doctor, the Librosa doctor, processor model access, and a 1,600-sample TorchCodec decode passed.

At validation time, the public PyPI Torch 2.11.0 wheel selected a CUDA 13 runtime on Linux. This machine's older driver could not initialize that build, so the clean-pip doctor correctly reported a CPU-only warning. Real GPU validation used the documented compatible Torch 2.11.0+cu128 environment. This was a PyTorch wheel/index selection constraint, not a package CLI failure.

The built wheel was also installed without dependencies over the known-working CUDA environment. Its actual `cohere-transcribe` console command loaded from the wheel, transcribed the retained Arabic fixture, wrote all four formats, and exited 0 in 9.11 seconds.

## Not Hardware-Certified Here

The following paths are syntactically, semantically, or mock tested but cannot be honestly certified by this Linux RTX 3060 host:

- Apple MPS execution.
- Windows process, path, and lock behavior.
- AMD ROCm execution.
- Multi-GPU scheduling; the v0.1.0 CLI selected one device.
- A real CUDA GPU without BF16 support.
- Full 2B-model CPU throughput.
- CUDA FP32 ASR on 12 GB VRAM.
- Deliberately induced real CUDA OOM, device-side assertion, or driver failure.
- Real disk exhaustion, fsync failure, or cryptographic lock-range collision.
- The one-hour FFmpeg timeout.
- ONNX CUDA execution; the tested Silero ONNX provider was CPU.
- Multi-host publication to shared storage; output locks coordinate processes for the same OS user on one host.

These are reported as unvalidated environments or destructive fault injections, not as known failures. Their deterministic decision and cleanup branches have automated tests where practical.

## Release Assessment

The final release gate normalized symlink-loop errors across Python 3.10-3.13 and moved per-stem advisory ranges from per-output-directory files to one private same-user registry descriptor. A 200-file nested plan succeeded with `RLIMIT_NOFILE=64`; 1,500 simultaneous ranges across 1,500 output directories used one registry descriptor; same-stem cross-process contention, independent ranges, partial-acquisition rollback, private permissions, and cleanup passed. A freshly built wheel reproduced the stable loop error and held 1,200 ranges with one descriptor after installation.

Python 3.10, 3.11, 3.12, and 3.13 each passed 477 tests plus 6 subtests. Ruff formatting and lint, strict Mypy, lock consistency, bytecode compilation, fresh wheel and sdist construction, strict Twine validation, and the installed-wheel smoke passed. These changes affect input planning and publication locking only; model inference, segmentation, alignment, and output rendering are unchanged.

On the dated Linux RTX 3060 validation surface, the v0.1.0 offline batch-inference CLI passed the tested Arabic/English, CUDA BF16/FP16, TorchCodec/FFmpeg/Librosa, Silero/Auditok/fixed-window, text/segment/word, nested-directory, resume, and transactional-output paths.

No unresolved functional defect was identified in that v0.1.0 validation. The remaining coverage limits are listed above.
