feat: ML-DSA-65, did:key, named hash algorithm, model provenance, log tiles and witnesses

- hashing.algorithm names the hash function in every document; a consumer refuses one it does not implement (doc.hash.algorithm)
- ML-DSA-65 (FIPS 204) is an implemented signature scheme: pure-Python reference in tools/oracle/mldsa.py checked against NIST ACVP vectors, a receipt signed by the new roster key dana, and signature vectors for key generation and a deterministic signature
- roster keys may carry a did:key, which the validator checks against the public key (doc.roster.did), and a witness purpose for parties that cosign log checkpoints
- model provenance: a correction's author and an annotation's generator name the model with provider, version and the hashes of its weights, prompt and parameters, and where it ran
- the transparency log gains the tlog-tiles static layout (fixtures/records/log/), a project settings.log with origin, witnesses and threshold, and an acceptance rule; the fixture checkpoint is cosigned by a witness
- store.sql: roster_keys accepts cose and ml-dsa-65 and gains a did column
- spec chapters 01, 08, 11, 18, 20 and 23, the rationale, glossary, fixture, vector and tool guides updated; stress harness covers ML-DSA

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
alexmandClaude committed 2026-10-15 04:39:12 -04:00
1 parent 977579285b
commit 3831b52a2b
127 files changed
+996 -141

No files matched your search

+1 -1
View File
@@ -1 +1 @@
{"context":{"column_path_mac":["8de5d9cfdf71c50b161f357ab526bc7ffadd407c49c642a10112bb41cc4e1bc1","31824d3d0594c075074ff3a88e4c571e1f856218179a809f4f69bd5891ee7ff8"],"row_path_mac":["1db463578fc748d9686a5a1355c2a08086f4f331b546ec3273dd5e49ff1d178d","74bdccbc71693a4f8046f2e92bc477ff04fc5e04a8998e3ee189ba6b72b971e0"],"table_label_mac":"6943d614b69c7b2458c337ead13591262e932934151c27862ec0d47e4d560641"},"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","keyed":{"context":"layer:smithlab/kp4m2x7q","pages":["9dd865c7a19b44dc97a5d236859ed79174b25b72a5781d8df4f091d096de8908","1feb6882031349ca5eee822557bab0b6b0436a2d132ae8ca03babac2ff1948b8"],"scheme":"hkdf-pages"},"kind":"cell","node":"c20cna6","node_hash":"3efa98f63b493f7ba3ed01153859d3e0069fc39e1c51078b1239dedf0a4fc601","own_hash":"7bad196fc9634da03db3e418dfad50aa6b193acf9047e31db8908d9466c5ba40","quote":{"length":5,"mac":"0d8d4fcd55f1a4cfd7f254d597b7a5777b8865eb371283c03527ac8195ebb5ac"},"rev":12,"store":"smithlab"}
{"context":{"column_path_mac":["8de5d9cfdf71c50b161f357ab526bc7ffadd407c49c642a10112bb41cc4e1bc1","31824d3d0594c075074ff3a88e4c571e1f856218179a809f4f69bd5891ee7ff8"],"row_path_mac":["1db463578fc748d9686a5a1355c2a08086f4f331b546ec3273dd5e49ff1d178d","74bdccbc71693a4f8046f2e92bc477ff04fc5e04a8998e3ee189ba6b72b971e0"],"table_label_mac":"6943d614b69c7b2458c337ead13591262e932934151c27862ec0d47e4d560641"},"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","keyed":{"algorithm":"sha-256","context":"layer:smithlab/kp4m2x7q","pages":["9dd865c7a19b44dc97a5d236859ed79174b25b72a5781d8df4f091d096de8908","1feb6882031349ca5eee822557bab0b6b0436a2d132ae8ca03babac2ff1948b8"],"scheme":"hkdf-pages"},"kind":"cell","node":"c20cna6","node_hash":"3efa98f63b493f7ba3ed01153859d3e0069fc39e1c51078b1239dedf0a4fc601","own_hash":"7bad196fc9634da03db3e418dfad50aa6b193acf9047e31db8908d9466c5ba40","quote":{"length":5,"mac":"0d8d4fcd55f1a4cfd7f254d597b7a5777b8865eb371283c03527ac8195ebb5ac"},"rev":12,"store":"smithlab"}
+1 -1
View File
@@ -1 +1 @@
{"format":"scienting-checkpoint/1","note":"scient.ing/log/smithlab\n9\nSsjq+QpCQnva7PfGTdEv1jcArj1AORP4mYfN+rLz268=\n\n— ana dBv7wspe8vvwH61eTw3SQfa3udWjBNSV0xVCxfoLhiuei/SytzSotCBOK8CvPK3scJ8xHEAnUROdAmyXAh65xchq2g0=\n","origin":"scient.ing/log/smithlab","root":"4ac8eaf90a42427bdaecf7c64dd12fd63700ae3d403913f89987cdfab2f3dbaf","signatures":[{"key_hash":"741bfbc2","name":"ana","value":"yl7y+/AfrV5PDdJB9re51aME1JXTFULF+guGK56L9LK3NKi0IE4rwK88rexwnzEcQCdRE50CbJcCHrnFyGraDQ=="}],"size":9}
{"format":"scienting-checkpoint/1","note":"scient.ing/log/smithlab\n9\nGa0n103p3Gl136z6XWmM92kGvsvMYGXlk+ijjX4KWiA=\n\n— ana dBv7wtCAdNnczkCO5KwtrmDvtWUVPRusBSuLPeBDQoLZi9Hm34IHuNjvnjyPEar5afNf7xqcDtokk2XZEP31uJMVuwE=\n— wit h7ghDsJGkhWLaPO7+TIZQUenslhiQh/E/TKWU4ddphpFcuylQBZM2kG/o8H1nyPfUT0MkbvnFqPFfHPH3OaN5W1EwAI=\n","origin":"scient.ing/log/smithlab","root":"19ad27d74de9dc6975dfacfa5d698cf76906becbcc6065e593e8a38d7e0a5a20","signatures":[{"key_hash":"741bfbc2","name":"ana","value":"0IB02dzOQI7krC2uYO+1ZRU9G6wFK4s94ENCgtmL0ebfgge42O+ePI8Rqvlp81/vGpwO2iSTZdkQ/fW4kxW7AQ=="},{"key_hash":"87b8210e","name":"wit","value":"wkaSFYto87v5MhlBR6eyWGJCH8T9MpZTh12mGkVy7KVAFkzaQb+jwfWfI99RPQyRu+cWo8V8c8fc5o3lbUTAAg=="}],"size":9}
+1 -1
View File
@@ -3,7 +3,7 @@
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"kind":"comment","type":"TextualBody","value":"The step size matters more than the text admits."},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:key:ana","name":"Ana Example","type":"Person"},"id":"tag:scient.ing,2026:annotation:smithlab/m9e0g8r5ebnkf","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"commenting","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"sentence","node":"xjns57z","node_hash":"42b1de7852cdc68730984fff789fe248ecd5b43198c0e7d671931ff3fe561dc3","own_hash":"4dc28d1ad57c74d044f87264dfbc744ae9d5e9644638db976dbc346361442486","quote":{"exact":"steps of 0.01","prefix":"Each bond was scanned in ","suffix":" Å around its minimum, and the e"},"rev":12,"span":[25,38],"store":"smithlab"},"type":"AnchorSelector"},{"exact":"steps of 0.01","prefix":"Each bond was scanned in ","suffix":" Å around its minimum, and the e","type":"TextQuoteSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"for":"group","kind":"question","type":"TextualBody","value":"Why fit to a scan first and to frequencies second?"},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:key:ana","name":"Ana Example","type":"Person"},"id":"tag:scient.ing,2026:annotation:smithlab/x0emxkxem54hw","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"questioning","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"section","node":"d400rz3","node_hash":"e5a8eeb3c112f2dc3341da8f433540a3fc5a7e7f631e72c4dd36c6933aae808d","own_hash":"c3d50f266b05d7889c001aef16662cecd4e99ac4a2747ec331c1044e6adc8e3e","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"kind":"citation-context","reason":"value","reference":"vxsdvzq","type":"TextualBody","value":"Cited for the band position; the reference is not in the library.","verdict":"cannot-tell"},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:key:ana","name":"Ana Example","type":"Person"},"id":"tag:scient.ing,2026:annotation:smithlab/gbj7nn87ndfd8","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"assessing","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"sentence","node":"hca6dc5","node_hash":"8cfed5a34aab28517e89e8a164f0f96c14361de83ebc800439116e83ef479f34","own_hash":"c270571517825ceed31ca912b80ac76203effe47f1c84f8ee8962800d0afc92f","quote":{"exact":"1595","prefix":" case, with a bending band near ","suffix":" cm⁻¹.2"},"rev":12,"span":[71,75],"store":"smithlab"},"type":"AnchorSelector"},{"exact":"1595","prefix":" case, with a bending band near ","suffix":" cm⁻¹.2","type":"TextQuoteSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"generator":{"model":"example-model","run":"illustrative-run-1"},"kind":"generated","type":"TextualBody","value":"Two panels: an energy scan and its fit residual."},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:software:example-model","name":"A model (illustrative)","type":"Software"},"id":"tag:scient.ing,2026:annotation:smithlab/tq5gp6mftzmxy","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"describing","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"figure","node":"v7cx6qs","node_hash":"f76864779843485fa9e2f3cc3cd1c76ad222e1649c56f4cface33bf20b8f33b6","own_hash":"a1e46cb40201a17903dfd6f128db1e707b0e9f5bf45fcc32ec7ca772011edeae","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"generator":{"model":{"name":"example-model","parameters":"998b5161e39e01c8bc43ef81ec89141e15b7ea53b2e936707920a6097dbcb2c5","processor":"local","prompt":"9cc338fba7c62db7266f530cb555a5ee36910d41a0120a3fe7fd7de1944d0931","provider":"Example Models (illustrative)","version":"2026-09","weights":"504b2d340045b92c22682b60020c21103aae7ff41172bb632fbe305eb4af9b5e"},"run":"illustrative-run-1"},"kind":"generated","type":"TextualBody","value":"Two panels: an energy scan and its fit residual."},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:software:example-model","name":"A model (illustrative)","type":"Software"},"id":"tag:scient.ing,2026:annotation:smithlab/szb6k3fj9z7aw","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"describing","status":"proposed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"figure","node":"v7cx6qs","node_hash":"f76864779843485fa9e2f3cc3cd1c76ad222e1649c56f4cface33bf20b8f33b6","own_hash":"a1e46cb40201a17903dfd6f128db1e707b0e9f5bf45fcc32ec7ca772011edeae","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"exercise":{"exercise":"anchor","format":"scienting-exercise/1","key":{"elements":[{"anchors":[{"context":{"column_path":["Set A","$K_r$ (kcal mol⁻¹ Å⁻²)"],"row_path":["Bond parameters","CT–CT"],"table_label":"Table 1"},"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"cell","node":"c20cna6","node_hash":"c8e6a553f5ae1377776e86dde6ee7d48a923dea7de417408841ea33b81563272","own_hash":"45bf6ab427d435f28b82cb2b64d93c502968921507fc9397abd5d5170731c6ab","quote":{"exact":"310.0"},"rev":12,"store":"smithlab"}],"feedback":{"hit":"That is the cell.","miss":"Look in Table 1, row CT–CT."},"points":"1"}]},"prompt":"Find the table cell that gives the Set A bond constant for the CT–CT bond.","rule":{"match":"same-node"}},"kind":"exercise","type":"TextualBody","value":"Find the table cell that gives the Set A bond constant for the CT–CT bond."},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:key:ana","name":"Ana Example","type":"Person"},"id":"tag:scient.ing,2026:annotation:smithlab/whcypxav2cqbx","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"assessing","receipt":"r10e5mzvw6tja","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"table","node":"hj4s7pb","node_hash":"6c6fba200faf41cd06fa8b64e06e2aa29ff8848568b859ae42d1902596348643","own_hash":"66310a9ab1c92568f4c6cae012e35d4245d4ca4b89d2542b7c2113a31ad379ed","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"exercise":{"exercise":"check","format":"scienting-exercise/1","key":{"elements":[{"anchors":[{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"sentence","node":"kea5026","node_hash":"b836d5872ca37471fa996be04c538254a8b1e37ca12e8f1b4a40837b503afa33","own_hash":"d673d236c03d9583ecf6e01fa819765ec324dc684bd9bbc6967fa50f216e34d2","quote":{"exact":"the most common description","prefix":"Harmonic bond terms remain ","suffix":" of covalent stretching in class"},"rev":12,"span":[27,54],"store":"smithlab"}],"points":"1"}],"verdict":{"points":"1","value":"supports"}},"prompt":"Does the cited passage support the claim that harmonic terms are the most common choice?","rule":{"match":"overlap","min_overlap":"0.5"}},"kind":"exercise","type":"TextualBody","value":"Does the cited passage support the claim that harmonic terms are the most common choice?"},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:key:ana","name":"Ana Example","type":"Person"},"id":"tag:scient.ing,2026:annotation:smithlab/y7bd3he0jwjbx","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"assessing","receipt":"r10e5mzvw6tja","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"sentence","node":"kea5026","node_hash":"b836d5872ca37471fa996be04c538254a8b1e37ca12e8f1b4a40837b503afa33","own_hash":"d673d236c03d9583ecf6e01fa819765ec324dc684bd9bbc6967fa50f216e34d2","quote":{"exact":"Harmonic bond terms remain the most common description of covalent stretching in classical force fields.1"},"rev":12,"store":"smithlab"},"type":"AnchorSelector"},{"exact":"Harmonic bond terms remain the most common description of covalent stretching in classical force fields.1","prefix":"","suffix":"","type":"TextQuoteSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
{"@context":["http://www.w3.org/ns/anno.jsonld","https://paperspec.scient.ing/context/scienting-1.jsonld"],"body":{"kind":"description","language":"en","role":"alt","type":"TextualBody","value":"Energy along the C–C bond stretch (panel a) and the fit residual (panel b)."},"created":"2026-10-11T19:00:00Z","creator":{"id":"tag:scient.ing,2026:key:ana","name":"Ana Example","type":"Person"},"id":"tag:scient.ing,2026:annotation:smithlab/gb5tmv3hq08vz","layer":"tag:scient.ing,2026:layer:smithlab/kp4m2x7q","motivation":"describing","receipt":"r10e5mzvw6tja","status":"confirmed","target":{"selector":[{"anchor":{"doc":"hale2026harmonic-damb","format":"scienting-anchor/1","kind":"figure","node":"v7cx6qs","node_hash":"f76864779843485fa9e2f3cc3cd1c76ad222e1649c56f4cface33bf20b8f33b6","own_hash":"a1e46cb40201a17903dfd6f128db1e707b0e9f5bf45fcc32ec7ca772011edeae","rev":12,"store":"smithlab"},"type":"AnchorSelector"}],"source":"tag:scient.ing,2026:doc:smithlab/hale2026harmonic-damb","type":"SpecificResource"},"type":"Annotation"}
+1 -1
View File
@@ -1 +1 @@
{"claims":{"lode":"amber"},"datasets":["ds-hale-bond-params","ds-hale-ctct-scan"],"documents":[{"doc":"smithlab/hale2026harmonic-damb","reason":"The bond constants we start from.","status":{"Ben Example":"read","Cara Example":"reading"},"tags":["parameters"]},{"doc":"okafor2025solvent-acth","reason":"Solvent shifts for the validation set.","tags":["spectra"]}],"drafts":["smithlab/writer2027fixed-ynr7.v3"],"format":"scienting-project/1","key":"smithlab-charges","layers":["tag:scient.ing,2026:layer:smithlab/kp4m2x7q"],"members":[{"keys":["ana"],"person":"Ana Example","role":"owner"},{"keys":["ben","ben-spot"],"person":"Ben Example","role":"editor"},{"keys":["cara"],"person":"Cara Example","role":"reader"}],"name":"Charges and bonds","paths":[{"id":"onboarding","steps":[{"note":"Read the introduction.","ref":"smithlab/hale2026harmonic-damb","type":"document"},{"note":"Then the table.","ref":"smithlab/hale2026harmonic-damb#hj4s7pb","type":"node"},{"ref":"lode:amber/k-bond","type":"claim"}],"title":"First week"}],"settings":{"digit_rule":"anchored-sections","drift_threshold":"0.25","rights_unknown":"refuse","spot_check":{"minimum":10,"rate":"0.05"},"stages":"scienting-stages-default"},"store":"smithlab","views":["ctct-scan"]}
{"claims":{"lode":"amber"},"datasets":["ds-hale-bond-params","ds-hale-ctct-scan"],"documents":[{"doc":"smithlab/hale2026harmonic-damb","reason":"The bond constants we start from.","status":{"Ben Example":"read","Cara Example":"reading"},"tags":["parameters"]},{"doc":"okafor2025solvent-acth","reason":"Solvent shifts for the validation set.","tags":["spectra"]}],"drafts":["smithlab/writer2027fixed-ynr7.v3"],"format":"scienting-project/1","key":"smithlab-charges","layers":["tag:scient.ing,2026:layer:smithlab/kp4m2x7q"],"members":[{"keys":["ana"],"person":"Ana Example","role":"owner"},{"keys":["ben","ben-spot"],"person":"Ben Example","role":"editor"},{"keys":["cara"],"person":"Cara Example","role":"reader"}],"name":"Charges and bonds","paths":[{"id":"onboarding","steps":[{"note":"Read the introduction.","ref":"smithlab/hale2026harmonic-damb","type":"document"},{"note":"Then the table.","ref":"smithlab/hale2026harmonic-damb#hj4s7pb","type":"node"},{"ref":"lode:amber/k-bond","type":"claim"}],"title":"First week"}],"settings":{"digit_rule":"anchored-sections","drift_threshold":"0.25","log":{"origin":"scient.ing/log/smithlab","threshold":1,"witnesses":["wit"]},"rights_unknown":"refuse","spot_check":{"minimum":10,"rate":"0.05"},"stages":"scienting-stages-default"},"store":"smithlab","views":["ctct-scan"]}
+1
View File
@@ -0,0 +1 @@
{"at":"2026-10-13T09:00:00Z","by":"dana","doc":"hale2026harmonic-damb","evidence":[{"by":"dana","kind":"person"}],"format":"scienting-receipt/1","id":"vbttn1qvxkx4s","level":"F2","nodes":[["kea5026","b836d5872ca37471fa996be04c538254a8b1e37ca12e8f1b4a40837b503afa33"],["rr20tev","76e06b4811a688357ac4b912172283463cfaf1b7a1f0795d274fc733a2309ba7"]],"rev":12,"root":"1529e715397aae9f44f1f17fb95c5ef8fbef008d901c2624413b899e8552b174","scope":"targeted:ml-dsa","signature":{"key":"dana","scheme":"ml-dsa-65","value":"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"}}
+1 -1
View File
@@ -1 +1 @@
{"format":"scienting-roster/1","keys":[{"id":"ana","person":{"name":"Ana Example"},"public":"RUiz5j+y0QwgOtsQpqXrlq+gy3c/JFnkxwvlWUNX4Ao=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"id":"ben","person":{"name":"Ben Example"},"public":"L4WMLs7xLjBLRsxS/EYpD194puMBpADybcfFEWxBkWk=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"ben-spot","person":{"name":"Ben Example"},"public":"rkzxigjCXg869PGSFAVr4EDXXRmwk+S/+wJ93lrG4dc=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"id":"cara","person":{"name":"Cara Example"},"public":"I7J1GqG5CHOc0LHYZPNNto1Me2lJUzBVn2A7GrUGbZ4=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"}],"store":"smithlab"}
{"format":"scienting-roster/1","keys":[{"did":"did:key:z6Mkj7iUX8QG7zkAtNaV78CUXcenhD87qWwQbc7NU5aVXyW9","id":"ana","person":{"name":"Ana Example"},"public":"RUiz5j+y0QwgOtsQpqXrlq+gy3c/JFnkxwvlWUNX4Ao=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"owner","scheme":"ed25519"},{"did":"did:key:z6MkhemKN7rMQcgt6wT2eWPyx3vFRS1RUoRziLMnLq2vZ9yi","id":"ben","person":{"name":"Ben Example"},"public":"L4WMLs7xLjBLRsxS/EYpD194puMBpADybcfFEWxBkWk=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"did":"did:key:z6MkrBf2w3MUroaNBiHTQJzH4e1w31jpcosd5vNxjikijndU","id":"ben-spot","person":{"name":"Ben Example"},"public":"rkzxigjCXg869PGSFAVr4EDXXRmwk+S/+wJ93lrG4dc=","purposes":["spot-check"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"editor","scheme":"ed25519"},{"did":"did:key:z6Mkgrc9HCeEUL5tz1bVfuuDeSm6mP6hyWUX5ivhgReSbEQM","id":"cara","person":{"name":"Cara Example"},"public":"I7J1GqG5CHOc0LHYZPNNto1Me2lJUzBVn2A7GrUGbZ4=","purposes":["sign"],"registered_at":"2026-09-01T00:00:00Z","revoked_at":null,"role":"reader","scheme":"ed25519"},{"did":"did:key:z4xcFfnTC6XJy4gzg9whfyMzcnxV7yM2XafMFynKXhAEvMgjfQCxSnjZaa53arz2iNo8v35ZN5SdAUcbFkbuvftcMczRT2CPhYsXkNYZhDzXWQVS5KZZkhnMDmwChWfgRHu4Bs6KHyEmvzwesTioW5yS3YtfR7mUPJAwWSRq9f23HRxzenGpVVBcVjpd8YDZ4Y1ZamcUfesnB6pGLrPtLDvGM7Te1cJWoRG4m3TetEF3i9V3W4CH43nouCwUPbjy7dpTNEWiCqaTPiPhV8UEWBD8b9e1729PwoUFyAFreuq6wvhphLKGHhFCFujrUtqDZPs6FFF1Q7Lpt9eFcjbxrZSAYsh9VTfxaUeQ4HmFqzrg28EEjJzxxADZyjTXDsfwskRbibHSms9bbN2xK6GQcUxE2mrA2ULfYwsk5RQsVULUTj3pMMXpxRqP4zerzui2ZRZ3SqeNUwqnhmF861pEtcemZPY6ivcX41QK3ekCtpc1HndtY9xua1Lrhs4jd6qEbxHWzBPHok6qTpyxnn7ubZssBqSMz3uNrou1ayZGDn1ayAXtzCJPjAcxdNX1dpm5vyDB8GYtNKsQHuiX5xUd2EMAVfq4cFrZ6ncY1zrG5exH6mhJYbZfW7BgXxq7GsnzAAGkzgHCRADe5EEm1Hj1YdmVBTiaGsPGYkF4Mcrw3T2j3AcPJCzPLRNjKBKXyHAcf3VPUmreaHd1GoA5zqvtANSPmppY2AhCAj8u6n92fiyBgrvJTh4hyvtMFcwaa9vKnY9rBS4n5XGpdwKQe11Tk5sah8VZc2PyH2WPBU3DmhZSwUkKHRQQQQMXjrLjuMtygzxWBgrJAcWRPzxmzHZEj5x9GgFZb4dPDwqVXsgR25KrpuyQKcxfbxzQoRprnhu1ec8SfX5zeUo282Si9dBZ3JVdxzYHzP6xSiuBeHHFMvMwb1MKUq2dMi9vWdg2eCDo5wTvSaTVcdYGtZsT7HMswWtxx9GLw1RafYRcNqMhBhCbRdJszUKjQKwNNZbaryRs4kTYicuE24PWbqfxdJnrzrLbXnVBDMNHjX8ESXSKTMnAoE1AiLgjdj3zbBrY39Pxc72EikA7GvP2qxKZBkJ6G2RRWCw9d3nZKmTmQqP5PP9HgdtSTnZhNTJqBkwL3iqfoWxtbkLjLLSQc3dbFpmhe4kAh7VUUDcLzjb4nGzCbr5U1YoqAoLnSC9BPijnfMHxBP6i8cR762ryxPwe7HdGk62DVYoqxbwz8ygrDPjdPi3t11PpHp51GxuhMkoR3GFxAdMEv8j4tVpJ6qjefULEFTtRPzZ5kTE57RTxC4wg62qcYwupWx4dvvB2BR9ZGnNwCojpBYByeeYETrgm4HJjjS3SH64sbpyqz7336YMAcWyQFc9BeqjQHHUHS8CJ82N88apbPPE8N9X76DQ8PgwACtR4D5ofE9o14kpdVZFV2YMtmnKCybNLn3atspK6T1ZPYB3vQ1c4DbzZFgCpm6izEzxsY17in79ieo3cY965Cr5mkxca29VxcTaEtovdu9sKAL4VgCZzWkps5nnimX5JBEdVKYxTtMb6CcTkdWGFtXBTBuAMTpRNLXG5nG4bq9XXLkFS4oXpVS7KayqAMtrrqttpgwdAPNuzd6E4JskxdenwMq6qzMTDKoMqGDVEKkwCxCcbUtNpHGMLWMMk9MDrsPvcU8u2C89UmJmsfS5gQqswkz6TfXvthM3wPcuKaX7TUJJRzYstWsXRKUaPqqT3ppftCbXPFgia3mXkA5bk9Y3GWcTADGTnzKkTzbnL6hsgQW1FyvsFwUiWUJd5weeHkfaHt8iV3PKy99S6d831iLCfFWM6bYZgEBvyx5seHSpiaXRfSv4A2yDsf4Tb4EVsyDUJPUmZLnbFkJmw46A6PoQHdwfBbXWV47DFM6w5mKXCPmKzuAG1Vmw7D36n4oHd91r1VzTynVnhD1EA5UVh4qhiw2CnWgo2uAPxEpLYnvrCLiVprnzdPzvZZqMUxXRFWHwfshJDARRLvP933693aWxa5PeDNgMjZYgKJBV5e66Z1Mk5rYegEuSq7uyz8Mw3iuidtJeqBugbNCYeNdmeBPgKux8HcuFNqQaVwhP9vW8vyaU7DvuKEeXs1uyAgtk9RCua2Mx8rQqUwQigWNjXaJoSYqMT9SVEGUSYAGQiLnMFENqG1r87uhxV58hTwR8QED9cQkStFXeuZAMY6FWTZCsD5juC48KdqoUQYr77iBy7fW2quQNdPvwEUdhh1mzSTX2PPubCbm9rcdBxBQ2CBZizn1EsbPMic1X39t17scRE5F4Yank18EF4aUmJwwNHx5m1WKDQMZ1kJQRyhtRvAHTPqBdJCw5SHaEqBVpEQHUZwBKsQoTRj4Gk1opv6XfczoK3MLuprTMSx2maw5Gv6LhF2SWUvEXMMqoeqVzyP9g11dumkKQLMiAQa2VGaa7EF7Foj2ZDUhPM6PPiffHMhDMwWhRBywg3SC6aP9zz2TdMXweHv8rags9chFZ217aAP3bcCf5i1VZqPT9b8Ea7ykjjUy6PNwiSforRXN46suuRFREuhx6DuWDojythjH73wMAeKKx23rF4QfdUxzkC2mmmS4dq8Xx7Bda4e31EGab4t81Jk4dAVGjSrZC9wx89CAjovhoejgDTKNsN3ri4GjW9UD","id":"dana","person":{"name":"Dana Example"},"public":"lQ6M2DulKY4RkQLGTPGZD+CHlOOib4kBkwlccVNWRDPco1k5kHtelT/yUP4+CoAQnHnLu96vpeWztaee/9RmjR3bstGj+P5tOSrwFlPuyNUPOWPNjwCQLrVEyeUGBaA4+HRvFwK7C4OHB8EJWYtC0OuH+tRPlCdLpxlVcZZcM7dsZYe2BDNenbWfp4TeX2Oa+dThlceDY0m9MewwqUrd5xdo9tc8PS9R9o0ZUWf0vDw7Fc5AcsWwbf76lDLvIbyd0aCaHJ7eaK6DFsBuZFKVdlZlH0inJciAMF8dPoRuE+A0VlZTEOsOivNWprM5iLHzXse3zSoHLldWr0t4hWxHH3MBQ57Ucee8RTU6hFRfqfFRl6zJQyRZOFZZoYD9QwXkR3NmUzV/FcsOMHpbgTcY7O0TAajPnfpSTp+XdyPVBR7TlTsturUCpryP0ZX1S3VJk2IaneB123thtcOtWsbqdT3Bb846H7yudI95WVTixIS/KIwoCbekSf8Y9+iW/xRVSWLRVc1gpigDxXfieSA7bI+qiUBjiKR7QU1KFYZA58VcOQhzeMLY6an34rsW4WHAwzzSv8Q6vrwpn8Ct9fTsIeiZsWZLueNkIUfjR0G1bHHoT2RHKton0AMRjOUGSKUUB4DNZ5xzXvC0jvUMWlgHB9z2wBCsIkIDVWqSA2DD0xeIY2wSUVPwPc1MnBAf/Fx3poweUlcPWglR2VaO9ematC4hfLxxkGldGQt3C6ZLPsm96S7o6j88rwOqkDNIR1pNJOepgciJH/w4Xwtg9gJ52CpdlCeSllRQD74l95ysmZ2D/gLweNoUt61P0RYQQelio8VnPUNB1e2uK7zW9joG1k59CjJGQNvuZr6JkQ9+Hxo5xKEOy9KcpT6t48wTzbz3YMFDxTNl0/DzL8qdTU2UrSW6/TFgPLokbAQN00yhw0lg8cR/e1m+ujFyBeesL3luwE6HNcIyK5Y/+To04vR3OD7Uz8cnABxWyOeSBm2R2bu2fxeN0Hlv+qhoOYtbZ1DKx/aES4z51jATynEIdMIMSNhmVDoDiGODh9ocenzg/DUarjIzWltPFRyQj+tnFGTXp7C87Line truncated