feat(vault): consolidate ClearSign Studio and Ironwood release work - #384
Draft
BitHighlander wants to merge 16 commits into
Draft
feat(vault): consolidate ClearSign Studio and Ironwood release work#384BitHighlander wants to merge 16 commits into
BitHighlander wants to merge 16 commits into
Conversation
Covers what shipped (firmware #321, vault #380, pioneer v1.3.149 — Relay swaps clear-sign both directions on real hardware), the persistence design that was rejected after review and precisely why the reasoning was wrong, and the two remaining pieces: a KeepKey that issues clear-sign signatures, and certificate chains so onboarding a provider does not need a firmware release. The chain work is deliberately left as a spec-first item. The rejected PR is a direct demonstration of what skipping that step costs on a trust-model change.
The capture caught two truncation bugs in firmware #323 -- the discriminator rendered off the bottom of the confirm body, and batched labels scrolled off at max length -- so the harness ships alongside the PNGs rather than the PNGs alone. Re-runnable against any kkemu built with KK_CLEARSIGN_ATTESTOR=ON.
Emulator proof that a metadata blob verifies with no LoadClearsignSigner and leads with INSIGHT VERIFIED instead of a host-chosen identity, plus the script that produced it.
The issuing firmware bakes no key, so it ships first. The constraint that actually orders the work is the bootloader's signedness-match rule for restoring storage, which is why the attestor ships as a signed variant.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
developWhy
The release work had accumulated across the primary Vault worktree while canonical protocol, Python, and hdwallet staging moved forward independently. This PR reconciles that intentional Vault/SDK work with current
develop, preserves the exact upstream dependency flow, and gives reviewers one clean integration branch to test before any release action.The transaction-builder barrel also eagerly loaded the Pioneer database layer. Pure unit tests consequently booted Electrobun's updater and failed while looking for packaged
Resources/version.jsonin a source checkout. Pioneer is now loaded only when a Pioneer BTC operation is actually invoked; runtime behavior is unchanged and pure imports remain side-effect-free.SOP / release boundary
This is a Vault integration PR only. It does not publish packages, merge firmware upstream, cut RC23, or claim hardware validation. Firmware and physical-device testing remain separate release gates.
Validation
make test-unit— 335 passed, 0 failedcargo testinprojects/keepkey-vault/zcash-cli— 66 passed, 1 ignorednpm testinprojects/keepkey-sdk— 14 passed, 0 failednpm run test:solana-clearsign:offline— passedbun run buildinprojects/keepkey-vault— passedReview notes
The branch was reconciled with
origin/developat76af0f2f. The hdwallet submodule is left at the canonical pin already present on currentdevelop. Unrelated unpublished nested-submodule experiments and generated build caches were excluded from this PR.