From 020abccf57fcb474ad1ca08531351f5e8a0756b8 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Apr 2026 22:30:08 +0000 Subject: [PATCH] fix(cli): mark Identity.hasPrivateKey @JsonIgnore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Jackson was writing the computed \`hasPrivateKey\` into identity.json and then refusing to read it back ("Unrecognized field hasPrivateKey") on the next invocation. All amy commands that reload the data-dir (\`marmot group create\`, \`marmot key-package publish\`, …) exited 1 at the Context.open step. Pure boolean getter, no persistence needed. https://claude.ai/code/session_01M6dCKAF5Y1VyHGZPjzwDXq --- cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/Config.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/Config.kt b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/Config.kt index 5469f615cf..989338e54f 100644 --- a/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/Config.kt +++ b/cli/src/main/kotlin/com/vitorpamplona/amethyst/cli/Config.kt @@ -45,6 +45,7 @@ data class Identity( val nsec: String?, val npub: String, ) { + @get:com.fasterxml.jackson.annotation.JsonIgnore val hasPrivateKey: Boolean get() = privKeyHex != null fun keyPair(): KeyPair =