CI Test Atlas
The Test Atlas connects a curated test catalog to execution results and captured device screens. Use it to understand what a test is intended to prove, what ran on a particular candidate and what still needs review.
Read the candidate first
The 2026-09-24 CI run includes a test-report artifact containing an 81-page PDF, manifest, PDF hash and merged JUnit results.
- Firmware:
efdeb678bc33c616cf8048fb5773548f0da96fa7. - Python test client:
b745562be6a13cc83b2a547d7ef86637f4556dbb. - PDF SHA-256:
d1b28f69cd541bba9190dcbfbb665bbd3b66f858d5dcefa6c635e96de54d5b4c. - Curated PDF catalog: 392 tests — 249 passed, 140 skipped, 3 pending.
- Merged input census: 1,361 test cases — 1,183 passed, 178 skipped, no failures or errors in that input set.
These populations differ. Do not add them together or use them as a permanent company-wide test count. This is a development candidate, not a signed-release acceptance receipt. GitHub artifact downloads may require authentication and may expire.
The older 7.14.1 PDF is a historical report dated May 23, 2026; it is not the latest report.
How to use it as a manual
- Match the firmware, host and artifact identity to the build you are evaluating.
- Find the relevant section and read the test’s purpose and expected behavior.
- Distinguish a passed test from skipped, pending or withheld coverage.
- Inspect the captured screens. Sampled frames illustrate a test; only explicitly complete, ordered sequences can support a claim about the entire flow.
- Follow the named test and JUnit result for exact inputs and assertions. A refusal can legitimately have no screen capture.
- Record any remaining hardware, rendering or release-provenance checks separately.
Limitations and known report corrections
Emulator evidence does not establish physical device resistance to fault injection, side channels or supply-chain attacks. Human review must judge whether the words on the captured screen are understandable and accurate.
This report also contains presentation and narrative issues: long OLED-needed annotations clip, some frames are samples, and historical explanatory text can disagree with current evidence. In particular, the appendix’s immutable-bootloader claim conflicts with KeepKey’s bootloader-update process. Read test statuses independently of historical prose.
The Atlas authoring guide describes catalog entries and full-sequence requirements. python-keepkey is the test client.
Try firmware without a device
KeepKey’s public emulator walkthrough demonstrates loading firmware into KeepKey Desktop with an Orchard test wallet. Use a compatible candidate and disposable test wallet. Never import a real recovery phrase into an emulator. The walkthrough does not establish coverage of every firmware feature.
Continue to release status or device display examples.