mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-30 01:12:17 +00:00
Driving the CLI from an empty app directory turned up a gap that no test
covered: there was no way to create a vault. Every path assumed you already
had a seed and told you to export SEEDPASS_MNEMONIC, so a new user could not
get started at all. Python has generate_bip85_seed; the port did not.
fingerprint create fills that in with the same construction Python uses --
32 bytes of OS entropy through BIP-85 app 39 index 0. The entropy call sits
outside any try/catch on purpose, carried over from Python's entropy audit:
nothing may catch a CSPRNG failure and substitute a value.
Where the phrase goes is a deliberate choice rather than a default. This is
the one secret in SeedPass with no other copy, so:
- the destination is validated BEFORE generating, and delivery happens
BEFORE the profile is created -- a failure at either point leaves
nothing behind rather than a vault whose seed nobody has;
- --out writes 0600 with O_EXCL, so an existing file is never clobbered;
- with no destination and a non-TTY stdout it refuses outright, instead of
writing the only copy of a seed into a pipe -- a log, a transcript, an
agent's context.
Also fixed, all found the same way:
- use --exec always exited 0, so chaining a deploy command after it with
&& reported success even when the deploy failed. The sink child's exit
status is now the CLI's own.
- the sink command spec split on whitespace and ignored quotes, so
--exec 'sh -c "..."' -- the most common form there is -- handed sh the
fragments of the script and died on an unterminated string.
- --tags work,dev silently stored a single tag named "work,dev" that no
search would ever match. Commas and spaces both separate now.
Two normal states reported raw errno: a stopped agent said
'connect ENOENT /.../agent.sock', and an occupied --out path said EEXIST.
The capability map claimed ssh/pgp were unported. Both work and are at
parity with Python; automation branches on that list, so it now describes
this build.
Verified against Python on a TS-generated seed: same fingerprint, same
password, same TOTP code. 320 JS tests and 36/36 cross-impl checks pass.
Co-Authored-By: Claude Fable 5 <[email protected]>
SeedPass Docs
This directory contains SeedPass project documentation.
Start Here
dev_control_center.md(single source to decide what to do next)
Agent and Autonomy Docs
agent_autonomy_security_plan.mdpolicy_as_code.mdsync_conflict_contract.md
Core Security Docs
security_readiness_checklist.mdthreat_model.mdcrypto_key_management_review.mdsecret_handling_local_exposure_review.mdauth_lock_unlock_access_review.mdsupply_chain_release_integrity.mdrelease_verification_runbook.mdrelease_protection_policy.mdoperational_runbooks.mdstaged_rollout_runbook.md
Architecture and Product Docs
ARCHITECTURE.mdSPEC.mdtypescript_web_extension_port_plan.mdentry_types.mdentry_graph.mdtui_v3_plan.md(active roadmap for scratch rebuild)tui_v2_plan.md(legacy logic reference)tui_v2_parity_checklist.mdtui_v2_parity_backlog.mdtui_v2_legacy_parity_matrix.mdtui_v2_ui_refresh_plan.mdsemantic_vector_index_plan.mdtui_v2_cutover_decision.mdtui_v2_large_vault_validation.mdsecurity.mdnostr_setup.mdnostr_namespace_reset.mdpackaging.md
QA and Testing Docs
TEST_INVENTORY.md(central index of all tests and runners)agent_testing_roadmap.mdai_agent_tui_testing.mdagent_test_format.mdinstaller_testing.mdkb_scale_validation.mdci-health-2026-02-19.mdagent-handoffs/README.md
Discoverability Commands
seedpass --helpseedpassseedpass tui2seedpass --legacy-tuiseedpass legacyseedpass <group> --helpseedpass tui2 --helpseedpass tui2 --checkseedpass capabilities --format jsonseedpass agent bootstrap-context