refactor(cli): remove dead code paths - #89
Conversation
GPT ReviewerVerdict: REJECT Reviewed head Wallet creation no longer preserves the required in-memory config mutation, although all supplied deterministic checks pass. Findings
Shared exact-snapshot validation
|
Claude ReviewerVerdict: REJECT Reviewed head Three of the four mandated cleanup boundaries are met exactly: saveConfig/mergeConfigForSave are removed with no remaining references and every lock/permission/security test was converted to updateConfig with equivalent assertions (concurrency coverage retained); the parseUsdMicros negative branch is provably unreachable behind the sign-free regex with error text unchanged; and the promptHidden keypress cleanup removal cannot leak listeners since only a data listener is registered. However, the wallet-create branch violates the fourth boundary: it deletes the in-memory config.wallets[name] mutation and keeps only the durable updateConfig write, while issue #86 explicitly requires preserving both for the create path (as the by-name, by-address, and restore paths still do). The deviation is behaviorally inert today because create has no subsequent reader of config, but it silently exceeds the authorized behavior-preserving cleanup and drops the memory/disk coherence pattern, so it must be restored or explicitly re-scoped with the owner. Rejecting per the zero-findings bar. Findings
Shared exact-snapshot validation
|
Review rework: the create branch dropped the in-memory config.wallets[name] mutation the issue #86 boundary requires, leaving it asymmetric with the by-name/by-address/restore paths. adoptWallet now runs on the loaded config before the durable updateConfig write (memory-then-durable, matching base ordering), and the create test asserts the loaded config object is mutated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rework: the shared finding addressed (head
|
Summary
updateConfig()pathkeypresslistener cleanupValidation
npm test— CLI 212/212 and core 14/14 passednpm run typechecknpm run lintnpm run buildnpm run verify:packnpm run smoke:packgit diff --cached --checkCloses #86