feat(auth): Phase 8 — migrate run_recover and run_rotate off PEM files
- run_recover: replace generate_hd_keypair with derive_hd_public_info; store mnemonic in OS keychain; guard on identity entry (not PEM file) for --force; remove key_path from entry, JSON, and _RecoverJson TypedDict - run_rotate: read mnemonic from keychain (kc_load) instead of _read_mnemonic_securely; replace generate_hd_keypair with derive_hd_public_info; remove key_path from entry, JSON, _RotateJson - test_cmd_auth_phase8.py: new TDD test file; 12 tests REC-1..REC-7 and ROT-1..ROT-4 all green - test_auth_rotate.py: add keychain patching to isolated fixture; remove stdin from _rotate(); replace test_III2_new_pem_is_valid_ed25519 with test_III2_rotate_writes_no_pem; all 10 green - test_hd_keygen_unified.py: replace test_recover_writes_pem with test_recover_writes_no_pem; delete test_recover_pem_mode_600; add keychain patching to _do_recover - docs: mark Phase 8 complete; update all stale status fields
0 comments
muse hub commit comment sha256:2ce0743fe5cd25849790e34608228477f418536be07f4b129d85f9c2cdf5895c --body "your comment"
No comments yet. Be the first to start the discussion.