Repository navigation
wallet: Remove legacy bails-wallet - #202
Conversation
0927e1e to
3e53933
Compare
2c02652 to
f120780
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f120780adf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6f4806d9a7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5c58871c7e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bd05699d06
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Ready for human review after history cleanup. #202 is now one atomic non-merge commit ( |
This comment has been minimized.
This comment has been minimized.
e3cd0c3 to
8623e0a
Compare
This comment has been minimized.
This comment has been minimized.
BenWestgate
left a comment
There was a problem hiding this comment.
AI-generated review (Claude), posted at the maintainer's request.
Concept ACK, approach ACK. Not ACKing 8623e0a yet: the permission repair doesn't run on the upgrade path it was added for, and set_pass.py is left behind.
Tested: I ran remove_legacy_wallet_files against a fake Tails dotfiles tree with regular files, $HOME symlinks into dotfiles, a symlinked directory and .pyc globs. It removes exactly the listed paths, deletes links without following them, and leaves everything else. CI is green.
Also:
- The PR body should describe the purge and the permission repair, and how both were tested on Tails. Suggested test: previous release with a read-only
walletsdirectory, then Update CipherStick, reboot, and Create Wallet in Bitcoin Core. - Merge #230 right after this, so master never ships without a codex32 path.
- nit: the single commit mixes three changes: the purge mechanism, the Sparrow removal (#205) and the bails-wallet removal. Consider three atomic commits.
- nit: the commit body isn't wrapped at 72 columns.
- nit: the
bails.desktopmode change (755 to 644) is unrelated.
8623e0a to
06ea1fd
Compare
|
Review addressed in |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 06ea1fdf44
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
f7c574b to
3581b71
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3581b71202
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
5f2a876 to
06922fb
Compare
This comment has been minimized.
This comment has been minimized.
Remove the in-tree bails-wallet, bundled codex32 helpers, decrypt-vault flow, and Sparrow installer so CipherStick no longer owns private-key handling or a second wallet stack. Update the menu, desktop metadata, documentation, and CI to match the reduced scope while preserving recovery guidance for existing backups. Existing installs may still contain removed managed files or a wallets directory made read-only by the old flow. Purge only those known legacy paths during install/update and restore owner write permission on a real wallets directory without dereferencing symlinks. This prevents removed code from remaining executable and lets Bitcoin Core and python-codex32 create or import wallets after an upgrade. Fixes #201 Fixes #205 Fixes #214 Refs #240
06922fb to
0a3f5f2
Compare
BenWestgate
left a comment
There was a problem hiding this comment.
LGTM
nit: about putting the removal script in ./b but we can move it later.
|
Pre-merge runtime check passed on head One thing to know: on Generated by Claude Code |
#202 was merged into master with new commit IDs but the same tree as this branch's base, so this branch's content is already correct. Record master as merged so GitHub sees no conflict. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
#202 was merged into master with new commit IDs but the same tree as this branch's #202 base, so this branch's content is already correct. Record master as merged so GitHub sees no conflict. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
Resolve the Settings menu conflict: keep #202's removal of the Sparrow button and handler, and keep this PR's Practice Passphrase button. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
Resolve the Settings menu conflict: keep #202's removal of the Sparrow button and handler, and keep this PR's Load AssumeUTXO Snapshot button. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
Resolve the Settings menu conflict: keep #202's removal of the Sparrow handler, and keep this PR's update-cipherstick launcher. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
#202 removed the last Python file, so the Python scan now fails with no source code found on master and every PR. Drop the Python-only extractor settings and the .local rename that existed for it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
This branch carried old copies of #202's and #226's commits. Take 211's tree and reapply only this PR's change (README link and THREAT_MODEL.md), updated for the merged codex32 restore flow and the checkout check's corruption-only scope. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
This branch carried old copies of #202, #226 and #227. Take 212's tree and reapply only this PR's change: HANDOFF.md, the README handoff link, the copied-chainstate trust warning and the new FAQ handoff entry, fitted to #226's rewritten FAQ. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PjUU3NvvEE8SGD3RdpXWDr
What
bails-walletentry point and its bundled wallet/Codex32 implementationwalletsdirectory after Persistent Storage is availableWhy
CipherStick should remain a narrow Tails + Bitcoin Core integration rather than own private-key handling or install an additional wallet coordinator. Removing both layers reduces the trusted code and package-supply-chain surface.
Closes #201
Closes #205
Closes #214
Testing
masterat462c5f1; current head0a3f5f2is mergeable100644launcher mode; the three logical commits remain intactgit diff --checkbash -n b bails/.local/bin/bails-menu bails/.local/bin/install-core bails/.local/bin/wrappedbitcoin:is reassigned to Bitcoin Core, unrelated.localfiles survive, and Persistent.sparrowwallet data is preservedrsync --deleteremoves stale destination files while/release-key.ascpreserves updates: Authenticate signed releases #223's managed authenticated-update keyset_pass/SimplePassphraseDialogruntime referencesMerge ordering
Merge #202 first, then retarget and merge #230 immediately so the removed legacy flow is replaced by the reviewed
python-codex32flow without an intentional release gap.Waiting for human
Pre-merge runtime gate: on Tails 7.13, update a previous CipherStick installation that has a read-only
walletsdirectory, reboot, and verify Bitcoin Core can create a wallet. The 2026-09-29 fresh-install create/restore pass does not exercise this upgrade-only repair path.