You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
report: 10 fixes to the 7.15 PDF test report — release-gate coverage gaps
Audit of fork develop CI run 28679110349 (PR #284 clearsign v2 static-
schema, 526 junit tests) against the who/what/why standard for every
major daily-driver EVM tx format. Ten fixes:
1. Lower 8 stale requires_firmware("7.15.1") gates to 7.15.0 (signing
guards x5, blind_sign_blocked/allowed, bip39-word-reject) — the
behaviors ship in the 7.15.0 line under test; the gate zeroed out
the EIP-1559 wrong-signer regression suite and the blind-sign
policy negative path on every 7.15.0 CI run.
2. Document the ETH-section amount-unit rule (Wei below 1 gwei, scaled
ETH/ticker above) so toy conformance-vector screenshots aren't
misread as a "never wei" violation.
3. Disclose EIP-712 typed-data hash-signing as a known gap (E16): the
device signs two host-computed hashes with zero readable domain/
message display — a daily-driver format with no who/what/why today.
4. Fix the ERC-4337 handleOps flow's overclaiming "innerCall: decoded
separately, not raw" placeholder — the representative UserOp's
inner callData is actually empty; the claim is now honest about
what this flow does and does not prove (regenerated its frozen
reference-blob snapshot to match).
5. Add 2 new on-device tests for the v2 static-schema headline security
property, previously unit-tested but never proven on real device
behavior: calldata/schema length-mismatch falls back to the
blind-sign gate (VS6), and an unsupported dynamic arg format is
independently rejected as MALFORMED by the device parser (VS7).
6. Surface the 3 silently-skipped Uniswap V2 liquidity tests (E17-E19)
with their documented emulator-limitation reason instead of leaving
them absent from SECTIONS entirely.
7. Surface the 3 passing-but-invisible THORChain-router EVM deposit
tests (E20-E22), including the router-pin blind-sign-gate proof
that closed a CRITICAL bypass.
8. Surface 6 passing-but-invisible malformed-blob rejection tests
(V7a-V7f: empty/truncated/trailing-bytes/wrong-version/zero-sig/
empty-slot) — the WHY = fail-closed story had no rejection-path
evidence in the release-gate document.
9. Fix the stale "7.15.1 NEW FEATURES" banner comment and the V8
context text that claimed "covered in 7.15.0+" while pointing at a
test gated to 7.15.1 (a self-contradiction in the PDF's own prose,
resolved by fix#1).
10. Fix print_clearsign_flows() (--flows external-signer reference
dump): KeyError on flow['shows'] (no catalog flow has that key —
regression from the move to the shared catalog module) and a
missing required key_id arg to flow_blob().
Verified: all 6 edited files compile; SECTIONS loaded in the real
firmware-checkout env (245 unique entries, 224->245, zero ID
collisions); every new/changed (module, method) SECTIONS reference
resolves to a real test function; all 51 REFERENCE_BLOB_SNAPSHOTS
still match (only the ERC-4337 entry's hash/length changed, matching
the ARG_FORMAT_STRING value edit in fix#4).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0 commit comments