#80 added SafPickerRoundTripTest.thePickedInputSurvivesARealRotation to @FailsOnEmulatorApi37, because a real rotation aborts the framework on android-37.0. Three tests carry the marker now — two in Media3EngineTest, one in SafPickerRoundTripTest — and five statements still described two.
Four were counts, and wrong
where
said
is
status_check.yml
"notAnnotation removes the two tests"
three
status_check.yml
"The two API 37 tests the gating row excludes"
three
CLAUDE.md
"the gating leg runs the other 55"
56 (59 − 3)
CLAUDE.md
"evidence those two tests pass"
three
The fifth was worse, because it wasn't a count
The advisory job's header justified its name with an invariant:
It is named for WHAT IT RUNS, deliberately. Both tests drive a full H.264 → H.265 hardware transcode through Media3Engine
The rotation case drives no transcode. So the comment didn't merely miscount — it asserted a property of the job's contents that had stopped being true, and that property was the entire argument for the name.
The name is unchanged, deliberately
This PR does not rename the job — that was #81's original proposal and it was withdrawn. It isn't a required context, it's red on every PR by design, and it's one people have learned to look for; renaming a check costs more than the imprecision does.
What replaced the invariant is the honest rule: the marker is the definition, not the name. The job holds the tests that cannot pass on the API 37 emulator image, whatever their subject. The header now says the name is approximate and why it's kept, rather than implying the question never arose.
Two things left alone because they're still true
"the two Media3EngineTest cases that pass here" — that class has 4 tests and 2 carry the marker.
The c2.goldfish.h264.decoder theory is a claim about the Media3 pair alone. It now says so, rather than being read as covering a rotation failure it has nothing to do with.
No behaviour change
Same name, same continue-on-error, same marker, same selection on both rows. Verified: yaml parses, five jobs, matrix still 33/34/35/36/37.
Must equal the number every corrected comment states. It is 3. A test joining or leaving the marker is the event that broke this twice.
Closes #81.
#80 added `SafPickerRoundTripTest.thePickedInputSurvivesARealRotation` to `@FailsOnEmulatorApi37`, because a real rotation aborts the framework on `android-37.0`. **Three** tests carry the marker now — two in `Media3EngineTest`, one in `SafPickerRoundTripTest` — and five statements still described two.
## Four were counts, and wrong
| where | said | is |
|---|---|---|
| `status_check.yml` | "notAnnotation removes **the two tests**" | three |
| `status_check.yml` | "**The two** API 37 tests the gating row excludes" | three |
| `CLAUDE.md` | "the gating leg runs the other **55**" | **56** (59 − 3) |
| `CLAUDE.md` | "evidence those **two** tests pass" | three |
## The fifth was worse, because it wasn't a count
The advisory job's header justified its **name** with an invariant:
> It is named for WHAT IT RUNS, deliberately. **Both tests drive a full H.264 → H.265 hardware transcode** through Media3Engine
The rotation case drives no transcode. So the comment didn't merely miscount — it asserted a property of the job's contents that had stopped being true, and that property was the entire argument for the name.
## The name is unchanged, deliberately
This PR does **not** rename the job — that was #81's original proposal and it was withdrawn. It isn't a required context, it's red on every PR by design, and it's one people have learned to look for; renaming a check costs more than the imprecision does.
What replaced the invariant is the honest rule: **the marker is the definition, not the name.** The job holds the tests that cannot pass on the API 37 emulator image, whatever their subject. The header now says the name is approximate *and why it's kept*, rather than implying the question never arose.
## Two things left alone because they're still true
- *"the two `Media3EngineTest` cases that pass here"* — that class has **4** tests and **2** carry the marker.
- The `c2.goldfish.h264.decoder` theory is a claim about the Media3 pair alone. It now says so, rather than being read as covering a rotation failure it has nothing to do with.
## No behaviour change
Same name, same `continue-on-error`, same marker, same selection on both rows. Verified: yaml parses, five jobs, matrix still 33/34/35/36/37.
## The check for next time
```
grep -rn "@FailsOnEmulatorApi37" app/src/androidTest --include='*.kt' | grep -v import | grep -c FailsOn
```
Must equal the number every corrected comment states. It is **3**. A test joining or leaving the marker is the event that broke this twice.
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.
Closes #81.
#80 added
SafPickerRoundTripTest.thePickedInputSurvivesARealRotationto@FailsOnEmulatorApi37, because a real rotation aborts the framework onandroid-37.0. Three tests carry the marker now — two inMedia3EngineTest, one inSafPickerRoundTripTest— and five statements still described two.Four were counts, and wrong
status_check.ymlstatus_check.ymlCLAUDE.mdCLAUDE.mdThe fifth was worse, because it wasn't a count
The advisory job's header justified its name with an invariant:
The rotation case drives no transcode. So the comment didn't merely miscount — it asserted a property of the job's contents that had stopped being true, and that property was the entire argument for the name.
The name is unchanged, deliberately
This PR does not rename the job — that was #81's original proposal and it was withdrawn. It isn't a required context, it's red on every PR by design, and it's one people have learned to look for; renaming a check costs more than the imprecision does.
What replaced the invariant is the honest rule: the marker is the definition, not the name. The job holds the tests that cannot pass on the API 37 emulator image, whatever their subject. The header now says the name is approximate and why it's kept, rather than implying the question never arose.
Two things left alone because they're still true
Media3EngineTestcases that pass here" — that class has 4 tests and 2 carry the marker.c2.goldfish.h264.decodertheory is a claim about the Media3 pair alone. It now says so, rather than being read as covering a rotation failure it has nothing to do with.No behaviour change
Same name, same
continue-on-error, same marker, same selection on both rows. Verified: yaml parses, five jobs, matrix still 33/34/35/36/37.The check for next time
Must equal the number every corrected comment states. It is 3. A test joining or leaving the marker is the event that broke this twice.