From 3f21ae8d3735ccf6d1ac35656cc13db4bf23ccfb Mon Sep 17 00:00:00 2001 From: jm Date: Wed, 14 Oct 2026 20:53:51 +0000 Subject: [PATCH] test(relay): finalize managed-memory golden Co-authored-by: Codex Signed-off-by: jm Co-authored-by: Codex --- .../examples/generate_ifc_fixture.rs | 19 +++++++++++- crates/buzz-relay/src/ifc.rs | 30 +++++++++++++++++-- .../ifc-managed-memory-v2-fields.json | 2 +- .../ifc-managed-memory-v2-plaintext.json | 2 +- .../tests/fixtures/ifc-v1-golden.json | 15 +++++----- 5 files changed, 56 insertions(+), 12 deletions(-) diff --git a/crates/buzz-relay/examples/generate_ifc_fixture.rs b/crates/buzz-relay/examples/generate_ifc_fixture.rs index ac661e6bf1..3e602ca09f 100644 --- a/crates/buzz-relay/examples/generate_ifc_fixture.rs +++ b/crates/buzz-relay/examples/generate_ifc_fixture.rs @@ -111,6 +111,7 @@ fn main() -> anyhow::Result<()> { anyhow::ensure!(memory_fields["format"] == "buzz-ifc-managed-memory-golden-fields"); anyhow::ensure!(memory_fields["version"] == 1); anyhow::ensure!(memory_fields["envelope_version"] == 2); + anyhow::ensure!(memory_fields["provenance_version"] == 1); anyhow::ensure!(memory_fields["community"] == community); anyhow::ensure!(memory_fields["source_conversation"] == source); anyhow::ensure!(memory_fields["source_generation"] == "17"); @@ -165,6 +166,22 @@ fn main() -> anyhow::Result<()> { anyhow::ensure!( protected_memory["ifc"]["derivation_event_ids"] == json!([resource.id.to_hex()]) ); + let provenance: Value = serde_json::from_str(required_string( + &protected_memory["ifc"], + "provenance_json", + )?)?; + anyhow::ensure!(provenance["version"] == memory_fields["provenance_version"]); + anyhow::ensure!(provenance["sources"] + .as_array() + .is_some_and(|sources| sources.len() == 1)); + anyhow::ensure!(provenance["sources"][0]["community"] == community); + anyhow::ensure!(provenance["sources"][0]["conversation"] == source); + anyhow::ensure!(provenance["sources"][0]["effective_generation"] == "17"); + anyhow::ensure!(provenance["sources"][0]["origin_generation"] == "9"); + anyhow::ensure!( + provenance["sources"][0]["audience"] == json!({"public": false, "readers": [owner]}) + ); + anyhow::ensure!(provenance["parent_memory_event_ids"] == json!([resource.id.to_hex()])); let memory_payload = v2::encrypt_to_bytes_with_rng( &mut FixedNonce(0x44), &memory_key, @@ -234,7 +251,7 @@ fn main() -> anyhow::Result<()> { "plaintext_utf8": MANAGED_MEMORY_PLAINTEXT, "plaintext_sha256": plaintext_sha256, "application_fields": memory_fields, - "application_metadata_status": "actual interim Kotlin version-two export; immutable contributing-source provenance is not yet frozen" + "application_metadata_status": "actual Kotlin provenance-bearing version-two export" }, "owner_telemetry": { "event": owner_telemetry, diff --git a/crates/buzz-relay/src/ifc.rs b/crates/buzz-relay/src/ifc.rs index c72549c017..42d3f8a9f3 100644 --- a/crates/buzz-relay/src/ifc.rs +++ b/crates/buzz-relay/src/ifc.rs @@ -513,11 +513,11 @@ mod tests { include_str!("../tests/fixtures/ifc-managed-memory-v2-fields.json"); assert_eq!( hex::encode(Sha256::digest(managed_plaintext.as_bytes())), - "531b1a1093050826f6f7556c344d3d4b6bf1464c2281d8c9fdf5ae8c6e2148b7" + "a2c4ffcd22acac2ab98f8372dc0776ea9680af9251d6c960a299f3c41bf2fed0" ); assert_eq!( hex::encode(Sha256::digest(managed_fields_text.as_bytes())), - "7b1e786fe7407b910c1b53995613b61d59f6465a56feb342b39ce57e31004397" + "6c1a9e49740e7a6eee579a5e0dc8bba1a17c93d5371352ec790571ef65f54e01" ); let managed_fields: Value = serde_json::from_str(managed_fields_text).expect("managed-memory fields"); @@ -725,6 +725,32 @@ mod tests { protected_memory["ifc"]["derivation_event_ids"], serde_json::json!([resource.id.to_hex()]) ); + assert_eq!(managed_fields["provenance_version"], 1); + let provenance: Value = serde_json::from_str( + protected_memory["ifc"]["provenance_json"] + .as_str() + .expect("protected provenance JSON"), + ) + .expect("protected provenance"); + assert_eq!(provenance["version"], managed_fields["provenance_version"]); + assert_eq!( + provenance["sources"], + serde_json::json!([{ + "event_id": "8d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67225", + "community": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa", + "conversation": "11111111-1111-4111-8111-111111111111", + "audience": { + "public": false, + "readers": [human.public_key().to_hex()] + }, + "effective_generation": "17", + "origin_generation": "9" + }]) + ); + assert_eq!( + provenance["parent_memory_event_ids"], + serde_json::json!([resource.id.to_hex()]) + ); let owner_key = conversation_key(human.secret_key(), &broker.public_key()); assert!(v2::decrypt_to_bytes(&owner_key, &payload).is_err()); diff --git a/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-fields.json b/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-fields.json index 28be4786a0..cf727a37cf 100644 --- a/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-fields.json +++ b/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-fields.json @@ -1 +1 @@ -{"format":"buzz-ifc-managed-memory-golden-fields","version":1,"envelope_version":2,"community":"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa","source_conversation":"11111111-1111-4111-8111-111111111111","source_generation":"17","agent_pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","human_owner_pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","audience":["c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],"canonical_scope_utf8":"[\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",\"restricted\",[\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"]]","namespace":"2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640","s":"2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640","logical_slug":"mem/ifc-golden","physical_slug":"mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160","name":"506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160","identifier":"a8c8ea1f18fdf50079905e1e49c9f212c5f796f3822d8fd56cee610761305343","d":"a8c8ea1f18fdf50079905e1e49c9f212c5f796f3822d8fd56cee610761305343","kind":30174,"recipient_pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","p":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","expected_revision":"none","plaintext_sha256":"531b1a1093050826f6f7556c344d3d4b6bf1464c2281d8c9fdf5ae8c6e2148b7"} \ No newline at end of file +{"format":"buzz-ifc-managed-memory-golden-fields","version":1,"envelope_version":2,"provenance_version":1,"community":"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa","source_conversation":"11111111-1111-4111-8111-111111111111","source_generation":"17","agent_pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","human_owner_pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","audience":["c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5"],"canonical_scope_utf8":"[\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",\"restricted\",[\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"]]","namespace":"2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640","s":"2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640","logical_slug":"mem/ifc-golden","physical_slug":"mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160","name":"506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160","identifier":"a8c8ea1f18fdf50079905e1e49c9f212c5f796f3822d8fd56cee610761305343","d":"a8c8ea1f18fdf50079905e1e49c9f212c5f796f3822d8fd56cee610761305343","kind":30174,"recipient_pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","p":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","expected_revision":"none","plaintext_sha256":"a2c4ffcd22acac2ab98f8372dc0776ea9680af9251d6c960a299f3c41bf2fed0"} \ No newline at end of file diff --git a/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-plaintext.json b/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-plaintext.json index 5be365828f..13d4ef9cbc 100644 --- a/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-plaintext.json +++ b/crates/buzz-relay/tests/fixtures/ifc-managed-memory-v2-plaintext.json @@ -1 +1 @@ -{"slug":"mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160","value":"fixture protected memory","ifc":{"version":2,"logical_slug":"mem/ifc-golden","agent_pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","human_owner_pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","binding_json":"{\"version\":1,\"community\":\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\",\"agent\":\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"owner\":\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",\"audience\":{\"public\":false,\"readers\":[\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"]},\"context\":{\"type\":\"conversation\",\"conversation\":\"11111111-1111-4111-8111-111111111111\"},\"capability_ceiling\":[\"READ_CORE_MEMORY\",\"READ_NAMED_MEMORY\",\"WRITE_MEMORY\"],\"model_history_conversation\":\"11111111-1111-4111-8111-111111111111\",\"model_history_id\":\"ifc-v1-golden-memory-history\",\"source_generation\":\"17\",\"unknown_managed_input\":false}","derivation_event_ids":["9d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67226"],"release":null}} \ No newline at end of file +{"slug":"mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160","value":"fixture protected memory","ifc":{"version":2,"logical_slug":"mem/ifc-golden","agent_pubkey":"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","human_owner_pubkey":"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5","binding_json":"{\"version\":1,\"community\":\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\",\"agent\":\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"owner\":\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",\"audience\":{\"public\":false,\"readers\":[\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"]},\"context\":{\"type\":\"conversation\",\"conversation\":\"11111111-1111-4111-8111-111111111111\"},\"capability_ceiling\":[\"READ_CORE_MEMORY\",\"READ_NAMED_MEMORY\",\"WRITE_MEMORY\"],\"model_history_conversation\":\"11111111-1111-4111-8111-111111111111\",\"model_history_id\":\"ifc-v1-golden-memory-history\",\"source_generation\":\"17\",\"unknown_managed_input\":false}","derivation_event_ids":["9d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67226"],"provenance_json":"{\"version\":1,\"sources\":[{\"event_id\":\"8d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67225\",\"community\":\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\",\"conversation\":\"11111111-1111-4111-8111-111111111111\",\"audience\":{\"public\":false,\"readers\":[\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"]},\"effective_generation\":\"17\",\"origin_generation\":\"9\"}],\"parent_memory_event_ids\":[\"9d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67226\"]}","release":null}} \ No newline at end of file diff --git a/crates/buzz-relay/tests/fixtures/ifc-v1-golden.json b/crates/buzz-relay/tests/fixtures/ifc-v1-golden.json index b935e30df2..7f89db263f 100644 --- a/crates/buzz-relay/tests/fixtures/ifc-v1-golden.json +++ b/crates/buzz-relay/tests/fixtures/ifc-v1-golden.json @@ -50,22 +50,23 @@ "namespace": "2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640", "p": "f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9", "physical_slug": "mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160", - "plaintext_sha256": "531b1a1093050826f6f7556c344d3d4b6bf1464c2281d8c9fdf5ae8c6e2148b7", + "plaintext_sha256": "a2c4ffcd22acac2ab98f8372dc0776ea9680af9251d6c960a299f3c41bf2fed0", + "provenance_version": 1, "recipient_pubkey": "f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9", "s": "2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640", "source_conversation": "11111111-1111-4111-8111-111111111111", "source_generation": "17", "version": 1 }, - "application_metadata_status": "actual interim Kotlin version-two export; immutable contributing-source provenance is not yet frozen", + "application_metadata_status": "actual Kotlin provenance-bearing version-two export", "d_tag": "a8c8ea1f18fdf50079905e1e49c9f212c5f796f3822d8fd56cee610761305343", "event": { - "content": "AkRERERERERERERERERERERERERERERERERERERERERERs2DCXIKMB6Cl7kRHCVPgJ7h7NE0d5SV8tEQGQCrCUlbJLsTx7/hDWHtRYXOyZsEPuUoZ/aWdnzsgAWDPHeI0MLKAjCwZSV6cLTZSFFLKgiVICAN0mBG5U4/q1GhFUiDe4AxHYxHnsOMhQ9YdalXIadreMiBMaUsDgOYhFNXXROTZHaLvwwg2agHTxUdfN/R2o6CvJnZePbpQ/akWnOsr9PTaqDarkyDApOZMrTz6G7Fuc8k3IEyxhJ12p6pSByTNQDnvCBbmQELmIxkXKVEnDrIERCkUC2ZSi+up1uoxE2yLx9pVlEEddV9aIi6v6ceUVuB7Uo5VEEJQGoxsSkJsw7GrMfnv2Y5Lo5Qlj5lHp1nzx8JHYGAVt+EJcZ8JpgfEtQPviObmAVmsVegvsN9YN/pfdcu7gMMQcBMYqP6vJeffoJi6AAHEMVLQ79OCz6atMu0WPNeyHw9eRq4ZvPVvwPaBzLyA+9/RQuQ8VYnp9FUKklTGNtf2JxIe9wO3s3kiA3tbeXMccGkE6woxaw10OmXpHfD0SWq86bvm4v5pWJROTIbvnOHzUbv45FumezB6YqByJz1GTESAGrb1eqezzhedTP+nMkADBxZh+FG6HLDYui+q54qUs2h/kgnep294M54edCVfdBprngz+0dmF6dGmWyGQXZvX7tLZvWVR9JF+JQt8yE/gEL4WZa38z6TjJbByZwHa+cJx2/GVLFKYrjeZvGiGYKZ/ojelJLxNktxOAOTa6EupNsQYwsN/D/utiNOjZMs2NcCnhpk8yNrZ++MheLu8Tj3zwCTyASVXjIn6+IAFoSb2QqAzrmMqqTnWSPaYfGnixbkCW65Who61/cAmCc0jeE9g2VjYlRSj1UzcKlwmk+NTBtCptJ7kxi+JfgaHHnCY/X/KFHWMH4mOdLzcfIBPMUZ29RYgvx2zba4BoS6HaZNLU4wh0T64GXSHTuzPoC5UZsJkYbVqgvTmWMWFqFZYIv7FHF3zGtt4sX0/ziEr0kgvuGJLFrR2hqHxGwc1y/UHzz5YDD8S11Xj/o7U5fHNGdRF7vv0Tga4zd9n8BYQa3Zbds9HZocXVo3hjZejUFjZAvdlqdfTl+VpdnqXCdhHdk6lrFN1FEoeGcSl8K0tV6qIDwcxInPsNF0QutGlfbjJhLDWGXVVFlWxWpS0OOIoXiPGDlT7bNAcZS7Q9/Z+SlINJVfNQZD7QYKxy8Boc0nuq+Da4cyuwepLqxUwbW+lKbkJaONuHYIGkRxF5VjpmbNMx/oO95yTKB29h7GzJUc1Rvgxyp9FqtmhzGiWobzgrA2Y8Mto+WDZkJJVkSFbqfPfAD1fzdwrg74Q1ufSNSoF5M+ZkXWac9DVdKHvsPHfUDN0vnVZrE+sZAjkx4IcbGshXt4o6N3z/Qkxp+1USfakrJ+3APkJJL1iRt/QE2NC4U4bFGSPTfmNPgVlldtZYKHiJII5yGfDcufnbJ8547HsBnVx02d+3/5YQ6q4JyUX2Y6XYE0h6JHLqR3tUrgL84HCHXGaZZN6tpgqluojGnCLGechP6SREP4rZ60V5N6tXh5T5AGSnXVIuqP8XBl24hUqEZ4zTIDSQP+FaqaBMga7PedGcRXZG1qXIEKxSdxaCnEelcXHgr16rfDEHcY9eV7FvmYTiGwLAdJ0pqs0Hg8ZmX/Gtg5/lsRrr+h609HNUAlGpO4ub6pJMBIC0/8DNbNzlKFfQ1klTuXBPc/gR7UiVUhXGbaw517kR/y", + "content": "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", "created_at": 1791999920, - "id": "3523d9334ad2c1ba117d51f8a99c7ca388296836eb17e926bccca75b43ceb523", + "id": "8375d174450dda649f7cce55b0c04f5e6ed9bcbd2f8230475748fad9cea8021e", "kind": 30174, "pubkey": "f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9", - "sig": "d459c0ccedf48c8569f4f7d0d6b208ac310ac5842445d0d12678130ed93bb8184a8ccc2fc2bc4582b10776f53da990aaddd10f8e349e961fa024519a179b8228", + "sig": "fd5c593a176bceb21b7dadacb2e0cf7b4a8ae2c011af3188123513da33c4218a9b441239c87f475f3e3e152f256ae1f90e5c5a579970ab8a444b0ebc496c92f2", "tags": [ [ "d", @@ -107,8 +108,8 @@ "name": "506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160", "namespace": "2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640", "physical_slug": "mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160", - "plaintext_sha256": "531b1a1093050826f6f7556c344d3d4b6bf1464c2281d8c9fdf5ae8c6e2148b7", - "plaintext_utf8": "{\"slug\":\"mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160\",\"value\":\"fixture protected memory\",\"ifc\":{\"version\":2,\"logical_slug\":\"mem/ifc-golden\",\"agent_pubkey\":\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"human_owner_pubkey\":\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",\"binding_json\":\"{\\\"version\\\":1,\\\"community\\\":\\\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\\\",\\\"agent\\\":\\\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\\\",\\\"owner\\\":\\\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\\\",\\\"audience\\\":{\\\"public\\\":false,\\\"readers\\\":[\\\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\\\"]},\\\"context\\\":{\\\"type\\\":\\\"conversation\\\",\\\"conversation\\\":\\\"11111111-1111-4111-8111-111111111111\\\"},\\\"capability_ceiling\\\":[\\\"READ_CORE_MEMORY\\\",\\\"READ_NAMED_MEMORY\\\",\\\"WRITE_MEMORY\\\"],\\\"model_history_conversation\\\":\\\"11111111-1111-4111-8111-111111111111\\\",\\\"model_history_id\\\":\\\"ifc-v1-golden-memory-history\\\",\\\"source_generation\\\":\\\"17\\\",\\\"unknown_managed_input\\\":false}\",\"derivation_event_ids\":[\"9d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67226\"],\"release\":null}}", + "plaintext_sha256": "a2c4ffcd22acac2ab98f8372dc0776ea9680af9251d6c960a299f3c41bf2fed0", + "plaintext_utf8": "{\"slug\":\"mem/ifc1/2cffaa0a688adebf2b1176b1326f413861859cc81484c7743689b803492e5640/506f38db9a1584cadcb97b66bdea0ffaa589884d9c3e8fe1866dd264690f8160\",\"value\":\"fixture protected memory\",\"ifc\":{\"version\":2,\"logical_slug\":\"mem/ifc-golden\",\"agent_pubkey\":\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"human_owner_pubkey\":\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",\"binding_json\":\"{\\\"version\\\":1,\\\"community\\\":\\\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\\\",\\\"agent\\\":\\\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\\\",\\\"owner\\\":\\\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\\\",\\\"audience\\\":{\\\"public\\\":false,\\\"readers\\\":[\\\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\\\"]},\\\"context\\\":{\\\"type\\\":\\\"conversation\\\",\\\"conversation\\\":\\\"11111111-1111-4111-8111-111111111111\\\"},\\\"capability_ceiling\\\":[\\\"READ_CORE_MEMORY\\\",\\\"READ_NAMED_MEMORY\\\",\\\"WRITE_MEMORY\\\"],\\\"model_history_conversation\\\":\\\"11111111-1111-4111-8111-111111111111\\\",\\\"model_history_id\\\":\\\"ifc-v1-golden-memory-history\\\",\\\"source_generation\\\":\\\"17\\\",\\\"unknown_managed_input\\\":false}\",\"derivation_event_ids\":[\"9d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67226\"],\"provenance_json\":\"{\\\"version\\\":1,\\\"sources\\\":[{\\\"event_id\\\":\\\"8d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67225\\\",\\\"community\\\":\\\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\\\",\\\"conversation\\\":\\\"11111111-1111-4111-8111-111111111111\\\",\\\"audience\\\":{\\\"public\\\":false,\\\"readers\\\":[\\\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\\\"]},\\\"effective_generation\\\":\\\"17\\\",\\\"origin_generation\\\":\\\"9\\\"}],\\\"parent_memory_event_ids\\\":[\\\"9d66eb8ad4dbc6990b835f895dc7a0c4bb4bec7535848cd56f3c03ff59e67226\\\"]}\",\"release\":null}}", "recipient": "f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9", "saved_human_owner": "c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5", "scope_canonical_json_utf8": "[\"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa\",\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\",\"restricted\",[\"c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5\"]]"