Skip to content

feat(vault): consolidate ClearSign Studio and Ironwood release work - #384

Draft
BitHighlander wants to merge 16 commits into
developfrom
feat/clearsign-studio-ironwood
Draft

feat(vault): consolidate ClearSign Studio and Ironwood release work#384
BitHighlander wants to merge 16 commits into
developfrom
feat/clearsign-studio-ironwood

Conversation

@BitHighlander

Copy link
Copy Markdown
Collaborator

Summary

  • consolidate the local Vault 7.15 release work on top of current develop
  • add ClearSign Studio authoring, signer management, evidence, and release-control documentation
  • add Solana transaction-bound ClearSign request/SDK plumbing, offline descriptor fixtures, and outflow checks
  • keep the Zcash Ironwood protocol verification and sidecar balance behavior in the Vault build
  • make pure transaction-builder imports side-effect-free and keep generated SDK output deterministic

Why

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.json in 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 failed
  • cargo test in projects/keepkey-vault/zcash-cli — 66 passed, 1 ignored
  • npm test in projects/keepkey-sdk — 14 passed, 0 failed
  • npm run test:solana-clearsign:offline — passed
  • focused ClearSign Studio and Solana outflow tests — 10 passed, 0 failed
  • bun run build in projects/keepkey-vault — passed
  • Ironwood device-protocol field and serialization verification — passed

Review notes

The branch was reconciled with origin/develop at 76af0f2f. The hdwallet submodule is left at the canonical pin already present on current develop. Unrelated unpublished nested-submodule experiments and generated build caches were excluded from this PR.

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant