feat: HD-only keygen — remove JBOK, add agent derivation and recover
- Delete generate_keypair() (JBOK random keys) from keypair.py - Add agent_id_to_slot() to hdkeys.py: sha256(handle)[:4] & 0x7FFFFFFF - run_keygen: no --hd flag; human path generates fresh 24-word mnemonic; agent path derives from operator mnemonic via derive_agent_sub_seed() - run_recover: re-derives same key from BIP39 mnemonic (human or agent) - identity.py: provisioned_by_fingerprint field added to IdentityEntry - Fix run_recover bugs: use .get('handle','') and check validate_mnemonic() return value - Write test_hd_keygen_unified.py: 44 tests for agent_id_to_slot, human keygen, agent keygen, run_recover, no-JBOK, integration flow - Update test_cmd_auth_keygen_hd.py: remove --hd flags, fix 12→24 word defaults
sha256:910a8d48bf685659fdcaf595d029bb56512f8f75aaf3c41a942f2004fdd3f413
sha
+85
~28
−3
symbols
sha256:fefe5476212ea6a736ae6632137562dde2b3571c297d32ed30aa8766b6f20ae6
snapshot
+85
symbols added
~28
symbols modified
−3
symbols removed
0
dead code introduced
Semantic Changes
116 symbols
+
test_distinct_handles_likely_distinct_slots
method
method test_distinct_handles_likely_distinct_slots L93–97
+
test_agent_key_different_from_human_key
method
method test_agent_key_different_from_human_key L318–333
+
test_agent_keygen_without_operator_exits_nonzero
method
method test_agent_keygen_without_operator_exits_nonzero L352–358
+
test_different_domains_different_sub_seeds
method
method test_different_domains_different_sub_seeds L408–414
+
test_different_slots_different_sub_seeds
method
method test_different_slots_different_sub_seeds L399–406
+
test_sub_seed_differs_from_parent_seed
method
method test_sub_seed_differs_from_parent_seed L416–420
+
test_operator_then_agent_then_recover
method
method test_operator_then_agent_then_recover L515–550
+
test_slot_stability_across_keygen_invocations
method
method test_slot_stability_across_keygen_invocations L552–558
+
test_recover_invalid_mnemonic_exits_nonzero
method
method test_recover_invalid_mnemonic_exits_nonzero L482–486
+
test_recover_produces_same_fingerprint_as_keygen
method
method test_recover_produces_same_fingerprint_as_keygen L456–480
~
__all__
+
test_jbok_generate_keypair_does_not_exist
method
method test_jbok_generate_keypair_does_not_exist L298–303
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:910a8d48bf685659fdcaf595d029bb56512f8f75aaf3c41a942f2004fdd3f413 --body "your comment"
No comments yet. Be the first to start the discussion.