{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2024:Y3UJ36HWYODK3SBIVQAWN3ZXCB","short_pith_number":"pith:Y3UJ36HW","canonical_record":{"source":{"id":"2409.11321","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LG","submitted_at":"2024-09-17T16:18:05Z","cross_cats_sorted":["cs.AI"],"title_canon_sha256":"19f51ed35d18fedb5acd0bd7125373799c5f6753272115eb11a91ac74cc69dcb","abstract_canon_sha256":"10304c10072863fbd852c8c755150cdf3e5f2321c96b18b2f4e2df8a7fcfe0d2"},"schema_version":"1.0"},"canonical_sha256":"c6e89df8f6c386adc828ac0166ef37105c60b407da96a0de22491f79bd188883","source":{"kind":"arxiv","id":"2409.11321","version":2},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2409.11321","created_at":"2026-05-17T23:39:05Z"},{"alias_kind":"arxiv_version","alias_value":"2409.11321v2","created_at":"2026-05-17T23:39:05Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2409.11321","created_at":"2026-05-17T23:39:05Z"},{"alias_kind":"pith_short_12","alias_value":"Y3UJ36HWYODK","created_at":"2026-05-18T12:33:37Z"},{"alias_kind":"pith_short_16","alias_value":"Y3UJ36HWYODK3SBI","created_at":"2026-05-18T12:33:37Z"},{"alias_kind":"pith_short_8","alias_value":"Y3UJ36HW","created_at":"2026-05-18T12:33:37Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2024:Y3UJ36HWYODK3SBIVQAWN3ZXCB","target":"record","payload":{"canonical_record":{"source":{"id":"2409.11321","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LG","submitted_at":"2024-09-17T16:18:05Z","cross_cats_sorted":["cs.AI"],"title_canon_sha256":"19f51ed35d18fedb5acd0bd7125373799c5f6753272115eb11a91ac74cc69dcb","abstract_canon_sha256":"10304c10072863fbd852c8c755150cdf3e5f2321c96b18b2f4e2df8a7fcfe0d2"},"schema_version":"1.0"},"canonical_sha256":"c6e89df8f6c386adc828ac0166ef37105c60b407da96a0de22491f79bd188883","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-17T23:39:05.180023Z","signature_b64":"TVJsH119zG9OxY5UTICbOwaG4AWAtQDBkwLNML3JFtoNCgMl3ksjrxNl2Ego6zYZqKkoRSUb66iDAejdOYUbDw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"c6e89df8f6c386adc828ac0166ef37105c60b407da96a0de22491f79bd188883","last_reissued_at":"2026-05-17T23:39:05.179384Z","signature_status":"signed_v1","first_computed_at":"2026-05-17T23:39:05.179384Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"2409.11321","source_version":2,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:39:05Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"z0WzMO8vGBznYzqbTkhdTIp8OMjOrwfMXAGUUklJzf0v5/zSjwhAfwaY4ONT/UbWidOOj5DN3JE/YG7cDjvECQ==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-08T20:33:41.979187Z"},"content_sha256":"63c6c73d2a0dae7e9042bf7538aeb23d5782ca5a707fdb43ecf4a4acf0fec56e","schema_version":"1.0","event_id":"sha256:63c6c73d2a0dae7e9042bf7538aeb23d5782ca5a707fdb43ecf4a4acf0fec56e"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2024:Y3UJ36HWYODK3SBIVQAWN3ZXCB","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"SOAP: Improving and Stabilizing Shampoo using Adam","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"SOAP runs Adam inside Shampoo's eigenbasis to cut large-batch iterations by over 40 percent versus AdamW.","cross_cats":["cs.AI"],"primary_cat":"cs.LG","authors_text":"David Brandfonbrener, Depen Morwani, Itai Shapira, Lucas Janson, Mujin Kwun, Nikhil Vyas, Rosie Zhao, Sham Kakade","submitted_at":"2024-09-17T16:18:05Z","abstract_excerpt":"There is growing evidence of the effectiveness of Shampoo, a higher-order preconditioning method, over Adam in deep learning optimization tasks. However, Shampoo's drawbacks include additional hyperparameters and computational overhead when compared to Adam, which only updates running averages of first- and second-moment quantities. This work establishes a formal connection between Shampoo (implemented with the 1/2 power) and Adafactor -- a memory-efficient approximation of Adam -- showing that Shampoo is equivalent to running Adafactor in the eigenbasis of Shampoo's preconditioner. This insig"},"claims":{"count":4,"items":[{"kind":"strongest_claim","text":"In the large-batch regime, SOAP reduces the number of iterations by over 40% and wall-clock time by over 35% compared to AdamW, with approximately 20% improvements in both metrics compared to Shampoo.","source":"verdict.strongest_claim","status":"machine_extracted","claim_id":"C1","attestation":"unclaimed"},{"kind":"weakest_assumption","text":"The formal equivalence between 1/2-power Shampoo and Adafactor holds only inside the current eigenbasis; the paper assumes that keeping this basis fixed for many steps does not materially degrade the preconditioning quality, an assumption validated only empirically on the tested model sizes.","source":"verdict.weakest_assumption","status":"machine_extracted","claim_id":"C2","attestation":"unclaimed"},{"kind":"one_line_summary","text":"SOAP runs Adam in the eigenbasis of Shampoo's preconditioner, cutting iterations by over 40% versus AdamW on 360M-660M language models while adding only one hyperparameter.","source":"verdict.one_line_summary","status":"machine_extracted","claim_id":"C3","attestation":"unclaimed"},{"kind":"headline","text":"SOAP runs Adam inside Shampoo's eigenbasis to cut large-batch iterations by over 40 percent versus AdamW.","source":"verdict.pith_extraction.headline","status":"machine_extracted","claim_id":"C4","attestation":"unclaimed"}],"snapshot_sha256":"7d7a9bc9895da344f5dabe67ca44e7a5cf513c4857c89ccedd6927b0b2c7f010"},"source":{"id":"2409.11321","kind":"arxiv","version":2},"verdict":{"id":"f224842c-9d09-490d-8b0d-a53c6aaafe7f","model_set":{"reader":"grok-4.3"},"created_at":"2026-05-15T00:57:19.167991Z","strongest_claim":"In the large-batch regime, SOAP reduces the number of iterations by over 40% and wall-clock time by over 35% compared to AdamW, with approximately 20% improvements in both metrics compared to Shampoo.","one_line_summary":"SOAP runs Adam in the eigenbasis of Shampoo's preconditioner, cutting iterations by over 40% versus AdamW on 360M-660M language models while adding only one hyperparameter.","pipeline_version":"pith-pipeline@v0.9.0","weakest_assumption":"The formal equivalence between 1/2-power Shampoo and Adafactor holds only inside the current eigenbasis; the paper assumes that keeping this basis fixed for many steps does not materially degrade the preconditioning quality, an assumption validated only empirically on the tested model sizes.","pith_extraction_headline":"SOAP runs Adam inside Shampoo's eigenbasis to cut large-batch iterations by over 40 percent versus AdamW."},"references":{"count":14,"sample":[{"doi":"10.48550/arxiv","year":2024,"title":"URLhttps://doi.org/10.48550/arXiv","work_id":"5c2060c6-427c-4321-be22-49ccae439d80","ref_index":1,"cited_arxiv_id":"2203.14987","is_internal_anchor":true},{"doi":"","year":null,"title":"(360m) We sweep over the cross product of best 3 learning rates and β1 ∈ {0.9, 0.95, 0.99}","work_id":"68d7246c-b0af-4656-b251-14957d19df9e","ref_index":3,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":null,"title":"The last two of the sweeps did not yield any benefit for the 360m model with 2m batch size hence we only sweep over learning rate for the 660m model with 2m batch size","work_id":"e734c182-2261-46fd-a26b-32c9a19751da","ref_index":4,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":null,"title":"(360m) We sweep over over the cross product of best 3 learning rates from above and ϵshampoo ∈ {1e−11, 1e−12, 1e−13}","work_id":"ca85d03f-af81-4afc-b4fa-6582fdb25921","ref_index":6,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":null,"title":"(360m) We sweep over over the cross product of best 3 learning rates from above and βshampoo ∈ {.9, .95, .975}","work_id":"2ad7d81d-628f-4da6-bd3c-1e5c969cda02","ref_index":7,"cited_arxiv_id":"","is_internal_anchor":false}],"resolved_work":14,"snapshot_sha256":"7cc19d8b763e00a24303a3efad67be0f5733dc5dda17bbbe87dcd7889fb46675","internal_anchors":1},"formal_canon":{"evidence_count":2,"snapshot_sha256":"b65b98a1f4fad8fbcc58eca0322a67e71f70b45a287b8141cda68d664f0775e6"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"verdict_id":"f224842c-9d09-490d-8b0d-a53c6aaafe7f"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:39:05Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"6ubL16zWQr237K1w573pThF1P8e1lvGAzMDQHnRmprmsBmg7YyEZm0i+IR6NQI4FBnhEP1H7q1K9SwoAxckoAg==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-08T20:33:41.980336Z"},"content_sha256":"c86dfef4364b037a4d5e30f5e2d9b0b1d65f6800df4fc06e94ac1aff35bb6c9c","schema_version":"1.0","event_id":"sha256:c86dfef4364b037a4d5e30f5e2d9b0b1d65f6800df4fc06e94ac1aff35bb6c9c"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/Y3UJ36HWYODK3SBIVQAWN3ZXCB/bundle.json","state_url":"https://pith.science/pith/Y3UJ36HWYODK3SBIVQAWN3ZXCB/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/Y3UJ36HWYODK3SBIVQAWN3ZXCB/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-06-08T20:33:41Z","links":{"resolver":"https://pith.science/pith/Y3UJ36HWYODK3SBIVQAWN3ZXCB","bundle":"https://pith.science/pith/Y3UJ36HWYODK3SBIVQAWN3ZXCB/bundle.json","state":"https://pith.science/pith/Y3UJ36HWYODK3SBIVQAWN3ZXCB/state.json","well_known_bundle":"https://pith.science/.well-known/pith/Y3UJ36HWYODK3SBIVQAWN3ZXCB/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2024:Y3UJ36HWYODK3SBIVQAWN3ZXCB","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"10304c10072863fbd852c8c755150cdf3e5f2321c96b18b2f4e2df8a7fcfe0d2","cross_cats_sorted":["cs.AI"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LG","submitted_at":"2024-09-17T16:18:05Z","title_canon_sha256":"19f51ed35d18fedb5acd0bd7125373799c5f6753272115eb11a91ac74cc69dcb"},"schema_version":"1.0","source":{"id":"2409.11321","kind":"arxiv","version":2}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2409.11321","created_at":"2026-05-17T23:39:05Z"},{"alias_kind":"arxiv_version","alias_value":"2409.11321v2","created_at":"2026-05-17T23:39:05Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2409.11321","created_at":"2026-05-17T23:39:05Z"},{"alias_kind":"pith_short_12","alias_value":"Y3UJ36HWYODK","created_at":"2026-05-18T12:33:37Z"},{"alias_kind":"pith_short_16","alias_value":"Y3UJ36HWYODK3SBI","created_at":"2026-05-18T12:33:37Z"},{"alias_kind":"pith_short_8","alias_value":"Y3UJ36HW","created_at":"2026-05-18T12:33:37Z"}],"graph_snapshots":[{"event_id":"sha256:c86dfef4364b037a4d5e30f5e2d9b0b1d65f6800df4fc06e94ac1aff35bb6c9c","target":"graph","created_at":"2026-05-17T23:39:05Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":4,"items":[{"attestation":"unclaimed","claim_id":"C1","kind":"strongest_claim","source":"verdict.strongest_claim","status":"machine_extracted","text":"In the large-batch regime, SOAP reduces the number of iterations by over 40% and wall-clock time by over 35% compared to AdamW, with approximately 20% improvements in both metrics compared to Shampoo."},{"attestation":"unclaimed","claim_id":"C2","kind":"weakest_assumption","source":"verdict.weakest_assumption","status":"machine_extracted","text":"The formal equivalence between 1/2-power Shampoo and Adafactor holds only inside the current eigenbasis; the paper assumes that keeping this basis fixed for many steps does not materially degrade the preconditioning quality, an assumption validated only empirically on the tested model sizes."},{"attestation":"unclaimed","claim_id":"C3","kind":"one_line_summary","source":"verdict.one_line_summary","status":"machine_extracted","text":"SOAP runs Adam in the eigenbasis of Shampoo's preconditioner, cutting iterations by over 40% versus AdamW on 360M-660M language models while adding only one hyperparameter."},{"attestation":"unclaimed","claim_id":"C4","kind":"headline","source":"verdict.pith_extraction.headline","status":"machine_extracted","text":"SOAP runs Adam inside Shampoo's eigenbasis to cut large-batch iterations by over 40 percent versus AdamW."}],"snapshot_sha256":"7d7a9bc9895da344f5dabe67ca44e7a5cf513c4857c89ccedd6927b0b2c7f010"},"formal_canon":{"evidence_count":2,"snapshot_sha256":"b65b98a1f4fad8fbcc58eca0322a67e71f70b45a287b8141cda68d664f0775e6"},"paper":{"abstract_excerpt":"There is growing evidence of the effectiveness of Shampoo, a higher-order preconditioning method, over Adam in deep learning optimization tasks. However, Shampoo's drawbacks include additional hyperparameters and computational overhead when compared to Adam, which only updates running averages of first- and second-moment quantities. This work establishes a formal connection between Shampoo (implemented with the 1/2 power) and Adafactor -- a memory-efficient approximation of Adam -- showing that Shampoo is equivalent to running Adafactor in the eigenbasis of Shampoo's preconditioner. This insig","authors_text":"David Brandfonbrener, Depen Morwani, Itai Shapira, Lucas Janson, Mujin Kwun, Nikhil Vyas, Rosie Zhao, Sham Kakade","cross_cats":["cs.AI"],"headline":"SOAP runs Adam inside Shampoo's eigenbasis to cut large-batch iterations by over 40 percent versus AdamW.","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LG","submitted_at":"2024-09-17T16:18:05Z","title":"SOAP: Improving and Stabilizing Shampoo using Adam"},"references":{"count":14,"internal_anchors":1,"resolved_work":14,"sample":[{"cited_arxiv_id":"2203.14987","doi":"10.48550/arxiv","is_internal_anchor":true,"ref_index":1,"title":"URLhttps://doi.org/10.48550/arXiv","work_id":"5c2060c6-427c-4321-be22-49ccae439d80","year":2024},{"cited_arxiv_id":"","doi":"","is_internal_anchor":false,"ref_index":3,"title":"(360m) We sweep over the cross product of best 3 learning rates and β1 ∈ {0.9, 0.95, 0.99}","work_id":"68d7246c-b0af-4656-b251-14957d19df9e","year":null},{"cited_arxiv_id":"","doi":"","is_internal_anchor":false,"ref_index":4,"title":"The last two of the sweeps did not yield any benefit for the 360m model with 2m batch size hence we only sweep over learning rate for the 660m model with 2m batch size","work_id":"e734c182-2261-46fd-a26b-32c9a19751da","year":null},{"cited_arxiv_id":"","doi":"","is_internal_anchor":false,"ref_index":6,"title":"(360m) We sweep over over the cross product of best 3 learning rates from above and ϵshampoo ∈ {1e−11, 1e−12, 1e−13}","work_id":"ca85d03f-af81-4afc-b4fa-6582fdb25921","year":null},{"cited_arxiv_id":"","doi":"","is_internal_anchor":false,"ref_index":7,"title":"(360m) We sweep over over the cross product of best 3 learning rates from above and βshampoo ∈ {.9, .95, .975}","work_id":"2ad7d81d-628f-4da6-bd3c-1e5c969cda02","year":null}],"snapshot_sha256":"7cc19d8b763e00a24303a3efad67be0f5733dc5dda17bbbe87dcd7889fb46675"},"source":{"id":"2409.11321","kind":"arxiv","version":2},"verdict":{"created_at":"2026-05-15T00:57:19.167991Z","id":"f224842c-9d09-490d-8b0d-a53c6aaafe7f","model_set":{"reader":"grok-4.3"},"one_line_summary":"SOAP runs Adam in the eigenbasis of Shampoo's preconditioner, cutting iterations by over 40% versus AdamW on 360M-660M language models while adding only one hyperparameter.","pipeline_version":"pith-pipeline@v0.9.0","pith_extraction_headline":"SOAP runs Adam inside Shampoo's eigenbasis to cut large-batch iterations by over 40 percent versus AdamW.","strongest_claim":"In the large-batch regime, SOAP reduces the number of iterations by over 40% and wall-clock time by over 35% compared to AdamW, with approximately 20% improvements in both metrics compared to Shampoo.","weakest_assumption":"The formal equivalence between 1/2-power Shampoo and Adafactor holds only inside the current eigenbasis; the paper assumes that keeping this basis fixed for many steps does not materially degrade the preconditioning quality, an assumption validated only empirically on the tested model sizes."}},"verdict_id":"f224842c-9d09-490d-8b0d-a53c6aaafe7f"}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:63c6c73d2a0dae7e9042bf7538aeb23d5782ca5a707fdb43ecf4a4acf0fec56e","target":"record","created_at":"2026-05-17T23:39:05Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"10304c10072863fbd852c8c755150cdf3e5f2321c96b18b2f4e2df8a7fcfe0d2","cross_cats_sorted":["cs.AI"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LG","submitted_at":"2024-09-17T16:18:05Z","title_canon_sha256":"19f51ed35d18fedb5acd0bd7125373799c5f6753272115eb11a91ac74cc69dcb"},"schema_version":"1.0","source":{"id":"2409.11321","kind":"arxiv","version":2}},"canonical_sha256":"c6e89df8f6c386adc828ac0166ef37105c60b407da96a0de22491f79bd188883","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"c6e89df8f6c386adc828ac0166ef37105c60b407da96a0de22491f79bd188883","first_computed_at":"2026-05-17T23:39:05.179384Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-17T23:39:05.179384Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"TVJsH119zG9OxY5UTICbOwaG4AWAtQDBkwLNML3JFtoNCgMl3ksjrxNl2Ego6zYZqKkoRSUb66iDAejdOYUbDw==","signature_status":"signed_v1","signed_at":"2026-05-17T23:39:05.180023Z","signed_message":"canonical_sha256_bytes"},"source_id":"2409.11321","source_kind":"arxiv","source_version":2}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:63c6c73d2a0dae7e9042bf7538aeb23d5782ca5a707fdb43ecf4a4acf0fec56e","sha256:c86dfef4364b037a4d5e30f5e2d9b0b1d65f6800df4fc06e94ac1aff35bb6c9c"],"state_sha256":"6de9d498b9dd994c0e4d5ee2f54a2131a96aa615df5a9f6e2409a01d98d452ce"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"2AqtCu9KNE8Ce9nUwp5RIc0hqaMz8kZrsGvrc5viH8TmcYEcL2biuAvrsjhtCRQBfjJs46I5pv5mRgx9gG8mAw==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-08T20:33:41.983723Z","bundle_sha256":"b0a1e78f8d7b122170ed26bec22f16650f7a5393ceae7cb462637f8c2eaf7956"}}