NinaPlayer R15 verification record
checkpoint: 0.15.0-r15.2
round: R15 — Exhaustive autonomous emulator campaign
date: 2026-08-13
status: PASS for host/JVM/accelerated-emulator campaign; private signed release NOT CLAIMED

Formal accepted results
-----------------------
- Five consecutive full matrices, clean/reused/clean/reused/clean: PASS (5/5)
- Source frozen in every accepted matrix: PASS
- Android APIs 34, 35 and 36: PASS
- Formal instrumentation: PASS (375/375 = 25 tests x 3 APIs x 5 cycles)
- Reviewed visual comparisons: PASS (220/220, RMS 0)
- Fresh install, R13->R15.2 and R15.1->R15.2 upgrades: PASS
- Two-emulator sharing integration stages: PASS (5/5)
- Chaos seeds 15000-15019: PASS (20/20)
- Formerly-flaky repetitions: PASS (250/250; five scenarios x 50)
- API 35 uninterrupted playback soak: PASS (28,800 s; 471 observations; stable PID)
- API 36 uninterrupted playback soak: PASS (14,400 s; 236 observations; stable PID)
- Aggregate soak: PASS (12.0 hours)
- Exported JUnit assertions: PASS (882/882)
- Unresolved failures/quarantines/crashes/ANRs/closable leaks/secrets/visual diffs: 0

Toolchain and build
-------------------
- OpenJDK: 17.0.20
- Gradle: 9.5.0
- Android Emulator: 37.1.11
- SDK platform: android-37.0 revision 2
- Build Tools: 36.0.0
- NDK: 28.2.13676358 (r28c)
- CMake: 3.22.1
- KVM acceleration: usable
- Unit tests, assembleDebug, assembleDebugAndroidTest and lintDebug: PASS
- Deterministic source/static/core/resilience/SBOM/license verification: PASS
- Source-package generated-cache exclusion regression: PASS

Identities
----------
- Accepted executable source SHA-256:
  a6ff61a710a1d1e5b13df54c006dc9ef5435634da94e2a5522425c472a6f4ea4
- Tested x86_64 debug APK SHA-256:
  0521fecd6e81e06364d5de816fb6b0eb1aa5d89a8dd3a2f6f32285b29af3d7e3
- Post-fix UX recording SHA-256:
  7d652fdef829af356414d3892a1d764ab8eaddacf8ae44528090c6fab9880b29

Deliberate exclusions
---------------------
- Private release signing: NOT RUN — no user private keystore/signing variables supplied.
- Production HTTPS rendezvous/ICE: NOT CONFIGURED.
- Physical ARM64 device, real ARM64 payload and 16 KB APK/ELF acceptance: R17 gate.
- Optional real-provider canary: NOT RUN — no credential configured; deterministic suite PASS.
- Optional real yt-dlp canary: NOT RUN; deterministic resolver/degradation suites PASS.

What PASS means
---------------
PASS establishes the R15 source, host, JVM, x86_64 debug APK, accelerated Android emulator,
accessibility/visual, process-recovery, upgrade, sharing, chaos and endurance contracts. It does not
mean a privately signed production APK or physical ARM64-device release has been accepted.

Final packaging note
--------------------
An initial source ZIP was rejected before delivery because it included generated app/.cxx metadata.
The package helper and regression gate were corrected, the invalid ZIP was withheld, and only the
subsequent ZIP whose entries exactly match SOURCE_MANIFEST.sha256 is a checkpoint artifact.
