Re-measuring coverage on main @ dc8b7c3 (84.9% line, 63.8% branch, 456 JVM tests in 68 classes) turned up four things that a test would document rather than repair. Those go here; the test gaps from the same read are #132 (seven JVM gaps) and #133 (three seam questions).
docs/coverage-read-findings.md follows defect-audit.md's shape and reuses its confidence vocabulary, with entry ids F1–F4 so the two cannot be confused.
ID
Finding
Action
F1
FFmpegCommandBuilder:188 emits a Vorbis encoder that ContainerCapabilities:84's own comment says nothing emits
decide — the comment is false either way
F2
ConversionRequest.hardwareEncodeAvailable is written once, read by nothing; its KDoc describes removed behaviour
decide — delete or mark vestigial
F3
ConversionRequest.videoCodec / .audioCodec have no callers anywhere
F1 is the one worth reading. It is traced unreachable through four call sites, so as dead code it is unremarkable. The other reading is not: FFmpeg on this device can encode Vorbis, the command is written and correct, CARRIES_AUDIO lists Vorbis for WebM and OGG — and because encodableAudio filters through ENCODABLE_AUDIO, the picker offers Opus and nothing else for WebM. Whether that omission is a product call or an accident is not recorded anywhere. Media3Engine:221-233 handles its identical Vorbis arm exactly right and is cited as the precedent.
Two things the read makes look like gaps are recorded as not-gaps, so the next read does not re-file them: the Compose screens' branch numbers (inflated by compiler-synthesised $changed/$dirty skip tests — the line figures are 34/383 and 20/143), and ConversionForegroundType, which #88 already settled.
This PR's own CI corrected one of its claims
The ConversionForegroundType entry originally asserted that #122's wedge no longer kills the API 33 leg, on the evidence of one green run. This PR's API 33 leg then wedged — wedged: yes — gradle was killed after 1200s and never returned, failed: unknown, 23m08s — on a diff that touches one markdown file. Commit 8a23f2a corrects the entry to what the runs actually show: intermittent, not resolved, five of the last six completed legs green in ~7 minutes, and the cost is the verdict rather than the execution (received: 60 — the tests reported; the leg just could not have said if one broke). Evidence added to #122.
Both red checks are unrelated to this diff:E2E API 33 is #122, and E2E API 37 Media3 hardware transcode (advisory) is red on every PR by design, as CLAUDE.md states. Static analysis, Unit tests, CodeQL and the API 34/35/36/37 gating legs all pass.
Re-measuring coverage on `main` @ `dc8b7c3` (84.9% line, 63.8% branch, 456 JVM tests in 68 classes) turned up four things that a **test would document rather than repair**. Those go here; the test gaps from the same read are #132 (seven JVM gaps) and #133 (three seam questions).
`docs/coverage-read-findings.md` follows `defect-audit.md`'s shape and reuses its confidence vocabulary, with entry ids `F1`–`F4` so the two cannot be confused.
| ID | Finding | Action |
|---|---|---|
| F1 | `FFmpegCommandBuilder:188` emits a Vorbis encoder that `ContainerCapabilities:84`'s own comment says nothing emits | **decide** — the comment is false either way |
| F2 | `ConversionRequest.hardwareEncodeAvailable` is written once, read by nothing; its KDoc describes removed behaviour | **decide** — delete or mark vestigial |
| F3 | `ConversionRequest.videoCodec` / `.audioCodec` have no callers anywhere | tidy — and explicitly **not** a test gap |
| F4 | Two private guards reachable only by direct call | **no action** — named exemption, per #88 |
**F1 is the one worth reading.** It is traced unreachable through four call sites, so as dead code it is unremarkable. The other reading is not: FFmpeg on this device can encode Vorbis, the command is written and correct, `CARRIES_AUDIO` lists Vorbis for WebM and OGG — and because `encodableAudio` filters through `ENCODABLE_AUDIO`, the picker offers Opus and nothing else for WebM. Whether that omission is a product call or an accident is not recorded anywhere. `Media3Engine:221-233` handles its identical Vorbis arm exactly right and is cited as the precedent.
Two things the read makes *look* like gaps are recorded as not-gaps, so the next read does not re-file them: the Compose screens' branch numbers (inflated by compiler-synthesised `$changed`/`$dirty` skip tests — the line figures are 34/383 and 20/143), and `ConversionForegroundType`, which #88 already settled.
### This PR's own CI corrected one of its claims
The `ConversionForegroundType` entry originally asserted that #122's wedge no longer kills the API 33 leg, on the evidence of one green run. **This PR's API 33 leg then wedged** — `wedged: yes — gradle was killed after 1200s and never returned`, `failed: unknown`, 23m08s — on a diff that touches one markdown file. Commit `8a23f2a` corrects the entry to what the runs actually show: intermittent, not resolved, five of the last six completed legs green in ~7 minutes, and the cost is the *verdict* rather than the execution (`received: 60` — the tests reported; the leg just could not have said if one broke). Evidence added to #122.
**Both red checks are unrelated to this diff:** `E2E API 33` is #122, and `E2E API 37 Media3 hardware transcode (advisory)` is red on every PR by design, as `CLAUDE.md` states. `Static analysis`, `Unit tests`, `CodeQL` and the API 34/35/36/37 gating legs all pass.
Docs-only; no source or build change.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Re-measuring coverage on
main@dc8b7c3(84.9% line, 63.8% branch, 456 JVM tests in 68 classes) turned up four things that a test would document rather than repair. Those go here; the test gaps from the same read are #132 (seven JVM gaps) and #133 (three seam questions).docs/coverage-read-findings.mdfollowsdefect-audit.md's shape and reuses its confidence vocabulary, with entry idsF1–F4so the two cannot be confused.FFmpegCommandBuilder:188emits a Vorbis encoder thatContainerCapabilities:84's own comment says nothing emitsConversionRequest.hardwareEncodeAvailableis written once, read by nothing; its KDoc describes removed behaviourConversionRequest.videoCodec/.audioCodechave no callers anywhereF1 is the one worth reading. It is traced unreachable through four call sites, so as dead code it is unremarkable. The other reading is not: FFmpeg on this device can encode Vorbis, the command is written and correct,
CARRIES_AUDIOlists Vorbis for WebM and OGG — and becauseencodableAudiofilters throughENCODABLE_AUDIO, the picker offers Opus and nothing else for WebM. Whether that omission is a product call or an accident is not recorded anywhere.Media3Engine:221-233handles its identical Vorbis arm exactly right and is cited as the precedent.Two things the read makes look like gaps are recorded as not-gaps, so the next read does not re-file them: the Compose screens' branch numbers (inflated by compiler-synthesised
$changed/$dirtyskip tests — the line figures are 34/383 and 20/143), andConversionForegroundType, which #88 already settled.This PR's own CI corrected one of its claims
The
ConversionForegroundTypeentry originally asserted that #122's wedge no longer kills the API 33 leg, on the evidence of one green run. This PR's API 33 leg then wedged —wedged: yes — gradle was killed after 1200s and never returned,failed: unknown, 23m08s — on a diff that touches one markdown file. Commit8a23f2acorrects the entry to what the runs actually show: intermittent, not resolved, five of the last six completed legs green in ~7 minutes, and the cost is the verdict rather than the execution (received: 60— the tests reported; the leg just could not have said if one broke). Evidence added to #122.Both red checks are unrelated to this diff:
E2E API 33is #122, andE2E API 37 Media3 hardware transcode (advisory)is red on every PR by design, asCLAUDE.mdstates.Static analysis,Unit tests,CodeQLand the API 34/35/36/37 gating legs all pass.Docs-only; no source or build change.
🤖 Generated with Claude Code