You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DateKeys/testdata/vectors/mutations.json

4647 lines
963 KiB

{
"spec": "0.12",
"description": "Mutation corpus of spec §64 and further cases of capsule.TestMutationCorpus, generated by the reference implementation: each case is a .dkc and what the reader is given, with the normative error and the step of spec §63 at which capsule.Open fails. See testdata/README.md.",
"cases": [
{
"name": "PUBLIC_HEADER_A + SEALED_CONTROL_B",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001bea5006a646174656b657963617001010250ad4d676812b134ff8a3de263f77018b4037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a744376364f5244346b53426d46596537415141614761456a566e594d515675506e4e7463592b4d48535636746738585a77456e715136534851316b2b3378534c0a4561504d6e6f6974314c503037472b4e7a325a2f457a386c64576e556a6a464c376a4e352b7065694c5a3942335a594c70514469346b2b6c7150704c464e62630a76614f7a2f58634e354f5736534246535373674e512f4f49354d38346c4c75786b576946796146676355380a2d2d2d20377573674e443075364a485130726b576364357168675042434f7a52475763795833496767714b5a466b6f0ace479127b9eba1b173dee3f0766dd2faf51b795e75df95bf021a6e65d3a609f31b931c4df516406d680fe7b7250e61af1fd9993420d1702b6589808da69749b70730fb52d04f5a2f100f7affd0e8c124a1f4dd667e886e420d4b2b6ea6f274e6add3486b87da71be72d21622f9639d21e3a450a717e76eb1b6c1016167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392065705076694d31416d3871396e7779466b322b375658352f5a666a5931737353784a626c41484f4d7258450a666533724d7a764630707764397865303238455a2b666363346a3059594e4d30416e7269414d39496b7a510a2d2d2d207135674e2b68785344746f386a4771706675352f4a3455684c6b45636553614b75436a4169672b424c39630a40165418a8936e3f984ab908bc911a9d86ddb22b204c697acede40fa09b098f9d1dc97ccc38b5b"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_HEADER_BINDING",
"step": 15
},
{
"name": "SEALED_CONTROL_A + PAYLOAD_AGE_B",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001bea5006a646174656b657963617001010250ad4d676812b134ff8a3de263f77018b4037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a67492b4f36746b50507576754c6d3456314a4369713563794644554e463532634b662f49424f59532b50335557385053725068564c437337746d5a7634776c490a4564706c48647773384a5268715645484a686d65474f67583369712f445051684b574366584b564773396441437a654c69657352534c74796467582f6f416b380a62435948626e705136755561775854674a5342647748507232587a4e56733234454758492b3676375543770a2d2d2d204d696c6341336d6a3241486d6f2f54697257546e4930336354636c4d4f4c77382f534a6c6a686a7a5752450aacc6c2fbec0f13737228d95ea397df3a692a31594ca786e6c5666a76f652ad5f406f33660d664b94fc69a462763585489e3bc0b16f6f64995812014174cf818973841c6cc1ae4a449d14f58c7fa20aad0706451946bf4d093378491a71890c750bf31bbcd972d754d105ac97528422e621fb43815c3fd3280075776167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392065705076694d31416d3871396e7779466b322b375658352f5a666a5931737353784a626c41484f4d7258450a666533724d7a764630707764397865303238455a2b666363346a3059594e4d30416e7269414d39496b7a510a2d2d2d207135674e2b68785344746f386a4771706675352f4a3455684c6b45636553614b75436a4169672b424c39630a40165418a8936e3f984ab908bc911a9d86ddb22b204c697acede40fa09b098f9d1dc97ccc38b5b"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "DateKey A + release of round B",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": {
"round": 1001,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_ROUND_MISMATCH",
"step": 10
},
{
"name": "chain hash changed",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[173, 64, "61626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_PROFILE_MISMATCH",
"step": 8
},
{
"name": "version changed",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 3: the reader Open reads format 3 (spec 29.2 to 29.7, 63 steps 17 and 18): the PRELUDE accepts VERSION 3, and the files go to a Sink. - Sink: Begin with the validated head, Create for each file in the order of the head, and Commit only after every check of step 17; after any failure that follows a successful Begin, Abort, once. A format 3 capsule without a Sink fails right after step 2 with ErrSinkRequired, a caller error with no code, no failed step and no request; a capsule of format 1 or 2 without dst fails there too. - Step 17 in its substeps: the frame and the area, security and its verdicts, which never fail, the head, the files filling CONTENT, the SHA-256 of each file and the padding. A failure of age or a plaintext whose length is not P prevails; otherwise the first substep that fails decides, and a code other than ERR_INTEGRITY is reported only after reading PAYLOAD_AGE to its end. - The reads of BODY grow with the bytes received, never with AREA_LEN, HEAD_LEN or a declared size (spec 57); a test measures it. - A failure of the Sink is the caller's own error with ERR_INTEGRITY, as one of dst is in formats 1 and 2. - Opened gains Head, Verdicts, AreaLen and UnusableHeadExtensions. - Test data: "version changed" sets VERSION 4, and the format 2 list gains "format 2 time_only relabeled format 3", which fails at step 14, as section 64 of spec v0.10 lists: 126 cases, 89 of the spec. The randomly built capsules keep their recorded bytes. - testkit: Build writes format 3 and can edit the padded plaintext; Head3, Body3, DiscardSink and MemorySink build and open BODY. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[4, 1, "04"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 2
},
{
"name": "flags != 0",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[5, 1, "80"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_FLAGS",
"step": 2
},
{
"name": "reserved != 0",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[7, 1, "01"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_FLAGS",
"step": 2
},
{
"name": "payload truncated",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[78798, 1, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "payload age modified",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[78798, 1, "96"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "control modified",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[582, 1, "76"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "non-canonical dk1_ JSON",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 1, "7c"],
[51, 1, "56"],
[74, 61, "4169626d56306432397961794936496d5268644756725a586c7a4f6e463161574e72626d56304f6e597849697767496e4a766457356b496a6f784d4441"],
[135, 0, "776651"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_DATEKEY_NON_CANONICAL",
"step": 4
},
{
"name": "unknown profile",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 1, "76"],
[51, 1, "50"],
[100, 32, "5a585a74626d56304f6e597849697769636d3931626d51694f6a45774d444239"],
[132, 3, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_UNKNOWN_PROFILE",
"step": 4
},
{
"name": "release of another round",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "access_policy=time_only with time_and_key structure",
"spec": true,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": [
[136, 1, "00"]
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b6579010102503955e944a3c60cfa1fd6485e9693c77d0350448e134a13457c319cab7fceaf7ffa1f04667832353531390558203d5e4d51f21236ecff40d89c0adcf9aa325a24b91b46fd9d1afa482f54b2d2c606a10058202e97878078bae6358037a9c264f379a3cbe839f767d69836b0343f35657b2972",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "access_policy=time_and_key with time_only structure",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[136, 1, "01"]
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "extra stanza in OUTER_TIME_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b4331010000000000007900000220a5006a646174656b657963617001010250ac64a02dff47ec22aaf1a44b1a89605d037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a68767130433237775347434a74376745584342595a714a444270556b37436733396b756c4c73584468354a75337354776b734f4146642b537177697a6e45726e0a43547472664754784a4459352b70495679596c4e654b6e435a6e4c4e4f4859336e722b39592b5178424975512f46765671526652465765474648346b54357a710a544641636f4d4269773846614b6c567a3348645933306e757654356f706f464379474864442b4f76526d6f0a2d3e205832353531392063725a766d6b55492b6635457375777652325031484e592f6133744677354d33414732645763452b546b550a2f43664f39437941526c305274436f4255716147384c677231564741416362414a3868384c75566f7962550a2d2d2d20702f396733335a4b43646634546e44534779354633677a7364444167747751427137524754704e547655590a2ba09c52636965e1044d0e1efb695e8604db5416960329759a621c74e888dd0a6c9329c0b094cf3d05b8d41e720553631b140600a745756cc10d336971301eac7ed41a7b6b998fae0a02d8b0d8b1425d559598d7584a65cdb760dedf825e3396149e145eb5cf5252c9750f3d721bb43b92d5d3114fc36d217f78496167652d656e6372797074696f6e2e6f72672f76310a2d3e2058323535313920616a4f4538414932645177536e514e756f677a583731747875725a623845422b636a7253333151374d57770a4e547a3648364f755462343831624d64383041506f685a79356132757a65774c7637596e39664a666a48340a2d2d2d203247677a736e344773317661555845526c6f737859356348653163796c4a625436714149435261393645510af7db1532a00544a0b43d9b03a4f76aea5cf5c4d692bbcbb41d85dced37cf7301263ec638c34bf77b6e6a290c14804a8128"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 5
},
{
"name": "extra stanza in PAYLOAD_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001bea5006a646174656b6579636170010102503f985af7af37ad62b40ec5ccc3c6b8d1037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a72535a7556584d773838434e535569776746546568424b7342327a362b2f5576376b484c644f502b375375365356336b71616c4f4946375175652f45395356330a426e4541356c31626f45696a524934554d67695648414b62745833686c64744e36376a58507931596e4f3875396e346c445033674845415539423972566d70770a51324a73463543434571474f786f4d68564b6e514d52592b58524e56705a57492b31512b573432736449670a2d2d2d2053692f724e663674344d6833374d33383949546d78786c386e6a667367667341386942446a714e4d3764630a26ff94a0e249fea283ab9d4e8b74a704d66a07a97f85e321ca93b534e7dbf90ceac83c5301e8f8aff0717045f3bbfef4af645186de574d37be73bee41e183438dcc5e8288e5e4b4a1f639803d365e6338b27d340fb80620d372e446c8b379d4c263e8084be50d91c97c9bac5cd4bc7f19e9805fbf1f23d3da7fea26167652d656e6372797074696f6e2e6f72672f76310a2d3e2058323535313920734f7a3373443372772b324f4b614a5533454b505851416736315456336b52716571324f366279443454770a31536f796b4449495a65504a5870496c2f624774746252464e4a4256354966702b622f49564873593632490a2d3e2058323535313920502f35586c485551503548456a485a394d76574c4f314c6c4a766547457a6161583168595962336346306f0a69782b54616370572b784d4c473633366c615039772f4a3273727a437a4e526e496e4466584c71375156410a2d2d2d204f7749452b6270666f746b554a797756656e31686e36685936356d775156665553774e494c5544555279380a00c7e8ab57f200fce774b9424da02c5640392510592575ceb853ac547d00a3ad59a532831f988ade2c35df16cf3204394c"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 6
},
{
"name": "non-X25519 stanza in INNER_ACCESS_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000002d6a5006a646174656b657963617001010250c800935c81d094a93d56b9fad957b18b037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004016167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a7176367034705646773564633853442b396e71623638745964676e5a6b436c39646b5573305a6c2f45484e7036443863397a63526e586472536762385a2f54790a4376442b5269734d47647a526b335232543650794a4a65616c696679384d584c5839417342422f7948564a585a464172654749424259397048734936566477360a6478452f6f644d514e36776a7a5138482f67766d46556a6c7a362b6f566c7a6a6d4537344b7750596863380a2d2d2d205a354d5866734e41556e363653674f7a4e68544b6646776a5839576a6a6c5a586837394d633568756c68380a7ae6cdf03b64354b013c75b59d4b9612d89e29429713d10fb3da6823d330d25ef4db2e811ba54be8777e145a96b4c247bb7fe11432c929edb1627a7ecfaffec3b8af5d84a00c8705c39970600f3a4b7f2c31240a017eabb7e4c68ff8daa4f3fb04385c8e0c8e28bec90cf335090663101144c45cbf8698068e0c38203a2d7e6e3d2ca6c42d965c835db0469a920bb1a33ee455f80e712557dc912d033585004280c45f60b2cf5a7bfbe49426696d4683ca5edeb74cc46ed9bcc907668854974e8ecf9c5e3d93faa061cf81ac6201dfb2a72adc83516a2cbc5d960215627537facc271e25b10784854f5b78dd36ee71738d81ff5c8a8ddc4069ee092ecadbb66cc82f8bd0e4de2ab41fb837a6241583ff6545ffc53c08a558a8f8ef31e8231a0b3b72feceece26f0c5da15ed07b191375336c21fa8c5bc52586a21c85dfe52b8514b1872c8fd8f25b6682f7169471bb30cad79db5536d02c83ce6ec48b0ad8bffd4cab0d1888470c6a5f4c27d71b7e9d865cd5f51a58813f9f09e506ffc8309d3934cb7b820b788cf3d2bf36f08e0cf091326366167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139204165504267554974516f50362b765753446841676f56342f443371756b6e614c4638763648306c426b33490a31783261346d524452744c5959735362634d4b4d4e39734f64787261474c584a69386b79476233517a6b6b0a2d2d2d20425475756333484c656c617934674f4c2b7162483147374b41616e6b31774d6a7a61546b2f3733624b6e4d0a178bb05309a72a9729d9c1d18194140455a5257fb10f0b6d934759dc41be209bab219ea1ff246066ca19f7c8727c1a773c"]
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "tlock stanza round differs from DateKey.round",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001bea5006a646174656b65796361700101025008f94a0475441b20180762647ee71902037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303120353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a71524867577976397033525958546133574f7475324655422b6c42664c636a4239376e6e4774315441437970566a3459665767794867694a4c305861562f62630a4363617a67486a576e624f2b49626172725069626c47653353714951424d44586c76486b697345464a5a7255754f3553612b423071437a5a34503770464170510a645a6a5a347244626835747434487530377858377a4b595245614c655867596545426e38656752395273630a2d2d2d206646456c5275527a3242556f584869437376362f4c33756c7773724c6164586d323272462f7654424f30590ab73671cf5923dfca79ccae9b62bd2a6e773cd2646562934cd65123ecf129a98eb0cd0f6961cc0550bc3e2c5a04bf7c6de0a31bcfaec8b2a9dad8461dc27343af0381d45968c373c8e6a03cbe18a04d7455470a5ffd88c5d4290eb47baf022a523239155562c68b808351c1111386dfdbfcdd3ca412245797eee16a6167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139206a517479704546655849757564546f35677a5145713043796e79562f4f44425138684d69357939694b7a730a66333250657359584932716c6d4e522f455763306533656b7a55764e6a6d4e5846583165532f75767065630a2d2d2d20547746584a554f53524549757a5963556f62306f6550494e65466c552b3671614f436e596a6557783130300a584524bf4c682309dac3175618a4c671f10a6ffa4c3adfb2757ec80745539886340dc7ebd423754d0d4ba7439236edd3aa"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_ROUND_MISMATCH",
"step": 8
},
{
"name": "tlock stanza chain hash differs from the pinned profile",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001bea5006a646174656b6579636170010102505d6090f141146d36ba274b96b44eb941037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020646264353036643665663736653566333836663431633635316463623830386335626362643735343731636334656166613366346466376164346534633439330a6a776d34753269326c797a654b764d754268626954366f74642b5238635378614743442f6a3675534b662f6a2b2f52624c523872535a2b4567624955697544580a4369796c4264467865766c504b415a674c6b6e6547482f3930373248336d73443458326156345463464668474e50584a674e51474e782b75554d3544703775640a7032614c67752f387939636869474a78627148653533514f326c61496a33336f7770464543454349615a770a2d2d2d205464647a684338714142763251315a594c2b2b4d68766c453238424c5550393666654a446e6f4d72752b6f0abfc4d9ad388fb2d3699c69d385a97705e3e1a9dcea072e4d76a211e420ca3545c24cfdb5439cfc8e68e20db7034c7087b9f417cccbb6eed5d94482b75c3cf1d92d08b5eb0e36eb91fa8d02cff034c9c155cf47537395adb30821fa0784f0a434a114120b79ba0b42ff55766adfc9c0941aabee9775be3fd50655746167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139204f756c766c764a4c706f562b3569334768383434685351354b45754d647473396f4f5753575153433253630a33665747774447696866467a2f7671767a77364d667a685254426875614e7151674d3548526a72696b376b0a2d2d2d2073695154577639354b635237576e48414f38547858746b7a45556272387458426c71614d514371347747630a2a9da42ad38e7ea56b45632f351cbf9cd9252ca816517b458154b4ce7c774a6e3df70375e73b07e26d95f783b9a45e020d"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_PROFILE_MISMATCH",
"step": 8
},
{
"name": "extension data of a type other than bstr",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 6, "9f000001bea6"],
[137, 0, "0681a300716f72672e6578616d706c652e6c6162656c0101026c7075626c6963206c6162656c"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "empty extension data (h'')",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 6, "93000001bea6"],
[137, 0, "0681a300716f72672e6578616d706c652e6c6162656c01010240"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "65 extensions in one array",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[10, 7, "0590000001bea6"],
[137, 0, "069841a2006f6f72672e6578616d706c652e3030300101a2006f6f72672e6578616d706c652e3030310101a2006f6f72672e6578616d706c652e3030320101a2006f6f72672e6578616d706c652e3030330101a2006f6f72672e6578616d706c652e3030340101a2006f6f72672e6578616d706c652e3030350101a2006f6f72672e6578616d706c652e3030360101a2006f6f72672e6578616d706c652e3030370101a2006f6f72672e6578616d706c652e3030380101a2006f6f72672e6578616d706c652e3030390101a2006f6f72672e6578616d706c652e3031300101a2006f6f72672e6578616d706c652e3031310101a2006f6f72672e6578616d706c652e3031320101a2006f6f72672e6578616d706c652e3031330101a2006f6f72672e6578616d706c652e3031340101a2006f6f72672e6578616d706c652e3031350101a2006f6f72672e6578616d706c652e3031360101a2006f6f72672e6578616d706c652e3031370101a2006f6f72672e6578616d706c652e3031380101a2006f6f72672e6578616d706c652e3031390101a2006f6f72672e6578616d706c652e3032300101a2006f6f72672e6578616d706c652e3032310101a2006f6f72672e6578616d706c652e3032320101a2006f6f72672e6578616d706c652e3032330101a2006f6f72672e6578616d706c652e3032340101a2006f6f72672e6578616d706c652e3032350101a2006f6f72672e6578616d706c652e3032360101a2006f6f72672e6578616d706c652e3032370101a2006f6f72672e6578616d706c652e3032380101a2006f6f72672e6578616d706c652e3032390101a2006f6f72672e6578616d706c652e3033300101a2006f6f72672e6578616d706c652e3033310101a2006f6f72672e6578616d706c652e3033320101a2006f6f72672e6578616d706c652e3033330101a2006f6f72672e6578616d706c652e3033340101a2006f6f72672e6578616d706c652e3033350101a2006f6f72672e6578616d706c652e3033360101a2006f6f72672e6578616d706c652e3033370101a2006f6f72672e6578616d706c652e3033380101a2006f6f72672e6578616d706c652e3033390101a2006f6f72672e6578616d706c652e3034300101a2006f6f72672e6578616d706c652e3034310101a2006f6f72672e6578616d706c652e3034320101a2006f6f72672e6578616d706c652e3034330101a2006f6f72672e6578616d706c652e3034340101a2006f6f72672e6578616d706c652e3034350101a2006f6f72672e6578616d706c652e3034360101a2006f6f72672e6578616d706c652e3034370101a2006f6f72672e6578616d706c652e3034380101a2006f6f72672e6578616d706c652e3034390101a2006f6f72672e6578616d706c652e3035300101a2006f6f72672e6578616d706c652e3035310101a2006f6f72672e6578616d706c652e3035320101a2006f6f72672e6578616d706c652e3035330101a2006f6f72672e6578616d706c652e3035340101a2006f6f72672e6578616d706c652e3035350101a2006f6f72672e6578616d706c652e3035360101a2006f6f72672e6578616d706c652e3035370101a2006f6f72672e6578616d706c652e3035380101a2006f6f72672e6578616d706c652e3035390101a2006f6f72672e6578616d706c652e3036300101a2006f6f72672e6578616d706c652e3036310101a2006f6f72672e6578616d706c652e3036320101a2006f6f72672e6578616d706c652e3036330101a2006f6f72672e6578616d706c652e3036340101"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
{
"name": "tlock stanza U re-encoded with c0 + p",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[303, 64, "4b3974334342577331793673785069396157564b384579504b612b796b6762676b4a46782f5a763371667465747a654b4f7a3852534856786467582f6e37506e"],
[416, 43, "675a464c773845307137726b6e384b675355414e76345a316679413258534e446c584653584b617456716f"]
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "tlock stanza U is the point at infinity",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[238, 129, "774141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141410a41414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141"],
[416, 43, "472f6d426f3779325364374b6f4a567364384734547a357557346f6a77384e6467453772384b717a514534"]
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "tlock stanza U with the infinity flag and a payload",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[238, 1, "77"],
[416, 42, "336a65787a7a2f586e7359324459467751754c706d6b6f2b6d465373366b786c6c775273487a6e51346e"]
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "tlock stanza body of 127 bytes",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "bd"],
[409, 49, "410a2d2d2d206d6c44362b7a79424a6b524852363657776857654f5362584a5030394c6373734f57796c4962412f6c5649"],
[458, 1, ""]
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "tlock stanza body of 129 bytes",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "bf"],
[411, 48, "410a2d2d2d20325a524d54626a4b62363170795949635756664f79336d75474f584f777056366b4d4b5a4b553434484a"],
[459, 0, "30"]
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "release signature re-encoded with x + p",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001bea5006a646174656b657963617001010250250416bc1e6d8da84f5a69e47a9f66f2037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774e483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303420353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a6969572f64347332684b4964736e71757a69657763522f79354a7544634378506d516b61354c5636332b542f7a686436706d4f46774133736d325655373775720a4663677557416a424976526678676372323841596a685569626a566330744e6d327a4767314e6c766c412b5348463235423472304b532b2f504864674e5463680a627a694d4f417251636b7166702b506d4f585563756b61793659435a4e3069484a62647678564b545345770a2d2d2d20474132673036764f686e3944574e454955374879586e6d533648494c6534666e356a56663357446a4532450a4357b131f0c89f68f84123fcf5ca1a62c50949d3e49fca8563e4e6259fd2bac5a427924211f878883782708204890673b361669cb98f8314aa9cd136ab1373eb76734495dedb036c412c853cb6becf01570da327eac5306ddb8e254f166d838d3fd4b54f945d0f7266550de2332a41fea90a9bfaf91aa6752f36836167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392033615136485379414b59494874634e326b625479734455614f38724d4d48695648316d3032612f575445380a6b55616b7a4e714757376a51705374696c6b59785071314e6f4143514f5778794b4367506672316c4466380a2d2d2d2078633856624f6c6d51374b644b2b583468644a4869726168633834652b39354a73416633616b2b706959730ac4caca9a5d2043086011a178e248061d647837ecc36701c3e2143efff01e3045d1c3c5a95c07971c103a930d6925ee0d7e"]
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
]
},
"release": {
"round": 1004,
"signature": "be076aa25a40df5b4d22f9f7bcedaff30dcac20d94556107b8e652c7b54b2a440ce796f9fa53ad28023c84b40a580f55"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "release signature is the point at infinity",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "release signature with the infinity flag and a payload",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "d44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "release signature negated",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "negated release signature and U re-encoded with c0 + p",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[303, 64, "4b3974334342577331793673785069396157564b384579504b612b796b6762676b4a46782f5a763371667465747a654b4f7a3852534856786467582f6e37506e"],
[416, 43, "675a464c773845307137726b6e384b675355414e76345a316679413258534e446c584653584b617456716f"]
Spec v0.8.2 amendment: canonical point encoding; no library error text Amendment of the unreleased v0.8.2, recorded in §76 with its case: the second implementation's phase-2 research found that tlock-js over @noble/curves 1.9.7 accepts U re-encoded as c0 + p and a signature x + p and returns the same file key, while the reference rejects both (noble 1.9.7 differed from kilic on 5,615 of 41,686 encodings), and the spec did not say which encodings are valid. - §12.2 defines the canonical encoding of a BLS12-381 point (drand's compressed ZCash form) and requires decoders to reject every other byte string; §12.1 applies it to public_key. - §63 step 10 applies it to the release signature (ERR_RELEASE_INVALID) and step 11 defines the tlock stanza body U || V || W (96 + 16 + 16 bytes for Quicknet) with a canonical, non-infinity U (ERR_INTEGRITY). - §64 gains ten mutations, exported to mutations.json (65 cases). The signature x + p case uses published Quicknet round 1004, the first after 1000 whose x allows x + p < 2^381. The reference already gave every stated code and step. Errors no longer copy text from tlock, kyber, age, drand or kyber-bls12381. kyber's IBE error carried the candidate plaintext and r, and with one bit of W flipped the message disclosed the real tlock file key with that bit flipped. Every such place now uses a fixed reason with its normative sentinel; TestTlockFailureDiagnosticsCarryNoSecrets fails with the old wrapping. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 weeks ago
]
},
"release": {
"round": 1000,
"signature": "944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "magic",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[0, 1, "58"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_MAGIC",
"step": 1
},
{
"name": "a .dkk offered as a .dkc",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[2, 1, "4b"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_MAGIC",
"step": 1
},
{
"name": "empty file",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[0, 78799, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_MAGIC",
"step": 1
},
{
"name": "truncated prelude",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[10, 78789, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 1
},
{
"name": "PUBLIC_HEADER_LEN above the limit",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[9, 3, "100001"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 2
},
{
"name": "SEALED_CONTROL_LEN above the limit",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[12, 4, "04000001"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 2
},
{
"name": "truncated inside SEALED_CONTROL",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[147, 78652, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 5
},
{
"name": "header schema version changed",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[30, 1, "02"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 4
},
{
"name": "unknown key in PUBLIC_HEADER",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 6, "7b000001bea6"],
[136, 0, "0007"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "undefined access_policy",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[136, 1, "02"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "access_policy 256 with a consistent header_binding",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b4331010000000000007b000001bea5006a646174656b6579636170010102500c85abf16c0f2bcc709c0da0e1cc08fc037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830041901006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a7265383037565842584449747676526a43466f65753175323653464f4266304f734762677065756967617a6c626b5a737a4135446876744e75734c73524771320a444375532b6d2f58454b4352644b3350674551564c792b59754b6d636f376a4d4f5578747432466a76572b487437784e675146614e6679656a544c4d333452390a394e2b78655057576e6253534845464d4d4b6f4c4451654f436b77726b694d725764696c4e6463503469630a2d2d2d2056444737647277595354386638396f75346c6134335570353075376d77367a36465572472f7144556157630aa5e35b7b1bb3e53848d54e131a5178a366e127645a4120ea4edc031de27a4d943a4673bed7ae752c958cbbc064f83d36894ae0775c4f9e16b413ee042cd5d686d53713484aa9280cfa5169bf87dc1b9aae0a2f04c6a76e6903d51b311e6c03d5d9664176f1769e7885c56594ae4122b66b07620f8a31114e9663456167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139204e6c6b377277574f4f3466427469597774622b6f35526678716a514638727a384e665768544442363269340a79583178317465616e596949423155434a4a64532f71564d5074427274636563624a49576a6d447177544d0a2d2d2d2045512f727939453048786a416831795a47757564473353787a6f6e4f716d3276574e6f506b52684c6a6f340ae549c4592942f75d80f703118656a4a65cabc1cfdbae6a29ba48fe5173036fe17b73b7bb5e7f76b748ad5e3394e1278973"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "access_policy 257 with a consistent header_binding",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b4331010000000000007b000001bea5006a646174656b657963617001010250885d52a7545000fb6f8e93096285fe25037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d4830041901016167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a6f76473876746f4958476f4579564a576e466537693763356763486e70333866586f312b71412b586a2b4b5145496656304875524263656a75337434356b7a620a423459633242395650466f2b38674871616c706a38335969484638787076786b74426d4574332b6a447847617249477845416f695a45505238385a69363557430a2f6d7776464368346158724b462f41654d45636a423068417877526677457430576763325668356b4341510a2d2d2d2068587a4e71574467562b6d6c303350734c4b506a6b436745586f55323836664e584f7153616648576869630a174c6be5aa4c300c097fb94a8b53f90f7be231584dc75900a50e007d9bbec6ae7f42cc56f6cc31cdefd68fd91fcb5b2240294e66eb1595ff90796fcfa414414ffacf503dc39d4ca510b476df9d28e32a1f502a9da87497dd42ecc4de068b84c1dd327541c12f847399eed7badaa4e6ff1fb7dd24f163be5048026e6167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139203873623156314f744339396d74664e67424b753036543972614e6556656558764d386e473157587a3758450a5278656b5841596d316a7032644e482f3144546b79714e555176396a4e664d5670443278343454487952670a2d2d2d20713668736f776f7349325a4e514d586a573354614673336a43745a2f36745942594b79662f654e2f41674d0a1e885d09d61b5b6310c724c13e5081d8e8e3af2cb32548d63162dcf2c74b93c3df0134fd7598cf4caa717aecd6fc527a68"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "unknown critical PUBLIC_HEADER extension",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b4331010000000000009c000001bea6006a646174656b657963617001010250ac0da3c51aa9c0191dc83f6d7f965397037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000581a200781b6f72672e6578616d706c652e6d7573742d756e6465727374616e6401016167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a7046726d45523941354b587768656c716863305576583141426e444f76392b52785575485973545545712f45496a7176574f565a747a4e6a4978654a737150500a464858694f5a6a49464f4d6a35687036626a4b4c65744364475474356c717a77462b6c33786e372b327568434476433741432f34434755755634714d7a6b6f5a0a77753055494630794653684c6951656b394a3361334852697273626f6557693648634f34506343467371300a2d2d2d204154616e516770344e7a614a6535344a2b57725673472b364f767172516e765a41586d742b7564546655410aaa8009a0d36ca25a2239a80f08981817e6fed49f739f1c9196d00b9527ac59094b8b55cabdd66b11c59939b9f192c0313a2aec74e76ea2c2c644e8b88d13b2acc7eeb475f704a0a274dff497cd69833571dbb4b5294e55571ae9834305f3c816a44aea56b1db81f7285f680df2f5547b1b78cc458eee0b4f464ab16167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392057734a6b65365a58753159582f7a36442f414f477a67655a7830543934615976585376306551656a5344380a6c6d5873462b4f465a4957302b6c50774c39586134395364756c63666d2f44742f416b526c336a4673584d0a2d2d2d2057646d36364933474972596c323655594c4e57314b73737663412f33334a6b4f45464b4e566a79366b2b340a98c20fbb4cd9ef22576120e7e9fc1da8a2af8dc90bfe8a6c1e7573183b7bdaafa6cc329031f94b8da482a1fd29618e3f48"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_EXTENSION_CRITICAL_UNKNOWN",
"step": 4
},
{
"name": "unknown critical CONTROL_CBOR extension",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001e1a5006a646174656b6579636170010102506946e5bb3f531636f39c35aaa686a627037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a724154457a304c782b557835787252456870717751683859374734437761437a3765483553315766486f78746646636d3257316c456b78654677436d6571735a0a424d69496578764665303870504e727041367a52596c4b653164596a6248366a6b6a5353784e684c483065316a5337526a61317a2f6c6a64347250306a57312b0a7252664d42397576347a5856383073326645454561594f454f69515939667a4258666e4941545a493262510a2d2d2d20625865366f543648656f524730676b64384f7047363346394450336a534b72452b726b4a44546c556e644d0a7abc6e9823d4012f01694a534e96de47a81bde8c670e10cd63a394b5ec9aadcb223756e8d7007f2dd90a26c117c384511caf8878aa9cca1b116e4087311bc2b4373c92263cc72d4e9acd77b36ef063ffcd21de534579d1b19e3a4f14d88be8a3ea793f2cff2c66b363c6a00a53e39b0a28f558b7a7dd26c4f2256dd4dd1af0371c200f2a37ff1e47f10ce2116ca7b592bb4776533989e4959853e63f62986167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139204552457179397738667348464e456d7554776a64797538663356436e6d6d2f2b534e4f30353273563341300a4c572f625a484633487377304563794d794c725947416e4c51304d745055567a79652b44747676396e57550a2d2d2d2068716f5039444d5853623742752f37714e6f704f624b3071707546496257794b30674556516d76753079770a962abfd95efdd0ffc1d94da0f7742d1f0243fb5ceeafc271fd8f1491074deb48cbfb48ed4e0c3b2725012659214233e05e"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_EXTENSION_CRITICAL_UNKNOWN",
"step": 14
},
{
"name": "known critical PUBLIC_HEADER extension with invalid data",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b433101000000000000a0000001bea6006a646174656b6579636170010102509678dc7be79306cfdb99f5152e8dccec037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004000581a300781b6f72672e6578616d706c652e6d7573742d756e6465727374616e64010102426b6f6167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a696b7a4d70577a504b707875645234696e4847653370666f2b65332f592b73722b736543597879647450546152506177317a2b783137416a43642b49764c45680a41446e4d764974493834524a59516973496e6a74357062753246733171305470446b37666c5850686837744f3974585859502b4a7744773977625754644265560a505a754f714c6270725746417352696b413237586d7234354979537a376e57454254766d357772614c6a450a2d2d2d20583968566443684c42767344764b666f59765434394165586679454364317732346b4a334d546e50775a670a4b73526ea334b8e38695ca28c372651f018854024c7c766d5e4aae3870c8d5bc5293e29bdba2152709b7d7ff7dc6ae4354ea34d6310b95d8d698c1d6f7ace64b27e89b4d616577fe4a7d413bd82aaa9813301060faab93116a9271a325272d28bc629c508f2e7902b4c3d131a74493d51cc91323cac4dac6118ceb6167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392054586f755a6e55717975446b6343344178786870456349633348584961524c35707a64673257565959484d0a50396a2b377431545a6d5a6a58556b58353238664162647558656f507a63567835595265666b76715349630a2d2d2d206e6b4d7a68584c2f38495a59364242595546673434724354746a4f734853514f5034683274493545354c300a49060ad0729e8bbb82f2e3fd4971baf03a3b726f384a3ff0354dbc47a14e9055f27c35f5e7c6922cc03a18ce912e5a2b3e"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"extensions": [
{
"id": "org.example.must-understand",
"version": 1,
"valid_data": "6f6b"
}
],
"network": false,
"frozen": true,
"error": "ERR_EXTENSION_DATA_INVALID",
"step": 4
},
{
"name": "known critical CONTROL_CBOR extension with invalid data",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001e5a5006a646174656b657963617001010250150c4bed590fa8b69b37b24fe7449e74037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a70334d69537132514d6961786e7748714d634751642f48565241504a6d3949546b4e6477664d692b676768423944736d32576c364d51374c58325277665749590a435764752b36647a6763696d6475517243676c4d61725164654e6a486433513771624e6a4b73465a66414c583965447355544654704c656931734a7838596f6b0a64375832307557434b6f594d2f744f446c2f626542455255557864764d534b324945776c57434554317a770a2d2d2d203763532f66597a71484f322f426c616e6f4e437565594b665771584f573945316d7a2b5143577638654d6f0aeeb5fb7b4db2e6e42e6d3c200c696c6bdeb9504c65725280bf42774d5abe00fa34a86562a9888e0bd6d4942fdac56b4e66bac743dd201f6a73b13fe9def0d938eccd486b73dfb4c2caad35cdcdf0fd9936f4368a8e4ca4d22eda33bd9ed47d07ca8094eaa7c4fa95ef18b4794783b8b6e87b29beb7055fe05e9cebbe3c6cde8928e4b3cedbac127226aeeb9e5fadfe30c80a5cadfdda0e4ec1280349d5f1643fa1e76167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392069586436427564694c4f792b3855366b7446665a5079434f4335534951503863774e6231773436423142670a496d6b2f69716f67336d5a586a4643395435345030626f556a56612f75466e66376a625033584a4a416f510a2d2d2d204e724f526555422f497545796375446f536a6f796838384e6c5341546e356674546d6b5535304d62676e6b0a15ea15cd7225a5a36f61cec1ed1939f0ffb0c535e413a6eac9c178e9baa6ee28ab677603b4ff666a83f360c9caa2b1bc53"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"extensions": [
{
"id": "org.example.must-understand",
"version": 1,
"valid_data": "6f6b"
}
],
"network": true,
"frozen": true,
"error": "ERR_EXTENSION_DATA_INVALID",
"step": 14
},
{
"name": "known critical .dkk extension with invalid data",
"spec": false,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": []
},
"dkk": "444b4b3101000000000000b3a80073646174656b6579732d6163636573732d6b6579010102503955e944a3c60cfa1fd6485e9693c77d0350448e134a13457c319cab7fceaf7ffa1f04667832353531390558203d5e4d51f21236ecff40d89c0adcf9aa325a24b91b46fd9d1afa482f54b2d2c606a10058202e97878078bae6358037a9c264f379a3cbe839f767d69836b0343f35657b29720781a300781b6f72672e6578616d706c652e6d7573742d756e6465727374616e64010102426b6f",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"extensions": [
{
"id": "org.example.must-understand",
"version": 1,
"valid_data": "6f6b"
}
],
"network": false,
"frozen": false,
"error": "ERR_EXTENSION_DATA_INVALID",
"step": 9
},
{
"name": "extension_version above 2^32-1",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 6, "99000001bea6"],
[136, 0, "000681a200716f72672e6578616d706c652e6c6162656c011b00000001000000"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "null extension data",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 6, "93000001bea6"],
[137, 0, "0681a300716f72672e6578616d706c652e6c6162656c010102f6"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "time_and_key without credentials",
"spec": false,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_REQUIRED",
"step": 9
},
{
"name": ".dkk of another capsule",
"spec": false,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": []
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250b89292aedf6d05d584cec9a871ce87350350c75dfc8e9c576d1369910664df93693a046678323535313905582042d6d897097fd5af2772e058db17920afe1390e2856139bc2f800294564dd7ac06a100582069ac110380f5d768b5b6afaa157a50ed17d8ceccfbd4604ffa5b6da38539b635",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
},
{
"name": "capsule_digest of the .dkk does not match",
"spec": false,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": [
[1028, 1, "c1"]
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b6579010102503955e944a3c60cfa1fd6485e9693c77d0350448e134a13457c319cab7fceaf7ffa1f04667832353531390558203d5e4d51f21236ecff40d89c0adcf9aa325a24b91b46fd9d1afa482f54b2d2c606a10058202e97878078bae6358037a9c264f379a3cbe839f767d69836b0343f35657b2972",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
},
{
"name": "identity that is not a recipient",
"spec": false,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": []
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 13
},
{
"name": "round not reached yet",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:23.999999999Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_RELEASE_UNAVAILABLE",
"step": 9
},
{
"name": "release source unavailable",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": null,
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_UNAVAILABLE",
"step": 9
},
{
"name": "trailing data after PAYLOAD_AGE",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[78799, 0, "00"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "payload stanza body modified",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[692, 1, "41"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "tlock round edited by a third party",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": [
[171, 1, "31"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ROUND_MISMATCH",
"step": 8
},
{
"name": "empty registry",
"spec": false,
"dkc": {
"base": "time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "empty",
"network": false,
"frozen": false,
"error": "ERR_UNKNOWN_PROFILE",
"step": 4
},
{
"name": "time_only declared, time_and_key built by the creator",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b4331010000000000007900000286a5006a646174656b657963617001010250238e2912d6448dce358dec034cc73984037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a6f7a6b4942556462446f506f4e384449386b5a6b2b3152443053365a3275456752774f48327643764b66494470746331487530553370376f63466f72766352310a44545a37427847535541514f43333845744a734f577a4c676f6b307259316158692b7156714641426442686e784638646c646a4f303562562f67784c693163470a56303545306d7631354d3456396b506948436c69733773766e537a70647961692b7a3132492f68766e56450a2d2d2d20544d77356e5863794e4b6e5864307a66425541587041784d4c70464737415758382b3034374b537853746b0a53271f0f3c6804b29c8c0eaa94a2a8f07614ba1fefdf7ea874dc22c4d52460b845f85001c3c8f5552624376736787f68d618502b4734ca836d1c1edd57f505a9f69c46e59b56505091758a69f73cef35cf1a396274cbfeed30ba1f4603d4dc93a1fa8bd349705fb8a77f9d0ce78f27aa440b66cb31121c6f371f51a97362c68e33bb9054092eafb0785d1ccd8e1ae22f1cb019145a03e20c8cce849c6de0305fa8ccd32f0e93736fe1a53023b16f77250b8ed1e59fdcbce13bfca0d0254083660986fc703b86e1e7bde4522ad9a892662519114a53cdbc968c5fd01a5fe3b78d1ee6977b4b3362e9d6e8aae7ba63cab256a2ea18f0bfef75ebd350de869ab11e9a4ab3c897a1eefdd2b950778c0b7941015af5488e47e472aae0744c751b1823f7d6f923f2e27dffbd4c6e69542ad73a9b75c6d32a4170e4a0099bca1fdb65b2159e4d6167652d656e6372797074696f6e2e6f72672f76310a2d3e2058323535313920567a7161575a2b505844334658513071676b78687873635a536344396d2f765a51317867356d6d474f77770a5167335a7672435375757336676d554663356b7a366f776b506971457853496b70654c6b4471432f7947340a2d2d2d202f49442f4e304a7a4e48512f4e7043776d642f75354f68764242646d61544a4a5a352b315a6e66575541410ad35f0213c77497d92a8fb2e5f34b6e9fe1ab97e1508449ed20985a3fc775153b0fac0aaa2b4cb43e9eee51a42db0f5031f"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "time_and_key declared, time_only built by the creator",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000001bea5006a646174656b657963617001010250a44c9b18fda29aea727f5398ecf967ce037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004016167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a6c63594b7261596b51354e557a47317754473534504f723451564551544f33776f724e686c473958763548644a392f586e616a632b38763861475754727859430a47433451544e46326470686859426a786c584759342f626933462f44652f51387a6b326f6a505943614b4f64686b315162713536735a70462b553734425631690a6853376b3068665875307a56784a793730383362525a47514255646d51327770786d374f5175347150426b0a2d2d2d206b4f56306272485667747469364b37386957305463794635304e4c30734e5a674c43596c554458737833410afaff86b4cfe31e63c8a8b360650b864a7fcba198d55b30a3524c9370c874831599108ba46272731fec572558bee41ca296eccea63765fc76edb94faedf7ae2764864d8407f5533c89d66f50eb85976a984dce0183e12bf1fd44495dc6eab3d0a97dcee74ffefdc030bcead0c91e75bd356195a93f581aef95b7fab6167652d656e6372797074696f6e2e6f72672f76310a2d3e2058323535313920747151414b6973347757355a374a57314647446135685a78695642565854756e34696877425175496179630a316d4f4a30652b5439454f53333271587272766e3458614c745a4a34537870764c4f6136614431357379300a2d2d2d20314a6f555851314a43536a767730747851776d58566a6851715356743079546d57426a447564496b6c6b6f0abc50d7be64019eff475ba9913433030b11f821ae0258d42799a9c91e9ec959d7be1a2650e9375e4d8a58ef9cfced9b725b"]
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "two INNER_ACCESS_AGE stanzas for one recipient",
"spec": false,
"dkc": {
"edits": [
[0, 0, "444b43310100000000000079000002e8a5006a646174656b6579636170010102501d983beefec16c1a312696440735330c037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004016167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a69446a755a45755974753163303752634756664f65366a6230485378364c664b3933597778386f424e53665352635061332b4758683437716f32627a317355670a476572634a6875506856674b76795137386652465a714339643051534a4546494b6f4f543946596534383164696d76567468325a6d4f733969424469716532490a364f37444445625a36676b4546396f4150784736526578544246664f7748413248507136464d444a7673550a2d2d2d20324d7a364b314a487767506c2b474c74624866484544446735426e46366e424e546d4561616464562b59510a27cb3d15dbe289a224a6dd80ceb66efb4dc6fb517f7e53f585c5e4c93c900989c84ad7c41ceaf9e537af3ed0ce6882a671cd6a840055e9a6ca7df08aa1fa21b1abc2b96624c2cfd748da69b63101ae8e37cca2430725a66645e11ee9f791ea2e633513a1ad37903654e2682043c47f919b2625247a3855519e2cb01192b0b8018a6d7913ee415b54ed4431d2a8de56e8871dce625189d254de34a290091babd44d59271e9e4943fafb56b56758a09e79e27e311261f572be56a59ed24dce10622306a7d2257f8f7cc30d0e1830fd6e2e2313246a608288eab1feae61e1840defe7adf23f925a55689c3a5dbcbef720ed653ec07819af71819ba163dc4a0c71f3f20a54479575f1cdc39c60d5e4a1dc0e18703bff878e311881c1106c27fb40050efd36174ecdf932a23849355ca31a2bcdef7ac522c3bb96e57d7c99dfd38ccd13934d01022b3626f753104652aac296586f02860707873650962cd3f54526969537aef2dfcd03ed0c0c54376f3fd2af298b6b7b7c6289deee061c76517f36b739e5f279bce68d9debc1d977bfbeb604e447c9dd4c75e590fa5ac4e315f8ccd0f4cdd6a02d6167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392066524965746e724667663776656456524c47384d746e32444e74707655445a36334755396b5737764d77510a3341357939422b762f594653643250316e7570634467714f7471384b675a3571667869665a6e306244716b0a2d2d2d2054333453676e56766a4e554a4a4e6e3555644855457346394b45774f4c4d3846625a4379622b4d77337a300a2876bbc497d30aad89b7a398c450b2ec4379051454812064220876920857c12b6bb9879ecd56878524050dac76ec3d8bd6"]
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 13
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
},
{
"name": "format 2: PUBLIC_HEADER_A + SEALED_CONTROL_B",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310200000000000079000001caa5006a646174656b657963617001010250c8cfc53d45c879da916edddf71f3bddd037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a747169434d6e35774a344853417548703361596c314e54686a4d67526934593737454c474d3058546c6c306852724e715745745a796d717032564778373748590a46676557557158705235686d7574674c676a61613561665462796e624437324c2b6e754d2f613835797452387841572b5a333936734d54384c2b772b487339480a306b453875366152727279384b6f4353525a6f32634656397767687a2b41336b574c596e42496a614448670a2d2d2d204348783455737050492b38457949444d41626f43304a36304f31447364785356306b716731626d344a526b0a20d9ca389ded14e028fc98ad637c8a95fd0c3ebadbdf395c93b98d3a0a9914d9ab07bcd0b7a64a4f349d9d7d999d6d13b1d84ad4ad4024a1db6fec29c0e0eea1e9787f0a45cfd7ead1cb034e27ffc10b377486845de87d1a358b01ff690e1b48dc584d0b570fa38500e98cae61bb3fb0e38867a6bb6f4862f6caef9ec6be7d5ec50fd06ec90c6c6167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139206579636f762f6a55467a78377065625576534758746166306c7058466b71726f44416f49316e397535436f0a762f3244613867505973355a645a4368724459514f4a545543786373435435617759486c31792b38554c410a2d2d2d2064746c4f4f69556d304844384e4743517561484d663146413454327350425637636c795841686d4846626b0a6531c80ae76fa240364583de6b60c4705324a3fd1bd8c642dd14cebab8939e57b970526958d36b8a4516c0c9e0eed6c896d34809e368417446aafa99cb1ced91446985f9e862076395405c13da232e957096f066cad56feeae9b605e21131f39becfebedb8a54ab7395614ac45145d82e99ca395bb9b7b9841f12eeb4efd3a69666010a28f1722199a59196db2e7e2c9faef2eb3a4eb7aa9929862b87c257198fd1d34d9962fe900aa492613b71e5781298aa479289234157f042a7b6e7a1ed8e1aade69d89d16f9ee8dc2f4807b4f2712549f7b0b59f28a4da8a1dd6050c303f7d4817b878fde6a56b87bfece395984524937a38ce15fefe455891cae24c835bd8dc8ec2b5f03082901c23a0780135d5ef55a04b7c01067a4995ec5c6ab1695"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_HEADER_BINDING",
"step": 15
},
{
"name": "format 2: SEALED_CONTROL_A + PAYLOAD_AGE_B",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310200000000000079000001caa5006a646174656b657963617001010250c8cfc53d45c879da916edddf71f3bddd037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a7042756e7061565a6d64544968414131704954704632797252584c67616d597872353146647a4d2f3955516d7776306c506f624f616f44503933787757486a740a41506f442b62626b434a5532324e61664d3957367a6a6a704a364c71385773423645387233456c6d7746434b373057597958756e7638426f30632b4b627731340a6d364f332f777967703971495a43496f534775304c427a5737435a673945394d315648322f684a7173476f0a2d2d2d20687979676a2f692b777347494f316b394a7652656574416a56774d34332f4e736a67704e6333434f6361670a5eecba56ad5b1b89b5795934b152d3c7a02b958b75c5d115516b01bab5a296cd7c83b956144f17be87fe38c445d05bd3cfd637cf8922286c13a9d2112e1451adaaefc9b21a1c52ffc45ab9338a1325d6344c84f56498e861a153c826f192e332d331dcfcc67596f80bbb64e9502f9c6b6c48c20547580f4f33940820c195ae5a1947cae2559d516167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139206579636f762f6a55467a78377065625576534758746166306c7058466b71726f44416f49316e397535436f0a762f3244613867505973355a645a4368724459514f4a545543786373435435617759486c31792b38554c410a2d2d2d2064746c4f4f69556d304844384e4743517561484d663146413454327350425637636c795841686d4846626b0a6531c80ae76fa240364583de6b60c4705324a3fd1bd8c642dd14cebab8939e57b970526958d36b8a4516c0c9e0eed6c896d34809e368417446aafa99cb1ced91446985f9e862076395405c13da232e957096f066cad56feeae9b605e21131f39becfebedb8a54ab7395614ac45145d82e99ca395bb9b7b9841f12eeb4efd3a69666010a28f1722199a59196db2e7e2c9faef2eb3a4eb7aa9929862b87c257198fd1d34d9962fe900aa492613b71e5781298aa479289234157f042a7b6e7a1ed8e1aade69d89d16f9ee8dc2f4807b4f2712549f7b0b59f28a4da8a1dd6050c303f7d4817b878fde6a56b87bfece395984524937a38ce15fefe455891cae24c835bd8dc8ec2b5f03082901c23a0780135d5ef55a04b7c01067a4995ec5c6ab1695"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "format 2: DateKey A + release of round B",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": []
},
"release": {
"round": 1001,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_ROUND_MISMATCH",
"step": 10
},
{
"name": "format 2: chain hash changed",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[173, 64, "61626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_PROFILE_MISMATCH",
"step": 8
},
{
"name": "format 2: version changed",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 3: the reader Open reads format 3 (spec 29.2 to 29.7, 63 steps 17 and 18): the PRELUDE accepts VERSION 3, and the files go to a Sink. - Sink: Begin with the validated head, Create for each file in the order of the head, and Commit only after every check of step 17; after any failure that follows a successful Begin, Abort, once. A format 3 capsule without a Sink fails right after step 2 with ErrSinkRequired, a caller error with no code, no failed step and no request; a capsule of format 1 or 2 without dst fails there too. - Step 17 in its substeps: the frame and the area, security and its verdicts, which never fail, the head, the files filling CONTENT, the SHA-256 of each file and the padding. A failure of age or a plaintext whose length is not P prevails; otherwise the first substep that fails decides, and a code other than ERR_INTEGRITY is reported only after reading PAYLOAD_AGE to its end. - The reads of BODY grow with the bytes received, never with AREA_LEN, HEAD_LEN or a declared size (spec 57); a test measures it. - A failure of the Sink is the caller's own error with ERR_INTEGRITY, as one of dst is in formats 1 and 2. - Opened gains Head, Verdicts, AreaLen and UnusableHeadExtensions. - Test data: "version changed" sets VERSION 4, and the format 2 list gains "format 2 time_only relabeled format 3", which fails at step 14, as section 64 of spec v0.10 lists: 126 cases, 89 of the spec. The randomly built capsules keep their recorded bytes. - testkit: Build writes format 3 and can edit the padded plaintext; Head3, Body3, DiscardSink and MemorySink build and open BODY. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[4, 1, "04"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 2
},
{
"name": "format 2: flags != 0",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[5, 1, "80"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_FLAGS",
"step": 2
},
{
"name": "format 2: reserved != 0",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[7, 1, "01"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_FLAGS",
"step": 2
},
{
"name": "format 2: payload truncated",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[80682, 1, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "format 2: payload age modified",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[80682, 1, "e9"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "format 2: control modified",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[594, 1, "50"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 2: non-canonical dk1_ JSON",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 1, "7c"],
[51, 1, "56"],
[74, 61, "4169626d56306432397961794936496d5268644756725a586c7a4f6e463161574e72626d56304f6e597849697767496e4a766457356b496a6f784d4441"],
[135, 0, "776651"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_DATEKEY_NON_CANONICAL",
"step": 4
},
{
"name": "format 2: unknown profile",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 1, "76"],
[51, 1, "50"],
[100, 32, "5a585a74626d56304f6e597849697769636d3931626d51694f6a45774d444239"],
[132, 3, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_UNKNOWN_PROFILE",
"step": 4
},
{
"name": "format 2: release of another round",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 2: access_policy=time_only with time_and_key structure",
"spec": true,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
[136, 1, "00"]
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250e3c7be83cbf1fbd6b115c96411b3bd010350fe68d3b3bb59db0c14b7ef57d8d6cb5e04667832353531390558209c09aeda759a8664a98120435fe0f6bf850000ac5ef0f9853ff46144c365780106a1005820600892659fe4890223e895876275f656995d170fda42b07fb2bec0ca51ce4b43",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "format 2: access_policy=time_and_key with time_only structure",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[136, 1, "01"]
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "format 2: extra stanza in OUTER_TIME_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b433102000000000000790000022ca5006a646174656b6579636170010102509667d509fc51ccede898d232ce74d47f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a6f7730745778654453483335466a5645596669326357644148314d5571524a4e42662b4f674f55302f44356845453548546c4f6f79382b3357394b7a624f764a0a4564484e484b4e5958477537384e46614c744a5a6856616e6a324f374f427076743645346450525a62764d5732702f527535707662796c664d31464133534c540a4845562b7248656a677343436e5872634b4438534d626b62624750356153755479327669354b635961346f0a2d3e205832353531392051755a35655a7173507353436541774a6d2f5a366554534c4c356d617854524f512b7952695647446868490a686b2f4352324d6155742b6449483377524344644b4b4962615044355141503076704e4a584350327266550a2d2d2d204e354d6145445a676d4d4475346d546c6a5544454e74756a356977632f72544138394d477156426a484a380af5a609b3e1c6c07c495009ef8ab8be3b1a40624c44501693d249c61c44a90e75afbc4a61e8a178a642072ba9e159655b290668e9758ee39aa32dec8cb6ad9c69d30ae510acbce156cb41cdae9ded15f14c49c88bb0285ae754fcd5c28ff60e9b00829421a472f4afe094e32193d13fa778eaafe6f4c4e68292e0e7fb30a6b7125d82bbe133a5426167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392046506762587a524e4c6458545332544d2b44566b33322b326b734643746b69636457774958737a704f67450a717765706f71434569463532484b6e534b3776306379744e547956615879423654316b7270573372664e300a2d2d2d204b6a6a4678647847664e486b364669427a3245394b756c693530337030445833714d3536674e4b2b7762300a3363ec5bcf70c969c5a42574d0398610b451fd550e4bfe06d7c5991423f1de59208316847e91d902bb42e2dd6e40ca2af922ee0fe19b231b7ce2713a557ddc7ba7312e7525294eefda6368299ba57164a30c1bc9de72b1a86c675858b9f0b367dbd9e3b63640f5b2cae0405b751f30e24a664706f9d4e617e166dab34cc948605463ac930dac800b882f36aeb82dd26032031cae611d07299a0cca510f7282738e1ab504b9bc03e457e7b39ed14b6d1940ad2268b58d97d9de26eda8817cee478b6b25c682b30d9afbaa8fb31754275ba1137fc4cdfbc7ca8de64e6f807a192484f96bc46c1145eb6d642b5f820ab15689a43ab9be9e93044846520dccc4fc6d35bae408de5b2164c1e04d7394cd43e6540936e7548a42916995331b913d8f6d"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 5
},
{
"name": "format 2: extra stanza in PAYLOAD_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310200000000000079000001caa5006a646174656b6579636170010102504938a3c96f0d6e9a5e0d81dc533705c2037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a71383353427754574f644e414b56714664452f396b7a455145527731414f6d355544536d704478734f306546526f47762b4e325139514f766e714849346356480a4362504a4f5974696a39734f32565034307578615167755552796471422b4f656761635837763350792f6751386646555a64736c55304d6e447558344f5934680a784a50536f7577426155436c38524a6c68487851516144396752677874713234354b304c793731315831630a2d2d2d204b596857444f5639465145515777516c7a6f6f78557478487546476751375476372b39475067632f504b490afe9c3c063fb3524d534637f2d690a45654a0bb5e8ef32f21b48be6c7e07bc93afec5622bef34118cfbe8350c92b7f8d51b748e4c897337fd5634cf315896d79fe6436be333dbd0f0f0e575f8e30fb9891c23496c93fb6bfc9a476360eb14be58aa598968f18054502769a2178172653865596c4964300a22b667017996af7b263d2e85f42f2b4a6167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139204837302b3341595570564d37794b756c34424279662f793547306a322f675362534e4e5473747148327a770a4c5947344136624c362f5454365378726d58355a4f31636c35574e7154424d4f7235384833675241775a450a2d3e2058323535313920754e61645761433059427a447a49626454664b3950584a4d6c5536564766725a4741685379694e317277300a486368726f6b6968454567506d6d4e5443776273726e31526741492b6b7158397551455178356a382b77630a2d2d2d2073596d44496b356855706b315a392f366c4f6146596b686849304954644348757a504d3777524267304f380a99a11cc1dd687dd7284048468cb9d4e39aa1f66d8cc162907ffc7376497f87c12206cc2fa115c64016fc7698d3f619d9db3fe99a93bf67d8180f0e61bdc2f4baa584548a6285f2c00d2eff7fe1239e595c3da69c5acc7e2375ad5b9a1f27d05c666f9d74083ed8e21a8590ee14275bb3416033eaf49aa8b5e3d8bc8be7c913a946410b07abd4216d9c4235b7c85355f17b6858372155964d1be8c60159ee7c1dc6e943ef0a69e837e31f586b595eb081ce83cd8ff132d213a35082ca82e30c7a95b5816f6a1184ba1e2a35353288435b08dfea1637d764ad391613aa37aa9c30748aec83b48dd99d690ac3024b2469edd4e05712b7eb4fbd5bbe871b116f72148a55c87e266b51f948e5954e37b839f6e32c77aaad8f884c52ef8553a6067bb7"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 6
},
{
"name": "format 2: non-X25519 stanza in INNER_ACCESS_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b433102000000000000790000083ea5006a646174656b6579636170010102504100a310fc7101779e8af7d1c91669c6037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004016167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a694e6735636b342f4a47463851452b346d623755676f2b65703161596e2f5477726d42356c6a4b4d353741424f6f694f374e68615a46682b72755736413268520a4277724b6e354643654f3141742b7733765334796d4f5073453638454b325a53584b4d61716b362f3872314f68516b6b794153334d43746f58726a646a5567660a674579353975796343303245694e62676c67306e4e4e7a5773464c72634c784270653567684b344b6937590a2d2d2d204135544b4b2b6844363969792f5a6d47624b713279466a773779786e52517352786865304b7a78416f53410ad25fbea9b049ad9675bdd188f80e551bc8fd6f8a9b2fd0e905580050955e10b6eb13ce037cde954db4a808e8f2fb54b29c9cbe7aee8b10dcbdf6af61e9c6168dee89b97080f49f5a84daeb7f8b512ebe8aa293b9df035a4ccce08cda049572edf697ce8e791b8acb0063ab4bc93bd2c9cb2532ac9f1f07aeaec622e6e012e9ae6c31fc3223aeb1edf1ade45a47be51b76946014d14b8f8123f3aa670283a204fd79f385a049e7a03e947a619a85d6074013229c51674071f6b9f1fe74524dcbcdf9edf228d4b346fa582fabf81170b469c573e05046572735eb25aafabf6a74275d4ff3d0a5d27715280cdc472d8f346e7d8c4a777cf0e31f2c35ce4c05aba7501988668719e14eeaa6c07478e602fa77c6303238c13c24bc4a5e60148d3019ff45549650e17aed05a47de04f6a775b12e84f351c874925626e0349184ed6fdea1ab34e5317a809cffa0bc872dca0b0c40755157fe506d3e75890ff860eced4f72c93516a44d91be605728f9dd649a478deea8f83c092445d4fe70e6ec7b080b6f8f98b37f6a39815ec514976c255f25fd37dfa52fe2d8c82919b9377355ffa1eb49191f91548cd95e3443b1caef4f43380d184d8bce2344c8fc1cd805a6947a34c4dc358aa30b9803613e6b6db50042062b5b204a61fdd4bfdb0a46daaea72ba79d79dca0f1d1575fd57c6f3e585350d324fef1be94f78c924b014378451cd669c47fa8efa2e3ac85a9ec310fbf4b1a6066e22bb18edb8e82908d134097ed1234b473b41dcd02c3ef485160364150052bd52ef4498e71dc72c8f32a3c624bdea53adf19a6df1a52edd29632db62208f6a37b78aaccf6198a43c9dd476ac22115a15a96ca0e3aa51a649ce6f424d50bf0bf5412461e6df2e730e3914373ae9dc1ac9bb313f754c24cb54a0f70e2637eaac94e34f10b0d5e887288faa36ed4cf4b8e62e06cbeded83f3efb9e83a5b7275c382b40b3afc29effaed9a266beb8545fb520b862b3b23d35e287d3b627d11978e531afe24d906ad6b13fa8c7a001f3d4461abfd1bfed49bd19820964d16d86e95e50764ea4d17d2c2a725b27936ddf579acd1184a9ff461c5f0fe16a443c44a4e46e75dd00895067514ea49856bbabb7c5840537daedcde487bfc1ebd6b75a5f5f9fb3a6bc91a9a261e8146f3bf125cd48d3768e0aa2d238e313c8fb24244642c8fab942eff7c90931bbff6a221f815b6230b8a4df95583cf6c3cb2e3c6664a6b20b508f6e2c700a30a2f80962185a894dbca51d1f4c919bf218bfba0c7d72203d90aa25215bcda43f56966bfd65f2c8e6d95f05eab3343ceadcbf7150110286f982c32cc66ab52c361c9dea05d6577da92e5e13b64b514c994b13b37522ae339f438e4a5071f97277a0d4b77889208c31985f02976dc59e68584bcebfb1062718235e891036f53997c976bd475622b6c0d02171a17c763280defbae80d2b95a271ce4c3b93184426134b9f44094ca9f4bd2fd1344bcab1562575052e5fbf948fe8b3898602ca8b357da687309d441a0e4ede014d6f0209aff4490bb45b82bd287acb5935ec391ce98e3aa88e567d7b7a84a4170956936778d2f3ebf373e8c8b43deb48be3f24233366af071ec604a78a288d18ab17f4e70b98b1827da019bbc29119124f260b0039dfd9b6e184a7e80988a12bb7862feabf5d2e0e849f7c67f49cbf20a752337b95e2ef6f48c1fce0c34d1a5cc383e475e2f71f452d5043e5eb9d6c2af94284c06d39b139f1ea3eb528f5ea9af52989c26e545cc575da4682ba7e6fd3af38cce466993e312881735bce4ae851b0c6a8a185139faac9ce86355a85e12e249c46a947b9a6f03d00d8396608480c8ae4b03233bca1e7f5b186bf373ab748e2d738de36f215efbf5dd98b5d65d60a3979a569c3f2ddfe6e170000967ed2b1cc7b9def3f9a5cf8d418ff75c110a0930df801a052e439e6d456904f6828812e5e26f14b22a4563512dbd1e5ae7e0b9a42510dc6a7c41c3d87d770d7c55840fba790c29f3fdabd7eb4c6bf1d41bbe0eb1bcd9eef0d859f139157c0ad6572e991c6174a5461208c4b898840ec035668ac7bfcd6e36dd01713d0232c89ffcd870c54ef6b8bca7fbeec8c6b089baaeb5b1a6c5e944406923569ee2f87eb41dc0378990167b632e87606ed9d3053fa5aa680b0c450b4e9c3403acc95365efbb5374360f254ad0a50e7ed1e7e23485dc6f6490456a3ff4f3d7
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "format 2: tlock stanza round differs from DateKey.round",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310200000000000079000001caa5006a646174656b657963617001010250218abdaca3c0fec6e495e75ebd783d80037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303120353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a6b564d32346331386e6e43535979732f41737838526d626835462f6e6a2f536d6f4f575439557144786c533337323973304858796f49646458657871662f39320a4572754344385973455a7230737a6f56714a4259793043744752796d74722b614946565636735948686c7164324475595662666d696348585056576d474c4e410a36705271394b704730363535764948506c55357143635270416938687a50514e4f74362f3659746475326f0a2d2d2d2073504a314d425539497355514b6969396f4d6730775a333971703134555539342f4f4279484d61776f4c590a832911586ddb59a290244afb86d3c45b7190a54a660483d25e25d96310deb04ce1b0e2d67ff00f7a6911e47aef8251f057d23fae4849128ca900a23aecbf12685e265b0c9b54085644573d4148cb4fc624ee3efbe8bd257330db206aea79f92f03a9c3c82572ea74e62904bf66bfe35ae0b89b0da7a0ee1186449296134ab38388a8dffe3db7436167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392051632f456a4a2f6141384f4b7a514c695a6269432b523562372b676667466d7947495549546d79553447550a3431513246674857315953717a4a41485a51496a6c512b574a4335386876334946626865394c6c5633374d0a2d2d2d20326e614a656133375a6b345a686c796965736f576d544c6e42744158526644676651466b545069674271490aa3d0d3672157c9af39b0e08ba32d8a56d7db921d0b07d17b79c164a8c0de6cddc418af10ccfa79431be4ed268eaa5213dbc72a7797677b565020fb55ef6c568dc99a0afc8b9d824abd739a4aec059f10d901181bf71bff0a281e60e95d19203fee3e41da97bb8e0b7476d0d5020f56fd8d8d4772eea625ddaadcf28fc887022bb02064d775e9e514941730dcf6867f4ab9724989e5524123fc840b6b9f40df0448243f84fb830fd405abb7564205928a3956e59dfd4e8984463f8db22390984e3599277c670ae70ef14f05e41a799faf1a0ab90bf9afe1393a4c357257984a7b4318d46d20b3e6af0b2f5a5148479c509c042b279b1fd3784d5e0d3ef10e48504afe7c9acb6d6fad55224546e19a58122e9157e38349159f92524106aa644ab2"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_ROUND_MISMATCH",
"step": 8
},
{
"name": "format 2: tlock stanza chain hash differs from the pinned profile",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310200000000000079000001caa5006a646174656b6579636170010102501a9e26924b25a9b70ecd24fa769672d8037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020646264353036643665663736653566333836663431633635316463623830386335626362643735343731636334656166613366346466376164346534633439330a694e46476b3072445062474147315646544a74337750477a766a4c546c3035555444664d725754764a74306852546e5a366e365859626f3248574d42346c63570a413976722f54396b76576c54436e576947496a5539564d5965426f4c76626b4a6878735877433965304c4d4731517942626e6352514a46334435336f337066560a47524a71436933526a77634c594a4d30597874387035493353796b442b6c63354c6e4f3156396c617334770a2d2d2d207032556c7072446f644446554a6a456775704d2b3543656b30556232343973415465766c6d4c5a5669794d0a78afc14f4c0ed70ded614e1ba0dd396ed3f50e60152e2ebf04ff26d8b56587e2ca062c1dba946c783e79e75dc5b26a7c22a46198a122d6ad24c1ab99a0952b8bc875a0d5c7ed7be9d540935ae10d452959107a843fcc963e745492c9623bf271270352a3cf71efdfec5b0190d75e7cfbb39d5a1e91445b78f3f56325c7755df2f004a760740c716167652d656e6372797074696f6e2e6f72672f76310a2d3e2058323535313920624d6637576b5a31704441703958333178306c5a7949635a566958664a56325675443634326f32666c566f0a346b4a3056394b69685572586e464858564b4b4854366a77346f666f74686378502b6b4e396f31466162770a2d2d2d207a423337425a30516c5a496462724977337a4d55473258636b544a6f514b7971327653432b45464d68586b0afadfe24005b62684df97ffd987daa6ffc18e2b31077452e4128c380626d5dd3b751a08ff2cd99529f169568dcba2c7e98d44e7a23bac3d868271e43a24db7f435adeb3c517b981e1203ea4311cf3e062fc2fafb80567d6eb9b6a3b11e41ca825db4c86a081affb216a9f67ef237941d9729385ceb249fbe9d7b0191120908df87213ad64148a73a6e198467f85271b72f8c5c2be43cb26c5b1f3eebf08567b7550690f8a06e30d60b95b5651b43060d6336d5d804385dfcdbcb4fa111d57063fdcf880f05e5e5555ab741c5337ccd766b784b9d34c9c7ce16592f6ddac56eacebea37cdbc9723a6952ef7232de7aac46f535a113a305ad53469567a631b549fe95e1de732baf6bec76ec785267d0ed68be45a1e16a27e9e1ed3d431bcf1a1925"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_PROFILE_MISMATCH",
"step": 8
},
{
"name": "format 2: extension data of a type other than bstr",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 6, "9f000001caa6"],
[137, 0, "0681a300716f72672e6578616d706c652e6c6162656c0101026c7075626c6963206c6162656c"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "format 2: empty extension data (h'')",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[11, 6, "93000001caa6"],
[137, 0, "0681a300716f72672e6578616d706c652e6c6162656c01010240"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "format 2: 65 extensions in one array",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[10, 7, "0590000001caa6"],
[137, 0, "069841a2006f6f72672e6578616d706c652e3030300101a2006f6f72672e6578616d706c652e3030310101a2006f6f72672e6578616d706c652e3030320101a2006f6f72672e6578616d706c652e3030330101a2006f6f72672e6578616d706c652e3030340101a2006f6f72672e6578616d706c652e3030350101a2006f6f72672e6578616d706c652e3030360101a2006f6f72672e6578616d706c652e3030370101a2006f6f72672e6578616d706c652e3030380101a2006f6f72672e6578616d706c652e3030390101a2006f6f72672e6578616d706c652e3031300101a2006f6f72672e6578616d706c652e3031310101a2006f6f72672e6578616d706c652e3031320101a2006f6f72672e6578616d706c652e3031330101a2006f6f72672e6578616d706c652e3031340101a2006f6f72672e6578616d706c652e3031350101a2006f6f72672e6578616d706c652e3031360101a2006f6f72672e6578616d706c652e3031370101a2006f6f72672e6578616d706c652e3031380101a2006f6f72672e6578616d706c652e3031390101a2006f6f72672e6578616d706c652e3032300101a2006f6f72672e6578616d706c652e3032310101a2006f6f72672e6578616d706c652e3032320101a2006f6f72672e6578616d706c652e3032330101a2006f6f72672e6578616d706c652e3032340101a2006f6f72672e6578616d706c652e3032350101a2006f6f72672e6578616d706c652e3032360101a2006f6f72672e6578616d706c652e3032370101a2006f6f72672e6578616d706c652e3032380101a2006f6f72672e6578616d706c652e3032390101a2006f6f72672e6578616d706c652e3033300101a2006f6f72672e6578616d706c652e3033310101a2006f6f72672e6578616d706c652e3033320101a2006f6f72672e6578616d706c652e3033330101a2006f6f72672e6578616d706c652e3033340101a2006f6f72672e6578616d706c652e3033350101a2006f6f72672e6578616d706c652e3033360101a2006f6f72672e6578616d706c652e3033370101a2006f6f72672e6578616d706c652e3033380101a2006f6f72672e6578616d706c652e3033390101a2006f6f72672e6578616d706c652e3034300101a2006f6f72672e6578616d706c652e3034310101a2006f6f72672e6578616d706c652e3034320101a2006f6f72672e6578616d706c652e3034330101a2006f6f72672e6578616d706c652e3034340101a2006f6f72672e6578616d706c652e3034350101a2006f6f72672e6578616d706c652e3034360101a2006f6f72672e6578616d706c652e3034370101a2006f6f72672e6578616d706c652e3034380101a2006f6f72672e6578616d706c652e3034390101a2006f6f72672e6578616d706c652e3035300101a2006f6f72672e6578616d706c652e3035310101a2006f6f72672e6578616d706c652e3035320101a2006f6f72672e6578616d706c652e3035330101a2006f6f72672e6578616d706c652e3035340101a2006f6f72672e6578616d706c652e3035350101a2006f6f72672e6578616d706c652e3035360101a2006f6f72672e6578616d706c652e3035370101a2006f6f72672e6578616d706c652e3035380101a2006f6f72672e6578616d706c652e3035390101a2006f6f72672e6578616d706c652e3036300101a2006f6f72672e6578616d706c652e3036310101a2006f6f72672e6578616d706c652e3036320101a2006f6f72672e6578616d706c652e3036330101a2006f6f72672e6578616d706c652e3036340101"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "format 2: tlock stanza U re-encoded with c0 + p",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[303, 64, "47767356342f426a37792b42394835566479466e705a316763796665646e334254332f2b66554158746e53706d30575865732b6e7633706e30632b4b6272676a"],
[416, 43, "58384841766f4779353462544e456f356a554a3456416f694e5459656555504745383370754a5654695a73"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 2: tlock stanza U is the point at infinity",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[238, 129, "774141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141410a41414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141"],
[416, 43, "62433146764a75425074647a376738755a595536322b68313332482b397966334a556c6639497455742b63"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 2: tlock stanza U with the infinity flag and a payload",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[238, 1, "78"],
[416, 43, "4a5574764474646b44706658326f393336744b625466784255453572536d4e54524f566b54777635667773"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 2: tlock stanza body of 127 bytes",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "c9"],
[409, 49, "410a2d2d2d20664d3147664471544772417532736948524e58472b75394e47766437313333564a6b5966724f3559736534"],
[458, 1, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 2: tlock stanza body of 129 bytes",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "cb"],
[411, 48, "410a2d2d2d20324a39614a58625751566464762f2b656d6d4d6c4b7a30546365706b6c344e35547966495635586a4775"],
[459, 0, "49"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 2: release signature re-encoded with x + p",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310200000000000079000001caa5006a646174656b657963617001010250dbb9bc102bb15061d58e9c17d302e06f037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774e483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303420353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a6d444352704671466c504e332b4677673178783575756c45594c313766586e592b56416c464e6245473964667449345047597a3268577931786a6162584c52310a4352434445556e58377439577a344378447a69734f75644b457138753246412f47504e496f58734b2f38323067566f446b35615543636479656b4872504833530a694b525962593372664d784b3361764f474442416657536272795059704b58694d646f594a646c527357550a2d2d2d206853776d546f585831736e6862784b494448305935345239554d6270426669652b7937664d6e674c5232510a3c1177789c1a5cdf23984f1ac07a5de6fee172c95c42bbf8fcf776419acb23db87cfe5a129aac8db2d551c089fd36a78889c22007b4ad4488f6a4c42ee35f0242b4507c239e872c43e88f98c55e7b1c67cb8198258e47495a614eae168fadebcd11723c25104896a0189d7c7eac3caf0a6d48b903d523b4f4817b40d9ecb17e96c3fab13afef6e6167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392033476b7278676c663265535850644d6832483670326a337538686939776f41534963376d6e3377516e424d0a5556705352516c443337744666642f546c376969317255464430762b2f66754770334e323534524a5654450a2d2d2d205a72347833736230336d4134586935476c41492b452b6b636e4970592f4c783933324e733845753273726b0a5d69fe61aacb5b8eb01f95a5129bb69d9837e785984273f5d2885b9ca0f38db89010f6d595f468bc42187f97e64332312f35291cbca0da1254a0ea26570282a8223402100a9e684975f7452f0cbb01620b3b611d464c2741ecbe2e8c6daa8cf95beb55ef837147421c000df1e8d65b9fd677e1d330b0315442c3fca9a78c4001fe64671df76532f7cc33a69fe7cf75d25740c70c5174969f96fba987efa980552a6a2723526245714dda3b17525a5175f3c5c539137dae3d3257d49f2c338311af54fbf8d213d16ee03254f8d1e30e06998a9685bf6fa88eeb997862ac1baea7d44bcd5ddf763f93690cc352ac28d053f5a7992fa2e552778e4c17c479fbbebc6a1349c0e6d41f841f3e190295b14d17b107b3f9dbe62c85e17d8747ea95388c"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1004,
"signature": "be076aa25a40df5b4d22f9f7bcedaff30dcac20d94556107b8e652c7b54b2a440ce796f9fa53ad28023c84b40a580f55"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 2: release signature is the point at infinity",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 2: release signature with the infinity flag and a payload",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "d44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 2: release signature negated",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 2: negated release signature and U re-encoded with c0 + p",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[303, 64, "47767356342f426a37792b42394835566479466e705a316763796665646e334254332f2b66554158746e53706d30575865732b6e7633706e30632b4b6272676a"],
[416, 43, "58384841766f4779353462544e456f356a554a3456416f694e5459656555504745383370754a5654695a73"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
Format 3, step 3: the reader Open reads format 3 (spec 29.2 to 29.7, 63 steps 17 and 18): the PRELUDE accepts VERSION 3, and the files go to a Sink. - Sink: Begin with the validated head, Create for each file in the order of the head, and Commit only after every check of step 17; after any failure that follows a successful Begin, Abort, once. A format 3 capsule without a Sink fails right after step 2 with ErrSinkRequired, a caller error with no code, no failed step and no request; a capsule of format 1 or 2 without dst fails there too. - Step 17 in its substeps: the frame and the area, security and its verdicts, which never fail, the head, the files filling CONTENT, the SHA-256 of each file and the padding. A failure of age or a plaintext whose length is not P prevails; otherwise the first substep that fails decides, and a code other than ERR_INTEGRITY is reported only after reading PAYLOAD_AGE to its end. - The reads of BODY grow with the bytes received, never with AREA_LEN, HEAD_LEN or a declared size (spec 57); a test measures it. - A failure of the Sink is the caller's own error with ERR_INTEGRITY, as one of dst is in formats 1 and 2. - Opened gains Head, Verdicts, AreaLen and UnusableHeadExtensions. - Test data: "version changed" sets VERSION 4, and the format 2 list gains "format 2 time_only relabeled format 3", which fails at step 14, as section 64 of spec v0.10 lists: 126 cases, 89 of the spec. The randomly built capsules keep their recorded bytes. - testkit: Build writes format 3 and can edit the padded plaintext; Head3, Body3, DiscardSink and MemorySink build and open BODY. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"name": "format 2 time_only relabeled format 3",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[4, 1, "03"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 14
},
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"name": "format 1 time_only relabeled format 2",
"spec": true,
"dkc": {
"base": "time_only.dkc",
"edits": [
[4, 1, "02"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 14
},
{
"name": "format 1 time_and_key with one stanza relabeled format 2, with the identity",
"spec": true,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": [
[4, 1, "02"]
]
},
"identities": [
"AGE-SECRET-KEY-1840Y650JZGMWEL6QMZWQ4H8E4GE95F9ERDR0M8G6LFYZ749J6TRQR3F5PZ"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "format 2 time_only relabeled format 1",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[4, 1, "01"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 14
},
{
"name": "format 2 time_and_key relabeled format 1, with the identity",
"spec": true,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
[4, 1, "01"]
]
},
"identities": [
"AGE-SECRET-KEY-1NSY6AKN4N2RXF2VPYPP4LC8KH7ZSQQ9VTMC0NPFL73S5FSM90QQSN6LZCL"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 14
},
{
"name": "INNER_ACCESS_AGE with 15 stanzas",
"spec": true,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[14, 2, "07ee"],
[900, 1267, "93d191eb69672ab990e86a03c86e14577a74ec26f67237ec2d229e1399fe2a4af76cdd1955ff1c609f4c7133a5b7e7156fc1e84b3310c825e7055c701879fa021c2b1089bc823ba4703d43265f5f00af30fa5242546970d2c18ace968614a1453381cd3485a93a876877fc978bc5b04df1f9a88536c70885119bf8d956c86cd179e642dc7c006edd1d4156ceea5a9d35f2e3edb73893906ca47bab919bbd74bc0b1dd29746c5e8b9b0e7877be5f4332397062468f37a5cb1217a2958d85742d0bf9dec33f324a9d4a5d2b4cd56920ab21840608260a262cd376e5fa2bbd8262da2925b7eb38c5fc823c5c9dc772ea1d7d050cf76b691d47a83261f8d9e513badca4a48d445d39af3e8ee132f1533f5cbbb0c6b1245c3d3e36dd596203444dda8e1aff04d3397515a48095ea254b3330f20afa34b511cede625b344f6fd540e918b48f5f4941d980c28409959efe861ec82aebde8234b3fd1e92b70bd2bf8ad6a251c127a0d7366023a692dd3a849285fec3ef60ad19133cae331eeea21678b04add2ec3c5d704168ca4416e623878dec8ee14cc85cc2f9e5ec514b1ce9e32b4cc06d37a2adeb5f8e589fa7b436dc769aed1fd48c77b91c279a22f6ef72fe2c68a75a74dad5c6deb6edcf8f78a9fabd3ee71d24214f4f2738ba5f152b2034356b1d493c088604ae35f40ee13a408a9f40d96cbf4bed8fbafea106b50fcce897344cb76fb438df5fb8209a3ccebc6e223f8064027833dd2604b3accb3de6c0f2945f9591db6779a8b305b5f2acaf3bda7fb601569394c399cd45b8146bd5610eb95b546b40f6b2b3b004aded6bf45991f3b0eb9b26e11d7319554cff6ebfbc0101aa5828c4321d4b4c06dd11c57f7adabbb86131b601c8e8a7397a8a1a540bc0b2f3a1432f6f31fe245e81cb0f0bbbfdaedbbbc3c7a4262ec3bc9049af29fabe75cf3a067a030c5b72b84ac03c87304d7a4e47e9a653464d8db07b548a8b7509a3629759f70644c8da71f924e4fb9da47c140fc9908a77531e31f69caad928c7807ba8dd6cb4f9e27c0448c57aafbfa96b2917b0a492bdf86bf0703fd1c1b7a0323738e6d09beef79a384725f359678e4b30d32e12dad4fe7ebb7dbcf07da0fe9072e27c40ef08ddf7cca30aa17b6ee38109bf62d00d6da6672bac3e48d2f751cc81ab41d45e76b170c32765a821a16b503e477bc580e4b30abc57f799cf1efbc10f781d65fb5964d98937f5b5539ffa2a4872ebd8c772c44c84330cdcb043b595cf25680e105807e527ca01e09fa083209524998cf3e4dac50d909d5e1849af62ab0842ac09375461feba211f7fe7d0f8f07f05fda41bbf57726f97e6f60606757d5b55ea783327347a776f5070f55d5c222f7730444881d8351fa092411e47947e7d817290122c82d5759baa0112773a8023a67ba7b62a0e834cb29a8685b9210fd365cbce12467a9b256d898536583cabdf8a4654df3a34acdd068e6413ff213856e11267205e3436f3e9de190609345e715fa3887cd17b6882f2141aa8bf5ffdeada5216b67ecf95f32b6917c7e3c33851e0fd036fe8ce092e3e2d7fb4a22fbbe5afbbd07c6490b841e8c47a1a896d5b7db0ee76f4129c1c061ddedaae76201703cd07532ef57fe1b158302207d353aa2f988db1e962e6423eb06e7d9d300a9e7b9bd88e7fed32f2ef68436a1cd8881ef57ef9eb7235c07ddfd16d1c20297e41963e6a7e91c8a474e6e7a4778b5815a21181694b52b6bcc9ca543948fadb7d9dc5aed2b162e15906c64163ff65bff705cad4"],
[2167, 98, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"identities": [
"AGE-SECRET-KEY-1NSY6AKN4N2RXF2VPYPP4LC8KH7ZSQQ9VTMC0NPFL73S5FSM90QQSN6LZCL"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "INNER_ACCESS_AGE with 17 stanzas",
"spec": true,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "b2"],
[2067, 198, "5b8d2a9254bf06b0f4ceaea6fc789f29893ceb0a496e2b856a8fa67abaaeef8522521584d2072d595d3502c6b41aab40ca166ee2c5bbc08497ac1c0e99cfc89c3da0f6e12d206de37c00f3bd0b2ef94a78e60f19cdd07f1653f920dde0330042a25f0634fa4371dcfc680a195229823aa217216b9bc5e583fe75f5edaf0512635610fd5d85a5ce57b9e8d7c1962eebd8070cd796bc2bc7c882065dcfd80fa821c9ed3c523acc778d111a16f2a50f8d8d2cddd85f4412b495d63f6fdf6e02fa667cc374158c30"],
[2265, 0, "1378b1dc03577d28aed9e20f8f9916e6205124248ea6d643a862e5d2ce3b73a0630cd8737d91a2f5477ecef216b7af503597ef9e4d90103c92a63cca2adc179d64cd1831cb21c20f29dccb4c5cd66989ebf2a2236a45d7eb6dc969eba16c3d60b366"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"identities": [
"AGE-SECRET-KEY-1NSY6AKN4N2RXF2VPYPP4LC8KH7ZSQQ9VTMC0NPFL73S5FSM90QQSN6LZCL"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "16 stanzas, two for one recipient, and the identity of that recipient",
"spec": true,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[900, 87, "9394dcd109377c8ebbd67040d34d547b1250e330946719f3280ea614dcf7004f8c30d5202dd43c6bbd767533b19aee2f5af5fe6b77108f03f5272a755557e63d332e38b4d1a5388b162f7358510418b83ccb754a457c68"],
[2070, 43, "911bd346a690ce82ffa76280299935d25355060ce86cbf8621d480a09f206f36a9b4173c5672012ec4b035"],
[2249, 16, "4c220e9720a284e83667a897f499e3de"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"identities": [
"AGE-SECRET-KEY-1NSY6AKN4N2RXF2VPYPP4LC8KH7ZSQQ9VTMC0NPFL73S5FSM90QQSN6LZCL"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 13
},
{
"name": "identity that is not a recipient of any of the 16",
"spec": true,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": []
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 13
},
{
"name": "control of schema version 2 without key 6",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "c0"],
[476, 1, "a3"],
[500, 32, "01334cf961a9394f0b6d8b8fec6d566b2a2591b86da70351123a193e066db96e"],
[567, 17, "e81a6b2281478f480de71ef03342c64ed3"],
[584, 10, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "control of schema version 2 without key 7",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "c8"],
[476, 1, "a3"],
[500, 32, "e0b1747f1549994e6c7ae03391a26bffcbd83462fd2edee17b00aa674719dedc"],
[577, 16, "30cfec7a7d656b447630b4b439dfbabe"],
[593, 2, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "padding code 0",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[578, 17, "0d44858313fb885815265d4e1985d5390b"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "padding code 3",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[578, 17, "0e47dc0b8e0d25f76140bbcaf1b3956b2e"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "payload_length L_MAX + 1",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[570, 25, "83ab6c48c335f6580f0eccbf15b3e4a5da1a4fb320b4f992e4"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "payload_length of 7 bytes",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "c9"],
[500, 32, "5d3791fd50fb59de8a24ab1d59e3840615f9c9dcc8007010aae648150b53c721"],
[568, 26, "5f2f9c6b6c49f385f05d82e6fdf4fbf358c5e41fbcad20071df2"],
[594, 1, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "payload_length of 9 bytes",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "cb"],
[500, 32, "955d41376dd03b116ef0e8dc1ce9385256f62f550eea5ede5e70e64f25b58bbb"],
[568, 27, "512f9c6b6c48c334c7ef0abf53239233b3b90f0f62af5ff21e33e1"],
[595, 0, "2c"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "payload_length as an unsigned integer",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "c6"],
[500, 32, "ae9f92629835c3ea6cfff3763049b759020b68d3a636c03d123d4ef037f64fd6"],
[568, 23, "022f9d5bdc4fc1b9383c0700e591604b642c97143d390e"],
[591, 4, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 14
},
{
"name": "last padding byte not zero",
"spec": true,
"dkc": {
"base": "format2_time_only_extensions.dkc",
"edits": [
[1108, 17, "a9c4c81d0051c53edf9b90a846b2fd5e9f"]
]
},
"release": {
"round": 2000,
"signature": "b6cb8f482a0b15d45936a4c4ea08e98a087e71787caee3f4d07a8a9843b1bc5423c6b3c22f446488b3137eaca799c77e"
},
"now": "2023-08-23T16:49:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "payload plaintext of P - 1 bytes",
"spec": true,
"dkc": {
"base": "format2_time_only_extensions.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[1108, 16, "e0efdea667865b5fdf9dd98e76c33d25"],
[1124, 1, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 2000,
"signature": "b6cb8f482a0b15d45936a4c4ea08e98a087e71787caee3f4d07a8a9843b1bc5423c6b3c22f446488b3137eaca799c77e"
},
"now": "2023-08-23T16:49:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "payload plaintext of P + 256 bytes",
"spec": true,
"dkc": {
"base": "format2_time_only_extensions.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[1109, 16, "1a1d49d40c97b151f361236ad3a665cf"],
[1125, 0, "af876aa422deb2a1af98f58ec6c56cc6230ad168a929f71996a02119c95da09da99265eb755d5150e0779d03b728ed79fb9912b12df9fd3d391df1996f564f2bcfbaa094dddcb7cb6f45ff7bdb24ac261600ff5a93e681a7b2e9fe7a5aa510e2248cb91ab42e109edcb2ece78ff5b78f152acdea1395088d2fb4e8981dbb400e1739ce987495dad128e2df852b929287d193f4d05b10b48663267c88facc6dbf3c2eab513c8d9337803df14ed1dc7fd31554d6ce62fec4e5efd4a163e7f21b153a3680caa0c46cf93900608aa56d954207b3feead254aaf8273e02b7c5b71be819f35e5bae615d3246d90e426193e01d7340f57db6563bc7e8a6f70cf876c03f"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 2000,
"signature": "b6cb8f482a0b15d45936a4c4ea08e98a087e71787caee3f4d07a8a9843b1bc5423c6b3c22f446488b3137eaca799c77e"
},
"now": "2023-08-23T16:49:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "payload plaintext without padding, of L bytes",
"spec": true,
"dkc": {
"base": "format2_time_only_extensions.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[887, 16, "d6ce427933325eeabe9d771bfc4a64ec"],
[903, 222, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 2000,
"signature": "b6cb8f482a0b15d45936a4c4ea08e98a087e71787caee3f4d07a8a9843b1bc5423c6b3c22f446488b3137eaca799c77e"
},
"now": "2023-08-23T16:49:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "padding code 2 changed to 1, with L = 78000",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[578, 17, "0c3c2efb98e8ecb9c80bffd140561508e8"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "payload_length L - 1, the last byte of the content not zero",
"spec": true,
"dkc": {
"base": "format2_time_only.dkc",
"edits": [
[576, 19, "58580f5c56ce65a8d754ee9c79638d30ac1df1"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "format 1 time_and_key with one stanza relabeled format 2, with the .dkk",
"spec": false,
"dkc": {
"base": "time_and_key_portable.dkc",
"edits": [
[4, 1, "02"]
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b6579010102503955e944a3c60cfa1fd6485e9693c77d0350448e134a13457c319cab7fceaf7ffa1f04667832353531390558203d5e4d51f21236ecff40d89c0adcf9aa325a24b91b46fd9d1afa482f54b2d2c606a10058202e97878078bae6358037a9c264f379a3cbe839f767d69836b0343f35657b2972",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
},
{
"name": "format 2 time_and_key relabeled format 1, with the .dkk",
"spec": false,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
[4, 1, "01"]
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250e3c7be83cbf1fbd6b115c96411b3bd010350fe68d3b3bb59db0c14b7ef57d8d6cb5e04667832353531390558209c09aeda759a8664a98120435fe0f6bf850000ac5ef0f9853ff46144c365780106a1005820600892659fe4890223e895876275f656995d170fda42b07fb2bec0ca51ce4b43",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
},
{
"name": "INNER_ACCESS_AGE with 15 stanzas, with the .dkk",
"spec": false,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[14, 2, "07ee"],
[900, 1267, "93d191eb69672ab990e86a03c86e14577a74ec26f67237ec2d229e1399fe2a4af76cdd1955ff1c609f4c7133a5b7e7156fc1e84b3310c825e7055c701879fa021c2b1089bc823ba4703d43265f5f00af30fa5242546970d2c18ace968614a1453381cd3485a93a876877fc978bc5b04df1f9a88536c70885119bf8d956c86cd179e642dc7c006edd1d4156ceea5a9d35f2e3edb73893906ca47bab919bbd74bc0b1dd29746c5e8b9b0e7877be5f4332397062468f37a5cb1217a2958d85742d0bf9dec33f324a9d4a5d2b4cd56920ab21840608260a262cd376e5fa2bbd8262da2925b7eb38c5fc823c5c9dc772ea1d7d050cf76b691d47a83261f8d9e513badca4a48d445d39af3e8ee132f1533f5cbbb0c6b1245c3d3e36dd596203444dda8e1aff04d3397515a48095ea254b3330f20afa34b511cede625b344f6fd540e918b48f5f4941d980c28409959efe861ec82aebde8234b3fd1e92b70bd2bf8ad6a251c127a0d7366023a692dd3a849285fec3ef60ad19133cae331eeea21678b04add2ec3c5d704168ca4416e623878dec8ee14cc85cc2f9e5ec514b1ce9e32b4cc06d37a2adeb5f8e589fa7b436dc769aed1fd48c77b91c279a22f6ef72fe2c68a75a74dad5c6deb6edcf8f78a9fabd3ee71d24214f4f2738ba5f152b2034356b1d493c088604ae35f40ee13a408a9f40d96cbf4bed8fbafea106b50fcce897344cb76fb438df5fb8209a3ccebc6e223f8064027833dd2604b3accb3de6c0f2945f9591db6779a8b305b5f2acaf3bda7fb601569394c399cd45b8146bd5610eb95b546b40f6b2b3b004aded6bf45991f3b0eb9b26e11d7319554cff6ebfbc0101aa5828c4321d4b4c06dd11c57f7adabbb86131b601c8e8a7397a8a1a540bc0b2f3a1432f6f31fe245e81cb0f0bbbfdaedbbbc3c7a4262ec3bc9049af29fabe75cf3a067a030c5b72b84ac03c87304d7a4e47e9a653464d8db07b548a8b7509a3629759f70644c8da71f924e4fb9da47c140fc9908a77531e31f69caad928c7807ba8dd6cb4f9e27c0448c57aafbfa96b2917b0a492bdf86bf0703fd1c1b7a0323738e6d09beef79a384725f359678e4b30d32e12dad4fe7ebb7dbcf07da0fe9072e27c40ef08ddf7cca30aa17b6ee38109bf62d00d6da6672bac3e48d2f751cc81ab41d45e76b170c32765a821a16b503e477bc580e4b30abc57f799cf1efbc10f781d65fb5964d98937f5b5539ffa2a4872ebd8c772c44c84330cdcb043b595cf25680e105807e527ca01e09fa083209524998cf3e4dac50d909d5e1849af62ab0842ac09375461feba211f7fe7d0f8f07f05fda41bbf57726f97e6f60606757d5b55ea783327347a776f5070f55d5c222f7730444881d8351fa092411e47947e7d817290122c82d5759baa0112773a8023a67ba7b62a0e834cb29a8685b9210fd365cbce12467a9b256d898536583cabdf8a4654df3a34acdd068e6413ff213856e11267205e3436f3e9de190609345e715fa3887cd17b6882f2141aa8bf5ffdeada5216b67ecf95f32b6917c7e3c33851e0fd036fe8ce092e3e2d7fb4a22fbbe5afbbd07c6490b841e8c47a1a896d5b7db0ee76f4129c1c061ddedaae76201703cd07532ef57fe1b158302207d353aa2f988db1e962e6423eb06e7d9d300a9e7b9bd88e7fed32f2ef68436a1cd8881ef57ef9eb7235c07ddfd16d1c20297e41963e6a7e91c8a474e6e7a4778b5815a21181694b52b6bcc9ca543948fadb7d9dc5aed2b162e15906c64163ff65bff705cad4"],
[2167, 98, ""]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250e3c7be83cbf1fbd6b115c96411b3bd010350fe68d3b3bb59db0c14b7ef57d8d6cb5e04667832353531390558209c09aeda759a8664a98120435fe0f6bf850000ac5ef0f9853ff46144c365780106a1005820600892659fe4890223e895876275f656995d170fda42b07fb2bec0ca51ce4b43",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
},
{
"name": "INNER_ACCESS_AGE with 17 stanzas, with the .dkk",
"spec": false,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[15, 1, "b2"],
[2067, 198, "5b8d2a9254bf06b0f4ceaea6fc789f29893ceb0a496e2b856a8fa67abaaeef8522521584d2072d595d3502c6b41aab40ca166ee2c5bbc08497ac1c0e99cfc89c3da0f6e12d206de37c00f3bd0b2ef94a78e60f19cdd07f1653f920dde0330042a25f0634fa4371dcfc680a195229823aa217216b9bc5e583fe75f5edaf0512635610fd5d85a5ce57b9e8d7c1962eebd8070cd796bc2bc7c882065dcfd80fa821c9ed3c523acc778d111a16f2a50f8d8d2cddd85f4412b495d63f6fdf6e02fa667cc374158c30"],
[2265, 0, "1378b1dc03577d28aed9e20f8f9916e6205124248ea6d643a862e5d2ce3b73a0630cd8737d91a2f5477ecef216b7af503597ef9e4d90103c92a63cca2adc179d64cd1831cb21c20f29dccb4c5cd66989ebf2a2236a45d7eb6dc969eba16c3d60b366"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250e3c7be83cbf1fbd6b115c96411b3bd010350fe68d3b3bb59db0c14b7ef57d8d6cb5e04667832353531390558209c09aeda759a8664a98120435fe0f6bf850000ac5ef0f9853ff46144c365780106a1005820600892659fe4890223e895876275f656995d170fda42b07fb2bec0ca51ce4b43",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
},
{
"name": "16 stanzas, two for one recipient, with the .dkk",
"spec": false,
"dkc": {
"base": "format2_time_and_key_portable.dkc",
"edits": [
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
[900, 87, "9394dcd109377c8ebbd67040d34d547b1250e330946719f3280ea614dcf7004f8c30d5202dd43c6bbd767533b19aee2f5af5fe6b77108f03f5272a755557e63d332e38b4d1a5388b162f7358510418b83ccb754a457c68"],
[2070, 43, "911bd346a690ce82ffa76280299935d25355060ce86cbf8621d480a09f206f36a9b4173c5672012ec4b035"],
[2249, 16, "4c220e9720a284e83667a897f499e3de"]
Implement capsule format 2 of spec v0.9 The reference moves to the DateKeys Protocol Specification v0.9, approved by its author on 29 September 2026. Encrypt writes capsule format 2 only; Open and Inspect read formats 1 and 2, and a format 1 capsule keeps the verdict v0.8.2 gave it. Format 2 (spec §22, §29.1, §31, §39): - VERSION in the PRELUDE is the capsule format, capsule.Format; any other value is ERR_UNSUPPORTED_VERSION at step 2. - CONTROL_CBOR has the schema version of its format. Version 2 adds key 6, payload_length (8 bytes, big-endian, at most L_MAX = 2^53 - 2^46), and key 7, padding (1 bloque256, 2 reforzado); it is 103 bytes without extensions, whatever L. - The payload is the content padded with zeros to P = rule(L). Step 17 checks the length and the zeros, and Open writes only the first L bytes. - INNER_ACCESS_AGE holds exactly 16 X25519 stanzas: 1 to 16 credentials, and a dummy in each slot left, in a uniformly random order. Writer rules (spec §62.1): EncryptOptions.Length is required and the source must deliver exactly that many bytes; recipients that are not canonical or of low order are rejected (agewrap.CheckX25519Recipient); self-checks of the header, the control, INNER_ACCESS_AGE and PAYLOAD_AGE. The CLI measures its input, takes -padding and reports the format. Test data: seven format 2 fixtures, padding vectors checked against math/big, format 2 CBOR vectors, and the mutation corpus in both formats with the 22 cases of the third list of spec §64, built without randomness by sealing the fixtures again with their known keys and nonces. The format 1 fixtures are kept byte for byte and never regenerated; the differential corpus keeps its 1825 cases and adds a block per format 2 fixture. The spec copy loses its "to be implemented" markers, and the READMEs, CHANGELOG, traceability and testdata/README.md follow v0.9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250e3c7be83cbf1fbd6b115c96411b3bd010350fe68d3b3bb59db0c14b7ef57d8d6cb5e04667832353531390558209c09aeda759a8664a98120435fe0f6bf850000ac5ef0f9853ff46144c365780106a1005820600892659fe4890223e895876275f656995d170fda42b07fb2bec0ca51ce4b43",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
},
{
"name": "format 3: PUBLIC_HEADER_A + SEALED_CONTROL_B",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310300000000000079000001caa5006a646174656b657963617001010250ff23599acbe9b0a742792dcb7cb1bc4c037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a69482f2b625830375a474751485a78777030562f513235744e2f67616965346f6252507666693536414f6b44464638597a6d30397042794c635742537656592f0a436361764e4d666a33716257787a317162436a6a362f797056766a4551574c6a6959334f766752763236735a6d4a6d654e414e384661623057526253485a57660a6c387165674d756f68564c557237785342355957566b614a694f5451763168554d515172397357657338490a2d2d2d204f7551367951753537786f4e6766474347683434394f5855716b7146742f58626a2b7339463671736d35300a0dcea1e9fddffdb3604196b98ef8f191fcc525f36d49f0e88f6d7b6a585f650b7f204d5bcdf974de21a118b91221b2bf716c0316495217a2a5629077fa642c6140662342a9b0854cf9dcd61d7ee1ae25b83fd47d72eb86340aadc36d1f40ffb07502b0b71c4211ccb7c1f6fe70eee4155cd9d385ae5c8f326e792f5296e1fec44a33f781e0549f6167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139202b3330354a444c6d5a544935654837763248596764336d7477546d7a466137507831642f76396c6c4253410a3059487839476c496c6c756b673848734a33496f5375376e5737712f7458647a572f714c737537494a77410a2d2d2d206f3574695a44612f4f71762b627838397555695767734872642b68494f472b6131366d6d445245754779490a3a241b6017007c9eb642e7a3d0ef653ee677b3c92cf12e71ec09264990b093d8806bf25885c3532761d80a5f8b7ae64bc302c62ab7a9179f5318a40076c6c6ea13d57eb79667e155e7ea71a54953bfeca7df6f75b8c46e6cc38b6795e0f439b1607eb5376d7fd3622a5e2d26259edd73b044eeef1dffc2f16fd83e6c65c3902a280158e4c15bb8aa614054f8aa144f4b6e3082015797445887b93320d7b8a25dee09cac4c18a1b80b841953f0142cb9d9cbf22bb06f315689a79e142e31c007a4729afbfa4f80c5745e35598ed92dc28b7c498af01ae5630f729ee912e5f4d98f8e6f8f4c1d06db91992c915436c12d0d0a855807de9cab2c90e92566838a69ee544ff12130b7f4f5d547e35dc1dd5e3d63b3e286942b1c5a17340d254b8aa2429ba268bbbde86c6ac46b0bf91155dbb9b539b01387310b3a94109e5218324aeb371bbca06d938ca790294f94604ad0e524c4b5b0fd0c0b06dd3bad084f185742d7c43c62c30cd20933ff104b4840216bde32afc611379ee0296097aba18da4c1cf2f4303d889d2115acaf86de01005e4d4b2a410e51ddf459f05e4cae27920fdff77576cf91bbc6e2894811ef61001fa3b52f70a72844bc58e7eb0529343b8df97f2359cdac9a9bea5eea301769390a27bda75582c8460251c142225d6a07ae5ac34dbb3d9ace2280b52fba68d6b4d79950a7d107bba78e21d19d5726d02859aa32f6091da08dbed70bf355b302831ca544cb8e9ce509fd8fee316d4d6156f0e4e8bdf6b89c09b7d4703874a3935f36a20c0432a7a30971e1d67f7f7911dd04a5566bbd20552944622356e2dc8dbacf6fe401f3b402b6aab705d9e25ba0dad7a6113635ce5f113dd8a556efadce46e55de876a07d523d292b998f3f9baa273c693d25db0d2c679368e770216bcdc8ea02c08eca5a288fad27e3c41b2cfe66b21f36f9d44d07767e620f8c28b8ab16874efbd1bb6e0113c65de9f44b94f2930fb1ea483b78c82db38bf12eb2eb28f82762a4753fc62d7dbcf7ba8fe4120a1ecf6fc904c77ccecaeda48f6936fcb9d776e6551b2e610b20f239a70af2c98cfe492fed69f462025a629215356eec9521c440173af802a79ddfc02018a6ac0665945634276f42e6de536fd3cea4dda0a864f983010c67a28e2da6886d18083fd380bd797db4a5dd787673da36d482158f83ff03c682508838c91163ff641204d07058913fc70ff6739b7d56a037ec423a64a62af949d973ece5af4f12da59d7460e2e26af7f3e247bf24b88b948ae86f95eb1597c1c617dcc73bf83807cbfaa502621118da0be66d748b299db60b6c47c7074132a5072cd7d37a6e66ee672132d173bdf7fd8d9400d25adec081661462eddd5cf98ced8d8cdfcb68c6473d4f9f305551f36bf8ab1716296a1f8d3ee1b4fde555af42310a0585a325ee3418d7b198715e500d3a64771dd59366be05bbe73665bd321f619732912fc3ef5351caf2702b53601a963b9acdfa1fcea580346127343d2bd8a74d017ef0134ac1ec9534afcfd227020ca7b83ed0bc181c811228322aff24d79355e9119dcb2aef9829d41d9c0a87b75dc407ad9724f6a37331f546220c87deac943cd5dcf42f80c88d802062b11948dc117220362077a70cbafcc789b172b8c45c99c97667e4bc4eaccd97ba07474e7591242bd882a96f4c13d20d0e4c28f5461094d75f6db83efc78715410c51262f3283452f3227e71cda4406223cd83ec7e7d7e5f03b6b4d26c0bb42e2d1c4efc771297ad5a857bf9f9c6285e1843d5396970c58e15de6ee2
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_HEADER_BINDING",
"step": 15
},
{
"name": "format 3: SEALED_CONTROL_A + PAYLOAD_AGE_B",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310300000000000079000001caa5006a646174656b657963617001010250ff23599acbe9b0a742792dcb7cb1bc4c037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a7045636f755a7a7948436778714b4d414f38467a61736b716675372f2b6366705434367975727355677743466d64686d653462372f2f39635570756f6867596c0a46364d506830616e46326c50506231546b36487569513836636d2b7549686b74553432354f6131746d49492f66374c67527735672b53656e59355552545147410a5870362f4a5933714674474c634c664b744a482b43463976302f30736d4c322f624b363863517656584a6f0a2d2d2d207364397132386c674165544965567a324b4773553774673876303041736d32422b65677170746b706567410a34bf11c8889aac88585db4e178f1d552748f3aabb3c05da5d27abe425d33168c432c1664087b6b39bdbdab254b9c8601acba3482ef6fd7d64fd61186750e07a716d0a20dca979da34b1c39071212ec9fcac297bba1e5f6769fb62812306d3d8846bd86763375a52f83ba6eac741cb138bbcc236f428c2e56afe458570b1e4d4c0bf43a898aba816167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139202b3330354a444c6d5a544935654837763248596764336d7477546d7a466137507831642f76396c6c4253410a3059487839476c496c6c756b673848734a33496f5375376e5737712f7458647a572f714c737537494a77410a2d2d2d206f3574695a44612f4f71762b627838397555695767734872642b68494f472b6131366d6d445245754779490a3a241b6017007c9eb642e7a3d0ef653ee677b3c92cf12e71ec09264990b093d8806bf25885c3532761d80a5f8b7ae64bc302c62ab7a9179f5318a40076c6c6ea13d57eb79667e155e7ea71a54953bfeca7df6f75b8c46e6cc38b6795e0f439b1607eb5376d7fd3622a5e2d26259edd73b044eeef1dffc2f16fd83e6c65c3902a280158e4c15bb8aa614054f8aa144f4b6e3082015797445887b93320d7b8a25dee09cac4c18a1b80b841953f0142cb9d9cbf22bb06f315689a79e142e31c007a4729afbfa4f80c5745e35598ed92dc28b7c498af01ae5630f729ee912e5f4d98f8e6f8f4c1d06db91992c915436c12d0d0a855807de9cab2c90e92566838a69ee544ff12130b7f4f5d547e35dc1dd5e3d63b3e286942b1c5a17340d254b8aa2429ba268bbbde86c6ac46b0bf91155dbb9b539b01387310b3a94109e5218324aeb371bbca06d938ca790294f94604ad0e524c4b5b0fd0c0b06dd3bad084f185742d7c43c62c30cd20933ff104b4840216bde32afc611379ee0296097aba18da4c1cf2f4303d889d2115acaf86de01005e4d4b2a410e51ddf459f05e4cae27920fdff77576cf91bbc6e2894811ef61001fa3b52f70a72844bc58e7eb0529343b8df97f2359cdac9a9bea5eea301769390a27bda75582c8460251c142225d6a07ae5ac34dbb3d9ace2280b52fba68d6b4d79950a7d107bba78e21d19d5726d02859aa32f6091da08dbed70bf355b302831ca544cb8e9ce509fd8fee316d4d6156f0e4e8bdf6b89c09b7d4703874a3935f36a20c0432a7a30971e1d67f7f7911dd04a5566bbd20552944622356e2dc8dbacf6fe401f3b402b6aab705d9e25ba0dad7a6113635ce5f113dd8a556efadce46e55de876a07d523d292b998f3f9baa273c693d25db0d2c679368e770216bcdc8ea02c08eca5a288fad27e3c41b2cfe66b21f36f9d44d07767e620f8c28b8ab16874efbd1bb6e0113c65de9f44b94f2930fb1ea483b78c82db38bf12eb2eb28f82762a4753fc62d7dbcf7ba8fe4120a1ecf6fc904c77ccecaeda48f6936fcb9d776e6551b2e610b20f239a70af2c98cfe492fed69f462025a629215356eec9521c440173af802a79ddfc02018a6ac0665945634276f42e6de536fd3cea4dda0a864f983010c67a28e2da6886d18083fd380bd797db4a5dd787673da36d482158f83ff03c682508838c91163ff641204d07058913fc70ff6739b7d56a037ec423a64a62af949d973ece5af4f12da59d7460e2e26af7f3e247bf24b88b948ae86f95eb1597c1c617dcc73bf83807cbfaa502621118da0be66d748b299db60b6c47c7074132a5072cd7d37a6e66ee672132d173bdf7fd8d9400d25adec081661462eddd5cf98ced8d8cdfcb68c6473d4f9f305551f36bf8ab1716296a1f8d3ee1b4fde555af42310a0585a325ee3418d7b198715e500d3a64771dd59366be05bbe73665bd321f619732912fc3ef5351caf2702b53601a963b9acdfa1fcea580346127343d2bd8a74d017ef0134ac1ec9534afcfd227020ca7b83ed0bc181c811228322aff24d79355e9119dcb2aef9829d41d9c0a87b75dc407ad9724f6a37331f546220c87deac943cd5dcf42f80c88d802062b11948dc117220362077a70cbafcc789b172b8c45c99c97667e4bc4eaccd97ba07474e7591242bd882a96f4c13d20d0e4c28f5461094d75f6db83efc78715410c51262f3283452f3227e71cda4406223cd83ec7e7d7e5f03b6b4d26c0bb42e2d1c4efc771297ad5a857bf9f9c6285e1843d5396970c58e15de6ee2
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "format 3: DateKey A + release of round B",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": []
},
"release": {
"round": 1001,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_ROUND_MISMATCH",
"step": 10
},
{
"name": "format 3: chain hash changed",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[173, 64, "61626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162616261626162"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_PROFILE_MISMATCH",
"step": 8
},
{
"name": "format 3: version changed",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[4, 1, "04"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 2
},
{
"name": "format 3: flags != 0",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[5, 1, "80"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_FLAGS",
"step": 2
},
{
"name": "format 3: reserved != 0",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[7, 1, "01"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_INVALID_FLAGS",
"step": 2
},
{
"name": "format 3: payload truncated",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1562, 1, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "format 3: payload age modified",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1562, 1, "55"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "format 3: control modified",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[594, 1, "80"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 3: non-canonical dk1_ JSON",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[11, 1, "7c"],
[51, 1, "56"],
[74, 61, "4169626d56306432397961794936496d5268644756725a586c7a4f6e463161574e72626d56304f6e597849697767496e4a766457356b496a6f784d4441"],
[135, 0, "776651"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_DATEKEY_NON_CANONICAL",
"step": 4
},
{
"name": "format 3: unknown profile",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[11, 1, "76"],
[51, 1, "50"],
[100, 32, "5a585a74626d56304f6e597849697769636d3931626d51694f6a45774d444239"],
[132, 3, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_UNKNOWN_PROFILE",
"step": 4
},
{
"name": "format 3: release of another round",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 3: access_policy=time_only with time_and_key structure",
"spec": true,
"dkc": {
"base": "format3_time_and_key_portable.dkc",
"edits": [
[136, 1, "00"]
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250bdb483fba42daf0b409f44d23033f362035029737cb54ad5310734ecf20720c2d317046678323535313905582042e50b6ae3b2f00b79f08609f7fe11fba1256c54c6faa0c9ec9258b5f6f4c05906a1005820680d29962e575689a31543df28433dae7737abd9a793e9cae92ef40920d09636",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "format 3: access_policy=time_and_key with time_only structure",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[136, 1, "01"]
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "format 3: extra stanza in OUTER_TIME_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b433103000000000000790000022ca5006a646174656b6579636170010102503da4aa192170d6e6a84caf8d1b89665d037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a71414146495a363752304d31334247625a35485768446c546248667149323138663438326b456f642b72774662374a4a726a76386451316f7757523469414e730a436334444f6968746534436731683344677975767047736b7858635a386f355a545a424a645854344c6c747a666f305a314c35497a61536972495430747834670a377569683857303434705154314758654b2f38504177314e6656496a466a707932686365646e3445474c6b0a2d3e2058323535313920465761307553486b537266324838797a41544f736b45312b3171727632755a6f305a7a4455704f583341340a585270756c654d786f6663674f4c517a577454564c474f557749706c7871474e694c7065565761784b46550a2d2d2d206f753352384d4833422f6552623062464c48743573384a4358652f797a7644764c504248594e6741536c630ab2af3e0498787e0042d9ecd84c6314a307f6b54c5f3b2164df337f22f95eb5e311c57380c9f4e5c0986fe43b90902941f7f0917188bd5e85159fe533ab1d6662952c71cef3386d3bf2b2c02614386e54f39c5ee0bb89848c3515429eb668c8eab67a1505ccf2062623a11e3df604f0c58b35ae863fc9490fab7279df0f56cf96ff67adac3b9f176167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392048313955767a4e626468585030334a6566444b456349457531587a6b3470715074396d6f323530447746550a6a2f485743524d51486a7930702f735a2f5761515543673252345957456e634d59645a32637054773141340a2d2d2d20685347596d726b64796834622f4b4d6d59554e5437483375514d416e516b3172414c392f6c7231656c706f0af8f2c01cdd27022dd2e6ae36bdf9fda9fd699bdf2ab781876da91d85d513f7d69a72b0a8917b89cd1444ef46a88c692b6418e02382f9a09e5150baef99d9960f56e1961a1128ff9e423003cbaa39cc7c0292ba60fa5bb862f0f9f6127a343f475fcfe1b9e6424b8f787e46209b720eaf5c1fa6e348727cfdff9de5a7a2c82e88150c4baacf8fe00a598783d6a350e72254aaee26e287c11b10a786505dcd589b043911aac83fb83df8cb2a0f58dbcb35828564640fea476ef439f5f847e9815a61c72771eba3aed183d3e27ec49ecfc6ea17368aabdea251fea219c7bd468749bed60b035b67cc0aebf671f6515fe9680d62ad2123e579dce11ced967c9c8556e0c0033d52b61058b10103a840355aaba430ea9c018d4208db41d2b035e827f54f24a4145f20a3fd52f5a9b663b910fa200f7a429b5d3cae5afa10adafec667fcfe96860f3ae5ba637a1bd7bdf14744cd6352852584d891c2f482d02c8f8dcb8e6d14302f358d162d36a93c7503165a9d91ee8e6806eefad51b394072fc26ce796bf57afbd0b06398f69091b902e8aae141df2cd46e781f9b81c544331a900b625abdd9c7a3983e042c7aec576bc3f9f28642b4547c58d4bed07d353c91a34c771246bb2797330152307cd590c0e13a4ad1b5d195ec9fb1b6a76012ed9e081be493bcf15435cb7c2176a0da3c26f0450198da73ad45d0f0f2c8b97da13942964243b0569ac3beb1c4596c37c7d1b3ac11ace0325b7d6b77e079302cd5ae3e8038728c1369b7db1966ab9a711dec119e06d795df34cb5d75cf57758c28ede3ce49b1d7f40e36f702f9cc947876431a8e6bd9b311c42b09654183877ab416039ef82daf09526acabc24672af47a5f812e6137848b833f9c38ca97d8aa5beca4501f4a188fefebc7fe34248f6ac61406dae2627ffc2b4c471e5128dfbc6d4c81b38cdf5e42094238ea1208d199b71af183cee62fae793f86ae6794092f1d69b485e91f2c0e47b8fabac94b606be59dba3faf9e2a1b0483c45b0a044e67ede0f039e90790ec593edded1d548002acc53bea7d4bb21667eb10dfc8bcc97aa5d69e382e4ffb23756be0e73c1c064a9a322a09b934f5b3f9d658a6d0d756470f8523519"]
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 5
},
{
"name": "format 3: extra stanza in PAYLOAD_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310300000000000079000001caa5006a646174656b6579636170010102500a1312a462cba3721a98b38f2caebdd8037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a7365736c646d59457a61524b336d65586974706f466d416c6b7161797a47474e6450324f792b4c4476737a762b4748623256506d3838477175516a59535142710a424157696a4178633967443853342b59474965676b3565525745494b464f6968697a354b4e566341796258567756574d384e2f716e562f5a4344596b377150460a4466733736356e4f794b7930364733397770584c56537258704c4e4f38474d74554c783939767442786b4d0a2d2d2d2041526274565357727146304a426d31554b6846656133703157526b704478583278476b6b6f706549736d410a92885302bdf3e529de2f1be634a6fa200836efe45c7eb10107ffb6803d0205f6327d980ac5e40c5321862467a1c1c0498efa2fb48004c8a885baf7cabd99f8f9cbab470f5df64abaae8dcd53a2e6a8fbba4c043fa804dbb24b7b0b14480243a4ace428b5275eca1ff293aa96636f5db5e6c512b31f95b0b9ab0b9a6e6af8a7467b036a26e9565f6167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139204e535a4335474b4c374c6e65536f56594b4f4359444c4e7179683351724e496a4f677242504556683778590a3565494141624b4a70614741567379725578794a4c34535471484a446458565372615052754b31394a4b590a2d3e20583235353139206f4d706a4b4269656d5a47515379384172556b4e2f4a51374b536c6e2f70674749306375347a536f6b53380a504d354f654955615744734550454c49326b6131634231434c636766516f4461625535304f4d576d5243550a2d2d2d206f50777a33525a4f65397a444b6d537744434c62686a4e6d57315737545047784f3132544c7348316c75410a53a37e91cba8febd86e178a53036ce480d60732afdd8c0e99cbe80319c6e7549b00546155a2aab40300eec69003e29b19cfc1de910217ffccaa9e4861df3537a2f9182d61971bb9dc1f6d05b3a0144aebead6cd737971e912a92db37020390198b5c9777f151f6aab04790e9557e27f9e41693f4fe2d67ee1a45b000eac46449d0c6a2dee604a40f5c08343fff0dfd6fdd1c608ad4143d2ead3699471bbf02adb5a70275602e59f6b0853e204aacb1698c9ac74bc20a38f5e2e8bfa9f6149f354a3ea0db827e05c1a69ec69f910df9e48b16750368346692d0401b75c4d4fb0898e5fd6f8e630ddcf725b220476cff2404d335f2a60ac5fdfe7894463616cff08b0ec6a5c23aff660167ee3924df5c4f5156a8922f956e137d6436adc7c629576984901a367306da6569d6e4f9e24bb22f77655f97d0f755426b8511e93605120692229bce7a30d9d89a176347c515af4a1d774fd4fb226a73480e86a29ea6eba21b01f504ba78787c653edf7fb5c5b570524786c1498a5219cfd40f938a733362dee1ea11498f8877113c900fbf8355e83c862e993e51be9dcc26973ef56d11338b50ef247a37942513b2ae818db3c831cadf0ae6727270f194cdbf7a70a9cd002e45c48149ca3a73bae79c5c48e14a4398faa74bfbefd2ef6c9f9b37ef2bc0f8170534700727d6051c0f49118dfb6aa9e1ccbe075149607eee81d3fffd18ca5982b78f3997e9548a7707cb16bcf180234236b588a35abaab2331612a75417d4be4ab4bb4f64f150fae9773e1c7a715629f7457344ec064c2cc1dbaed75abefd8f888b9af52ebe506b6457d299064f164429525942f983a49a6d6282ac40cfe70e7010256e84a88e107922d4bcc8f08d9502b40936f6f6ec1efe7ed8a28d6ec3651fba404bf467af79e2fcb44aa4f52f7f0e3926149559d199c4672e16b74ea0f791d4a2914b19e53e573d3188c9e40a59f77bdf493b4e8355e6b11383da08458cae5bc3cdfaf857332e3e2eab4654d7c27414e6fc04811002b435a5464b3a8ec7aad42c02084a76194d990286c75e3fa0db45afd4a919bb98f4a76f4b0f462ec33f06037006741683413f10f61e43c443ee5daf9b80683efb51d0c4448e42c"]
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 6
},
{
"name": "format 3: non-X25519 stanza in INNER_ACCESS_AGE",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b433103000000000000790000083ea5006a646174656b657963617001010250d9b19f485bc3d438628e0ad1cdf53ce5037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004016167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a732f6b3151335056544365432f716e3576584b527937436f456b7a6a55544865424f4879393541352b5a5a7a2f63557147626836542b4a3461426241797235750a415530573270637934577356705570323339412f6e34764a36496f33752f466f49474576723159335a6a3465756b747245354844433146474f32763057586f410a51743235747147574135374a596146355434676a586249796f77525348766237535865664b73464475356f0a2d2d2d20674c314536494134746c444531675865516e44754f4a5256437631687867597679566f7653392b326f75300a38f4edc246d0b36519014a63f8766f4bb722b775b240192c16cfca363f325acd08c195765cc050146660b9f67fe60fb394602c25265406cc4e908f7a13d8ffd9d8f8a2c2514573e3b5408b19e1692d83d0a465141d87e98c29e51b0679b55a4fd363dafa43d823ae0a55db5514be6d2a3d8996c35d95f94bb74b0a23fedf8f65e9a5b5ebd3b81ed2444e9f3167f285579f905a4bad25d741182839203da9aae9ad6dc5e8bdc04505625ed90e1879132798fa2c3c41de81880e8f1414393f28aa74569b9f2d805e3c77775936010ee185748e9c833ab76f9222be7c0d0c1c3cff07075865b5924872c60e3652a8042672751ddb08aafe1aa9034e35d2a3e34c0abbaaa4a0b1fca450883061835944f78f29fce27b29f3d3cd16b304444f5e3441a7269b696fe5332268ada24eae7edd98be942703fc8b812ceed1c0e9b18a4be10f4df817c0efc413b2cc1164a795435c3658a9d85253aca90b94e3347dc2141db3b2bcbd7ee3e6767974f7c698b35e992cc2a70f6c8f7e2dcb93dcb4f67c75b474cf56621657005ad47aabed65d68ef82b7c4a66ee7d039402e6e604f38d682c3a94411d7cd04616ace6faf86737192e30f35bd73aa14527c7f1c429a483abcffaef13d971cd9e0b43f17bce7683631b6e2611077401094e0c9b3bac188b169c62af8bec5111681f1c6d5b42ba2040a41ac7f475510c8ce84c084e0493a39aedc0d3a80157c7b28f2d2e2d1a1b7a5059b2dbe74882da05e4357c79d57f6ccda06dc5c0d98aa3c9189e9d13ed4f6da0d04bc790a35eed67a92a22eabf1d327004dc8b8767d3fb0d07391c3113fb27886c87779bf3feb9b0af7880aeb64cb2dc9194dbec80411a091fa828ba776d9d9aa5b4a6e50be9bdf46e73dff63fff3b8589b1afb6deaef884466c8ed2a7c585b53e6e5abb600d59ab0916cd2fc79f207d7e39d6d9a3ac4cfb12ce240d4e6201539df1c86365593c9ef4c7ec8980eff65c153b1e691d9e0d7d8104b8c8551d9cf620cb55cd3ae878c6d35468d2cd9edc7f43cbdf9c673b76b726546de9c60ce6ee0a65d02d6e642017ef814966f5ccf698d9665985720312f5462868854857fe08c34fcdf1e52e4d30a03f31c6c5ee5de34e59334fd492e5590d2b14503ad865d3a98b92365507d337ec5131a9c523949d937c16343f0e3e9605a4e0ddf633fdaf0a812bd8088c27a0434b3219c1dfbd0fca86dfdae440baaab721b5168dbe89fa054b9701fc0233b48145e58c5fc8b62e76c549b000832326be159881f2f4aedfddcd781ab11577e945866e883885e4a6e32b1cd4708520b744252947e8df1445de8d215486addf0433f746fa5dd7cb4d5cd45614f087ee82554a1ca8f28785064c0bbfaf5a4a41080b3e2135efdeb1e2484762e1d1d802fdab17050a90aa69dfb42926246576a9ba8221ce4a0ea1132606212c99df0e3bf5832f4d5ad22ae5cc428727ed0545720f030d89aa95a2df4c3d4b3f59e11ca28d3d000dabe9a3c82bc08e30092e6c7dd79ca7d5e246c7fd63fc01013e7ab4dded20371d5604ff8af26ac663c0c01935afd1e773b927634473c4538f61d95e79199f226c10c9c4c3fa6f6284acdf3237fc5515b9d705e237ac738d62e250aa26edee42eae98b4927f59e12e30a09e59c3372ca5074e69953a5ed9694466a425f96102e0a52aaf7293064c4445bfb364e894b9347ccc04183f65579e5c485db6f5679521b9f9414839e96657dfd7bdc3a677272add3a4cfc7ad53e98b7eb9474cf5b1e1262ad74ef317907a647c1d6c166ebb76a549b8341d49a5c8c549613d857ea8e14aa60f322b2fce43f9e91c5f39fa05807ada80d041b21781d640235d49b88855f285d89ed9d5ff8fc06c7959d75b51a7aa04d79f0438e227d29d5399aab44b26598089a3cb3df40791f3bf639d246b4bf4a5865a91a58aa0a2e3f39073a04531fe8c234a0dd046c49eca1e73ac3dd13ffc0ecfa929808455afcd6c938adb9d7453acb329a5b4316d925fd41c3ed8e3eac3c5bcd3e11e33793ce2f25267c0b629f1c6b597d76585986c9174d1fbfeadfd91707aa2d24082301c62b7f65ea0b2d09ae3242926397b630241b5247f563fc18ec27ddf53d4810e53d639ebba99f59a23f2a7a831dcc1a4974309038e84b5a33b6cdd7d2f0fdcdd2bd4568610c47092751fcea9e831f986f12978861eb2eb7dfe638897036e421f19360e40139d3035ec1
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"identities": [
"AGE-SECRET-KEY-1G2PR0YP2Q6DHNQV9QPC7PFAC34AGUUU9CGJGJQCLJR3QLAUYPMGQ2LKA30"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_POLICY_STRUCTURE_MISMATCH",
"step": 12
},
{
"name": "format 3: tlock stanza round differs from DateKey.round",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310300000000000079000001caa5006a646174656b65796361700101025016def2d8ead91535dac7a89d334e5bee037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303120353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a74504169514167654d377135544156586238334c5671326b31453651576d7074515a4465493836704d417047757335316d656348526171526c324446587178350a46434347734c7173597353744a6c7857624f70556753554a46713844537844504c2f7648574f7666616377592b3058476c3778345a66644f5176534f355248490a707a4f78644145414f64793463714a554f657a4e432f4f56767a53737969477a66616d645a68426d5730730a2d2d2d2044454d304664534b38784a774764706e4a7436437a4c344a5a54745156444a5654724a38597a457779364d0a0a0c4cbd2256d768bf09d57fe35d78fbb251d6a8219589c9aaba6d54e9f775736179d9744984b17b147806896efee657d5d80a82e045b8f7dc85add82c0b4eab7a2e837255f330180c180bc4c9b4e3c6f728b47cddc454f4e65bc22a7b6a612fffd37eb32881b9c10a1dc5be9d6f051389b8d3e5b849b4d030eefadc4628f874cc09c4379c4a0f6167652d656e6372797074696f6e2e6f72672f76310a2d3e2058323535313920454572673351494639627233686f614a704677475369334162434e45507a48394e376e2f47692b6d3333510a644e2b736475626a7a6778487036424a615548644642726a715171513142612b62377a4a75393059426a770a2d2d2d2045446e6678584930596d795a3157496a4470466e5354746773314835357a4d76594e3949773437745564510a85ea43f74765b61522aa9881f1262ba5154e04a02d022abc93be1f1bf8c05b20b2a9dfa0260df75fb9b84ee1ddea634a352a6e20e18c01def36781e90229cea2bdbb0c8f028ce7d314b6eb27a25b9cad2b3a3212406eae5d34cd4638303d2e909aaffb4e4acdd26929ebb83910851bffd26a2a80d5564ede8d3034c4259e6f8d859fc333213b5b4887f8117abc94deda2d14c6be20bd45237deefb273577a2dfb3b5b6c6033efcd551e22564d1ba720cfaa8a2ed5407ac52744e4b37dbdb2b48060d94508a5c44d04dc854d34f55b386f6ca23c6208e8c1e6058cc4e016ea4ae20329a6a44ae59b23885fcad6b399d189ac635fcd2961e00b7d1a569df3f30177785c1c17c5ebb9230528b3999f1516097b381499c085fd8d21937007508609350779f4c14dc3723746660f838c71aa174df1e6de2794d05485d72a1e8e7f07b33c836c932e3a8b6ef49bb25fc50489f0874f2661b2cbc3de552ccac4cf57539e66274dfdf4e9a72f20ddecbb58a4f03c2822d823d905c0676ac770080c0b43f4a72bda7197203771bec76443df3139b71e2ea20773562cd120d8b02fae3b81cb095486696cb40daa913b782889ce96c9326384c956438dc04136890e6e6f444911fcb1013f4d61cf5c524e414684e2f70a9fa8ea990b81ffe08cd045d4de2c3e720e9e219199d47e8affdf5b794c84919df1457eb78cfb0b6ad8f597c3ef8186b163e98839f6db9de85ed85e7f7c862b3d1a11697c38db9f2a486f6f13d6633777b751b5b104aefb64dbdd34d26b871df6e9fa49876931749d72020622300a5bc80e8153988c273499b673911bebd7bea3bd61253e5adffb081679c708971600735561ab72a33979e34ca574e95f4ace3a4fd0f1a299f492650620cdfc21b421dee00557d0618f1352660f8e9913ab71e272fb957faba20da43609818cbf7811bf6c33f8e0db51357a55ca204d29a9609e8a8aeb00cdcd8ccb2ea7f411a74ff0eb70a86ddd9a05345571ad2d90cc65215f345c4106351e3f2eca1b2b372d3b4a4ca3c4598eeddb6faa53b81f5351888fc449bea795a9f6d3e987b56bf28d1a263736ede8e47fa107548bd1d9c6d1a54edbb8cd9c4137663b61417e3464c81e6"]
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_ROUND_MISMATCH",
"step": 8
},
{
"name": "format 3: tlock stanza chain hash differs from the pinned profile",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310300000000000079000001caa5006a646174656b657963617001010250837d8abe415bf5784ef7d568f2fa71cb037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774d483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303020646264353036643665663736653566333836663431633635316463623830386335626362643735343731636334656166613366346466376164346534633439330a6b7573722f534c724a4b6c5377394a554d546432323954416e4276793663553443586261346431542b592b765a4b3231414375626f6f5739506c6a65796e69680a44577551757474796e7a555a3634396378742f67737a723437364e4663593977425475746a702b38573051376153796c623879796b6a576f49643966356835440a666648652f61792f36702f3657594761356b6f6271597a715567754b38756d6476557275646558327353630a2d2d2d206c6942423152556171726966507745477a62524a346e70596c32687152725479755630596d6d68684e594d0a21f5b0bbff05805c034b30facc18f41e66bcca70d3617051a6a3e73a00483953b5572e91d644b7d74e13dc29503047628e679fada4c069c9cf9dbdd37411250dc1b0d2ba894ec4f26427f29df1eaa7012c9d2a847b1795b2b72ae8a9ae38e1e1d8d7dd014fd736cc6bcf86cc1440d2308e6abce1d26a390edbf25e1d3c1940ccfc5ad5428935d36167652d656e6372797074696f6e2e6f72672f76310a2d3e20583235353139207742567956347a5335452f6e7473744e583245416453634e7163584e466b5a783267435655695278336a340a62343938314b6638466a414b6b736a38737a364f465a626541664b756d6b73454646744c71454d67364b550a2d2d2d204353415a562f48706241363633527a754b647466454f6b58774a336a4f4f6b597277714474542b64316c730a7f9f4119fd2f288aac14b657e154c78083612255b445c06a22a9c0ca70ba8eb32dc8889163d73adc30bd6c4411f86d8ca283f065f64660bbf290e5cc0af3c2cc0bc92404cd3a10a610d683560a773b9440b7d1cb532451c8a687dd622fba24ca553e8709e8e96f23cf9d790ce0c7962970fb7b23534e8cddc6b37cb9916b0f5072a19e8fc0020ae59312d76f48e78e083ca257b1fee923adf945ca20e17d49cdc46594b8eeef922d85e079c6e1bd445e34a612ee0527634863911ca93b7522f345f048f05df9eb3c7c2f758f7a73ed1c86161cd012bddc1861a18563655bde77fff0f62eba0842592850b3671778a732b130163688cb122779d9539bb69caa81d52b46cb18d6260e0f47128d32d5c2387f117da7ff8d5942f49bc4491cb985a52b1681fc23f1adc72a06fddce88e5a59ac9328bba3a552c51641a2653ceebf8e42d154dfb25837ce05c5fbaa1cd35eda7189ac70c53c1d1527c5c366116171d9dc57b8c06a19d4c4953fc098d9adb057f2849e2301f8d5924cd61a1e2737f5fe418fa5c10f73f23df7dc66c6e8368a391042e552580fc4c305e7e907b2f9b25c4737abbff1d8c8cbf6e038cc6e3c05292e109b98a59391cf16cdf98e681b9009aa86d209720629164b8e801295bf86996ba403eb7935b79b54766a0542492fdfab6e1d4c27d12150cfde119065a5746e92bce063778676f194a9a0140433893ff276e0cb35f62deb120e67382b659d2ea8f70eb3861cc8fc49a2f4d4e66dd26c974aa24be499b3428a787f74ff57afff6d0966c9731001eb5ae54f2d3efe902dcfb53e209bb5a2bbddcd54bff3f4ba88f9862adad61d429668efd1e9a6c3bd10114e5fdac6e9162525edd5899d82a0aca82c6b4dae68babf6d7f57c33da6112458a4a5b5b682dbf6ed2dd4ac423e126ee7c1e6ea4911da9a953a1a9d336d3853fc41eba1ce6d6aa46bdfd3fae34e41ee40174ea8102570c5e036423f51077b4756c309a0ab06fe204a6d71415c666665cf0ee780d724121a6f74c55a3f5f46d4d965c29c0b6d74deaea946ec0a4a78ecbb190d73c333b1fafbfaaf67cd508d22697795fe29494c4459afa916645e7e3236888477bce915c1731c40660f0f4d13"]
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": false,
"frozen": true,
"error": "ERR_PROFILE_MISMATCH",
"step": 8
},
{
"name": "format 3: extension data of a type other than bstr",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[11, 6, "9f000001caa6"],
[137, 0, "0681a300716f72672e6578616d706c652e6c6162656c0101026c7075626c6963206c6162656c"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "format 3: empty extension data (h'')",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[11, 6, "93000001caa6"],
[137, 0, "0681a300716f72672e6578616d706c652e6c6162656c01010240"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "format 3: 65 extensions in one array",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[10, 7, "0590000001caa6"],
[137, 0, "069841a2006f6f72672e6578616d706c652e3030300101a2006f6f72672e6578616d706c652e3030310101a2006f6f72672e6578616d706c652e3030320101a2006f6f72672e6578616d706c652e3030330101a2006f6f72672e6578616d706c652e3030340101a2006f6f72672e6578616d706c652e3030350101a2006f6f72672e6578616d706c652e3030360101a2006f6f72672e6578616d706c652e3030370101a2006f6f72672e6578616d706c652e3030380101a2006f6f72672e6578616d706c652e3030390101a2006f6f72672e6578616d706c652e3031300101a2006f6f72672e6578616d706c652e3031310101a2006f6f72672e6578616d706c652e3031320101a2006f6f72672e6578616d706c652e3031330101a2006f6f72672e6578616d706c652e3031340101a2006f6f72672e6578616d706c652e3031350101a2006f6f72672e6578616d706c652e3031360101a2006f6f72672e6578616d706c652e3031370101a2006f6f72672e6578616d706c652e3031380101a2006f6f72672e6578616d706c652e3031390101a2006f6f72672e6578616d706c652e3032300101a2006f6f72672e6578616d706c652e3032310101a2006f6f72672e6578616d706c652e3032320101a2006f6f72672e6578616d706c652e3032330101a2006f6f72672e6578616d706c652e3032340101a2006f6f72672e6578616d706c652e3032350101a2006f6f72672e6578616d706c652e3032360101a2006f6f72672e6578616d706c652e3032370101a2006f6f72672e6578616d706c652e3032380101a2006f6f72672e6578616d706c652e3032390101a2006f6f72672e6578616d706c652e3033300101a2006f6f72672e6578616d706c652e3033310101a2006f6f72672e6578616d706c652e3033320101a2006f6f72672e6578616d706c652e3033330101a2006f6f72672e6578616d706c652e3033340101a2006f6f72672e6578616d706c652e3033350101a2006f6f72672e6578616d706c652e3033360101a2006f6f72672e6578616d706c652e3033370101a2006f6f72672e6578616d706c652e3033380101a2006f6f72672e6578616d706c652e3033390101a2006f6f72672e6578616d706c652e3034300101a2006f6f72672e6578616d706c652e3034310101a2006f6f72672e6578616d706c652e3034320101a2006f6f72672e6578616d706c652e3034330101a2006f6f72672e6578616d706c652e3034340101a2006f6f72672e6578616d706c652e3034350101a2006f6f72672e6578616d706c652e3034360101a2006f6f72672e6578616d706c652e3034370101a2006f6f72672e6578616d706c652e3034380101a2006f6f72672e6578616d706c652e3034390101a2006f6f72672e6578616d706c652e3035300101a2006f6f72672e6578616d706c652e3035310101a2006f6f72672e6578616d706c652e3035320101a2006f6f72672e6578616d706c652e3035330101a2006f6f72672e6578616d706c652e3035340101a2006f6f72672e6578616d706c652e3035350101a2006f6f72672e6578616d706c652e3035360101a2006f6f72672e6578616d706c652e3035370101a2006f6f72672e6578616d706c652e3035380101a2006f6f72672e6578616d706c652e3035390101a2006f6f72672e6578616d706c652e3036300101a2006f6f72672e6578616d706c652e3036310101a2006f6f72672e6578616d706c652e3036320101a2006f6f72672e6578616d706c652e3036330101a2006f6f72672e6578616d706c652e3036340101"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 4
},
{
"name": "format 3: tlock stanza U re-encoded with c0 + p",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[303, 64, "4d6151686359416d2f674f615757554a3175326259484f7876665368707976737572364c327151656a715a654b374c652b474a672b4f476d59355552544b7772"],
[416, 43, "5272496b5a574c4e495975574d3535336c347a58764a77785662327a595675794a436b2f6b304f78374f63"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 3: tlock stanza U is the point at infinity",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[238, 128, "774141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141410a414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141"],
[416, 43, "634174475343333330735a2f5777484f61692b4970722f414d6938345354424e31344f2b312f467a477a45"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 3: tlock stanza U with the infinity flag and a payload",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[238, 1, "78"],
[416, 43, "3359707a43436e62426e616e77714846326a5153654f6a453350653848734567424e4d58504e645453576b"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 3: tlock stanza body of 127 bytes",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[15, 1, "c9"],
[409, 48, "410a2d2d2d202b78684c412b647945726a4f596f62376e5a304f67657773744e565a3471736d6b6b6763595463487a30"],
[457, 1, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 3: tlock stanza body of 129 bytes",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[15, 1, "cb"],
[411, 48, "410a2d2d2d20654f44547a4736304e483948744c4237324441694946466876536a444d5976434957714359324c6f5638"],
[459, 0, "45"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 11
},
{
"name": "format 3: release signature re-encoded with x + p",
"spec": true,
"dkc": {
"edits": [
[0, 0, "444b43310300000000000079000001caa5006a646174656b6579636170010102506134b00a1f901953021415cdee365c49037853646b315f65794a325a584a7a61573975496a6f784c434a755a58523362334a72496a6f695a4746305a57746c65584d3663585670593274755a585136646a45694c434a79623356755a4349364d5441774e483004006167652d656e6372797074696f6e2e6f72672f76310a2d3e20746c6f636b203130303420353264623962613730653063633066366561663738303364643037343437613166353437373733356664336636363137393262613934363030633834653937310a727a746d76584d307a7565617641524c37694a37476f7035316e6c644b476d3947744f71692f38776a61484a7377745430646d614e786a6c47736465485334560a423637794930394869345971684f736f4a6b417a2b633733764f384b683965386b556b64313231376135455478683232736e755567465146617950326b634f6e0a784e6f62357041354e75776f327878727273536a4c6165344b6b5a44666d546f5173667056642b765a68670a2d2d2d2044356a504a7248736767334c325932775a5856314a6a2f6a56775a4e7977655438656b456d5358356e6f410a04b046fa2e58e5a8012a6ceff391ea637141bf95db84bd0aaaf2dae8bcd99f5d70da5046a634f04465dc361c7fe63319209d46403ba708462bb7354e3c127f5f4b8abe4f77ca45dd66ea0058a36e8d55bae72caf62fa5f6232641e62dfacee39a79f23a229b85635db11c81c7e9a9c447a7f958fdda799adaaab45575927566ddceae641baed356167652d656e6372797074696f6e2e6f72672f76310a2d3e205832353531392078397639774d4250655931546f52345257615a6946722f44443559777a5367345a2f564c465a75736142380a2f7443514e6938523675766a3539546c37634866567358326d61773135674c392b4a38562f6c64516e316b0a2d2d2d203530444d56734a622f4b645932316b685a664e35642f786e3163706d4450725065584c4e576777304e484d0acb6f57f1ec0b54db35082d87ccbd466336d796528922903e1eb86b2f61b526422428962340dde526abdd1fc8c495918f7c77191b4937c1075b0c7fc282d788c9d1c7b272cab145f003e7451e4afd18b396be653ba5665929956003aff7913ff1901fa6ae33a1ed4edf626bdc6dad9c1f8163f7fce923992ce33c568abdac4cc3db0c7d816ae5877397dae42a2552a7bdc6c42294315170d75ef50064c78e8f1b2894da1602dd16ee7520256c87e468a7b4bb007da73854b7f32262e67a54fb1028960c6413fe29b897ce490223561db29eba201394af3e147af704ccdc3f803dc86a8455467f2fe279b6a72c795805fc58f77d02ff557d1cea753883f557631019558892f4261cd016df24704738ec767b266e09c812ba9ba18f5884a10e89930eda2de958fd6d9a6ab6c37d9f0d881d2cc62e30ff12ce597c83172f51461775b8ae92e06172154937dd6a4d3754de38a0db1f9c52e3fb36791c20d652e33ceef30b42e1c13160f139dc83bdb0ce3c6b959c2c7d15e2f12a17ff8cbc95d8bd7395c913cb51800785d76891c8481975ce33e549dfe280de1e16ff350298026fd38dc70f8ba5992b6cc7e437e3f3ad7688e83ded869b55da612632c3c4a68ed1140cbe23065e39fcc7d13d0f133bd2be0084b19eb806f365770550147a7193165d67f283fd713365cc2a635b729cce755fc79d1aa89b1eb93e1caedb181c4672c4e752c329a72751cf581c341acb78d22b30bc0f0304660f4575cc5ed7d42b88399cc9c1dbfbdf77c23a95c0f72dad0e8e833e7f636559c6c49f7365928fbc38c8a785b2dcb213051b156cb1bc9c5fabc3371cd4fcfd8376c2ccbec7c1d055b1ddc81bd0084a1a307c6f8cc58943b7c8c5cf19b0cd68b4786b87d3214813c4d0b1a35315da0f4b765e3ecf519ea67432372dfd16d8937bac7037bcbe4a36f0b043e8315f109eda586832a7582d9f5ab6524a1098aab0735549cb811b906c3863ffb08e23d6c0fabc861a9c5ff07cd61a8ecf5e5c779cca440346e8b848d6b5eb53bb539113747d82c07fa5262a6360546310ac449dcb1c45e16dcea2719a96e61d7f9c8142e304e490884ee434138fd329816e558ea2873d0f46094467e767dc0f"]
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1004,
"signature": "be076aa25a40df5b4d22f9f7bcedaff30dcac20d94556107b8e652c7b54b2a440ce796f9fa53ad28023c84b40a580f55"
},
"now": "2024-08-23T15:09:27Z",
"registry": "default",
"network": true,
"frozen": true,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 3: release signature is the point at infinity",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 3: release signature with the infinity flag and a payload",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "d44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 3: release signature negated",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": []
},
"release": {
"round": 1000,
"signature": "944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 3: negated release signature and U re-encoded with c0 + p",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[303, 64, "4d6151686359416d2f674f615757554a3175326259484f7876665368707976737572364c327151656a715a654b374c652b474a672b4f476d59355552544b7772"],
[416, 43, "5272496b5a574c4e495975574d3535336c347a58764a77785662327a595675794a436b2f6b304f78374f63"]
]
},
"release": {
"round": 1000,
"signature": "944679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_RELEASE_INVALID",
"step": 10
},
{
"name": "format 3 time_only relabeled format 2",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[4, 1, "02"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 14
},
{
"name": "AREA_LEN 0",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[781, 1, "60"],
[1547, 16, "0e7b699ff03465154ab884554c7521eb"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "AREA_LEN 511",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[781, 2, "6107"],
[1547, 16, "11de7e89c7381a8835af4fd3c301b50d"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "AREA_LEN 513",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[782, 1, "f9"],
[1547, 16, "923a3fc2536742ecd9faba3017fe9b1e"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "AREA_LEN 66048",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[780, 1, "85"],
[1547, 16, "1d1eff28283a2b515d8c3eb9a90ceaa0"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "SECURITY_LEN 0",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[786, 1, "a3"],
[1547, 16, "6aa4a70020cb3b7d6ceddabe54eb09c2"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "SECURITY_LEN 513, larger than AREA_LEN",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[785, 2, "a5a2"],
[1547, 16, "6b794e809f0b665a09bbfde7c4a8d3e6"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "HEAD_LEN 0",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[790, 1, "b9"],
[1547, 16, "e74aa70659c537e6ae84b8d35213d3ca"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "HEAD_LEN 2^24 + 1",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[787, 4, "6e1f0db8"],
[1547, 16, "0758b8663319b8196ad57e6c865ccdbd"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "12 + AREA_LEN + HEAD_LEN = L + 1",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[790, 1, "31"],
[1547, 16, "9d2d1c486f5fffd2a0e92755d1fe7ab5"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "L \u003c 12: 11",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[575, 20, "6dda8c2ebe78dcad444f9e3f035bccb0f804905f"],
[790, 23, "b9e68be55a8ce70633c01029070ba951ba9f20cb6dfa1d"],
[1035, 16, "0407d9577dc7dbfc066dd4e95c350422"],
[1051, 512, ""]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "a byte of the area not zero",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1302, 1, "a7"],
[1547, 16, "83277cf7b483cbf2e30a194abcd69489"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "head of version 2",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1320, 1, "c7"],
[1547, 16, "24ab7d4091dd239b4747064ba45a5ea8"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 17
},
{
"name": "head of another type tag",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1318, 1, "da"],
[1547, 16, "5d65346cdadabe720d238754b71bc700"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 17
},
{
"name": "head with a byte more within HEAD_LEN",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "458c2ed630a93baac2248b4af35b4f67d18c2e"],
[790, 1, "cb"],
[1416, 23, "a77044c81f0334c1ae3d12ae95bf912fa55fa15ac8e226"],
[1547, 16, "6f4a754f9340f32131be4a6bb599b939"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 17
},
{
"name": "paths b and a, in that order",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "628c2e6abf142176591038e4b59d14cad3d25f"],
[790, 1, "28"],
[1357, 113, "dc71d99ae1ac41235a5e5922e9501e3d6d67e87c67f88e6b824800d775bd3bd9cf554efb82ba951700c3b02c853159e8d021785d21a77ec9214dbf4488efe6e6df4cb047a2834669bc087be38281dac357bff6db37116943b4027db89d610957639f3227ba7f84c79b99b366db5a168992"],
[1547, 16, "badec288bbbcd42507e88a68d1b58d3f"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 17
},
{
"name": "paths b/.. and a, in that order",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "678c2eef415cf0aa35c6f48b38a0363c9f862a"],
[790, 1, "2d"],
[1357, 116, "dc71d99fe182790f5b4b4d26b266473c2065f8d04141a3210de223bd6c6f19612a9b77342813d8b8911c704fca1d79dda1e5793c42b07ddd331689a3600b47cee7123c214563140b2779c6ab95e419098dc8dee431c4d6ae7fa150a24a5820186b9b6127ba2c85ce9b8cbe35ca5f0ac6fcbb294e"],
[1547, 16, "f8db3ddefe83414abd8add3f0202fe0d"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 17
},
{
"name": "path of 1025 bytes",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[575, 20, "6b5f8c2ee837777ad9430ca7b0981ad8e2c9c4b0"],
[789, 2, "09d5"],
[1360, 203, "8287ac360e3b722e09d05f224b6117c0927f2703779c2171ed4b506d118983f13cb0e251c48796ed86d10e9dc7d06f1872429e1cf0443afe885904c551427fc5f23858efdfb29e3eeb4def5f88ad03db50c3a71314879549df9322095866d5206cbe708084dac6b33adb111888f9fb666b6a887192fb71616dd84b38b02b3ab6948ebb7fa46b17eae433b9fcabc832bc3b67ae1091ace50be781343b4a0f5f8fa2a3311f1543b92de16d889513c2142cc4d45246ee1dd9a44f9d0913c4ae4bdc97a4d2b7196f7d7468b715"],
[1563, 0, "cce78535808ac393c4607496ada67915a0f9df39fb043ad56250cef0ba53bd42fab07bea9bb433de8f46b36e2be92a3b402e1fb569841f6455e797d636f2c81d857f739a113a7f99869c22ca6de3e0fe5d9ce5b5e1210816e76ba783aec793d9d09f474e9bba29bbfee45844a5ed93a7be1e2de4594b3fceaefaaa8ca2dc25e0d30577c48e39ddc4233aa436eb853d04e1f4c6777efc2455e8ff9d9818a735e9933d1f1c7eb95dd3d28c51aa59291dbe24e494cfc69a83bb1f50148290ae8d78a8ffb50bcbad5257a1eff31f09f5536565e387a6194e467e2336d1c87699e065d29a0ebba16c1a4d64aa11372edc73eed55d6332ade82add049b40973519c156f6a9aa8de3f4682a64602104390906ac7f5f9814628ca7dcccc568f029837869b279f136d0db7ee1703b9fe0c79c4fc2cda7684f81686c02fc75a833d2a9bae90a65f8a8a23979a98da19eb51fb8525e7e5edcdcf7947b4ece0680a399bdb492c90e55b965a669110d8b997184b7b1006b06a938f39a5678dd53e2bfe74bc96122a1031dac6f18e2fbf1911550eee469729bd87a13dda432f7ebdb077fda4b9c4a39adec1ca83fb6c5f9add6b63a792053dc563b5a5a9496491d0247fcda57be735dcd6a604f4d8d741f8817bc2b3ab4f18ed87553ccde68c7f866d6eb308cfa44af38a45a15251012f51d1be965935f12400795a7f73c3cc9658552cb76a727c3b8a894a79d04c2a83ab1bca563028825455bcaec62a62ae0679a3a7a81ec371ad7363491d3bc4e7e353a1fa2ba52a9b4e06b23bbdf33fd79c03b0e27afabf272dc80aa3596cc70227f5e95605975e840a0b67ad5cca82ce5f559f13efd25525188ef4f3937a077dafdec36ce2d915b3227a0b61329116b4cc2309effbf71e1814738768cf61a8d20248c677ba1327acd2b0f1077bf3138d67421298956c22dd86332771138c4cdf48063d20309e14c5f9ff3120f1f5c5afb6e8e04bd24eb2abe1f0b756ae54151d9c5289da19dd90553fe84ecbeedcd3b4ddae128a25adf57e03cbe04af4546acccf59f00be9cbf1f6f9c7ca9b442f1412c87bc1756192e70cceae77dae2365dd3bd7b3c1271bc12312a55f79cd6eb2a4fa5e3554cf52c5e5d51499a9cc142c7030b62f07b30956af7c0a78be3f1ddf6bb0ce01d19037979df8c1c41c9e90c394c1b789f9e3f5899a5853b77fd61991ce09a3f01f516f224c5871c4751669f311338a3f8e164fb11697d3651bb9e3d0c3d39ea41e6ed7cbfc14fd67a3fa0c1916f17cc8a07e05b5fb52f27c061148af47cceafa4794ba37f2dba4bd55af13eb582531171f6d61a81b6ec53be3804b5c95ca2c375aa4602c653ece97742fccc36f20016ac4d3a7cf1b3a65779aa17b6423c3cabade4f44248d1140b5142898169ed8bb8933627708fa928d0bfae86499f9a5545a5e69d557e5"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_NON_CANONICAL_CBOR",
"step": 17
},
{
"name": "path ..",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "5c8c2e6abc8b5bd0ea02bce7e5cdeb0d462e06"],
[790, 1, "d2"],
[1360, 78, "99ad835637585d4c30b52863395955fef4df7192b4ce7156d23f20ce090f8b69cd399e474e1a5ff6953514ecedab2ac5a4e3f912b34435fbc24b4fc15e463c84ad3804ef94bc9f55c42cc03ea7cc"],
[1547, 16, "08aeb56ea43ee3d109e9dba78a01f846"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path /a",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "5c8c2e6abc8b5bd0ea02bce7e5cdeb0d462e06"],
[790, 1, "d2"],
[1360, 78, "99accc5637585d4c30b52863395955fef4df7192b4ce7156d23f20ce090f8b69cd399e474e1a5ff6953514ecedab2ac5a4e3f912b34435fbc24b4fc15e463c84ad3804ef94bc9f55c42cc03ea7cc"],
[1547, 16, "e658224eaced5002b1570c08c84364d0"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "paths A.txt and a.txt",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "6a8c2e74c320d3fdeccc328a20084b1ae658d7"],
[790, 1, "20"],
[1357, 121, "dc71d99ec28323592e5c5924b17355605818fce473572b9984fefcf155391c2bb76ea7f4f634ee03b5ce2955565bc06d8450dc5d46d053ab5d619ea73a3da7682708843ee9b3cc682fad4b5ed734f63ea3959e580cc9965f7d2964546794730f5542140bb033808bdf8ca171df1e1ccbb8a466376ac37f9390"],
[1547, 16, "ea335643eca779e48dcb03641e2ccb76"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "paths ab and a, U+200C, b",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "698c2eef42dfdc8c5a757335d33a44d0236848"],
[790, 1, "2f"],
[1357, 118, "dc71d999e2cf5637585d4c30b52863395955fef4df7192b4ce7156d23f20ce090f8b69cd399e474e1a5ff6953514ec4db12518bfa33d1fde251789a42e2ffc5ec0e0609fc18b92e4494aab0cb5af8783eb82fb9bc613e177422fb1eb8a5fd0224f952d22ff3b84d8df8cf270d61e09c6ebb5632b25ad"],
[1547, 16, "10f450c1498c5ac761ef57248baf32fa"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path CON.txt",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "438c2ed62f264fc89d750ca158c141d34cab10"],
[790, 1, "c9"],
[1360, 78, "9cc0e2190f2e253b27a7724367163cf99d43510f07b4cf6932c64c7378f8b9cfd1e62a17123851dfde15dd1a928dc54c4d26ab1763dcd5d7c8544a841a4623c0b87912e2d0a3d02ca548af10adcc"],
[1547, 16, "144f8b910fa221ecde7bf850712865d8"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path CON.txt in full-width forms",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "498c2edb32af146e0c83889d28916a8fda4f6a"],
[790, 1, "cf"],
[1360, 83, "966c11f4cee6f2a09a1f5e371c7439b7bf1e0b745ca52e4d9b472045ff915c7c20ae8b20feb97bbb4e97d82200e237dca1c5cb415a10059abd52975dbe6b3fc8bc7913eb83b7d47fa140e04ec6bf4dde108c82"],
[1547, 16, "34876e09d8254e37d0143f2951a25cbd"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path ABCDEF~1",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1361, 8, "c2ef14651f1b3117"],
[1547, 16, "c5a8b5f82723403bc00ebcbf583c5327"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path with U+202E",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "458c2ed630a93baac2248b4af35b4f67d18c2e"],
[790, 1, "cb"],
[1360, 79, "92e24fd78f38733b5ec5715566003bb7b946283f0190515903538fe00d97ea80068e0f070cc1405241e3565914573a45d816a178c54fa966677044c81f0334c1ae3d12ae95bf912fa55fa15ac8e226"],
[1547, 16, "bce91df939b5778cd233e1dba70365ab"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path .datekeys-x",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "478c2edb312c288ce7d309f48df65cfb556e4c"],
[790, 1, "cd"],
[1360, 81, "90adc936553f362a5fc25d3b65163aa1be080c3a78a0577d9d63be75ce049fef55c1d86f29d15eab506ec9af9f14bc9f271f3448cf200ff51bc1ebec114f3184b93c04ea95f3d433e45ca14dc6a8439475"],
[1547, 16, "f0ed94acc6218f9de2ebe6ade9a0f8c0"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "comment with U+202E",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "4b8c2edb3332015031320747c32b78235f3188"],
[790, 1, "c1"],
[1303, 1, "03"],
[1356, 89, "d03bb53b7b2dcf52a0fc5d2748de04224a7440d5bc080a625beb0a48e277266161a16de9e33dfe4fadf6acd36b87c6db116fa82a2a864d9ba51990aab73d31cec2da90ecb23516ae94b6c23ba10ca55287bc4dc91ec6e75c31"],
[1547, 16, "c31f0d95fb578d3440e26030140083cc"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path a.",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "5c8c2e6abc8b5bd0ea02bce7e5cdeb0d462e06"],
[790, 1, "d2"],
[1360, 78, "99e2835637585d4c30b52863395955fef4df7192b4ce7156d23f20ce090f8b69cd399e474e1a5ff6953514ecedab2ac5a4e3f912b34435fbc24b4fc15e463c84ad3804ef94bc9f55c42cc03ea7cc"],
[1547, 16, "518175e072e0515779cdf8fa88d0948a"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "paths A and a/b",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "648c2e6fc0970d587ebfb68d5038225e58b47d"],
[790, 1, "2a"],
[1357, 115, "dc71d99ac2ac41235a5e5922e9501e3d6d67e87c67f88e6b824800d775bd3bd9cf554efb82ba951700c3b02c853159e8d221563f22b17fc926039bff18c814ba61c858c14ded75041b28307d08e790e6284821ecee2ce7a2fdc27a48a745071b66da2526ac3b848bde85f265db4d18c3f7fa0d"],
[1547, 16, "3591b9289ad15a88635ffef7cbcf465d"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "65536 implicit folders",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[574, 21, "20fafc8c2edabadee2e6bfa46e749ff116fec042dc"],
[779, 784, "d98b8aa925ccb69f6aec7ae1e55c2d0efe2cfc247dc2d181c5355ad80a379da355a32027d48e72e08c15a45897f48f3bc1171525299e000d5ce7a53d06d416ba00b28b43b3fefdc5851a15acab81d49662b2352844f16105fc895c54be95f314962e143e32d20c014de44e0f4e78bfcb543e49b9f08622dc01c9ce19af91a37fdce120cdae66762e1346b1638d05f2768042090e31e9b11de5656f1d7bad5a2cf1e18cc6e513718565991bb4be36ee332fe301f941cb6787265bd4d8be8b63bba676bf764b6fa3e49085c5c47441b1dd1be8a1184dbaea72821907e02401539953c586034e4bfca618f6474de91ff74ebf65731209004f5a800f149b39371f276d854e530e5b153b76f8fd46a715cac907e73d6624ca8eca05b649f1dd35d412875e42d101e50dd0ab8f5ff91cb8f9beb8cef2b04bdc260b1b07e735c32f2ccd3c6ac6c553dc1e5458a119791e351efa40579e6f526b97f2b48e654bd0acc6d67a9084820852b59cdc89b6baa8703eab7a7cd68a7edc4f181b5d485b9138a05fbb7c6ad38cabb8b62ffcd4764b550c017dcaa59885ee65ff1b7b5cac241b22e6e688a084b8c140339b52d9293b9193458078dca0169d98805227b322d80546a67e54ae80d737940e9f36ae8525d1b458b25843edc7f8a453c560046917d6c4ee7ee52c546b6287af72580ed8fb75f7c24f7988c610465dc7f88c578b14521b5b831e02e34697a44aa86fdc1ace5386bfd2857896cb41cf2d13d3d73a8ea775730292f918c337cb31c7628df82c9beb0002531bf880c2104e0ad93e9f66b80777c5c84ee92a8c4bddbe0044d7839445562769870a7952df19d2f91a8f7d1780d58a1669d9486b329b3b4bf41625ffda0f012bf0f09f1ccc90a8bc95a2c0c1e452ad693f2e2adae832cfcb1676a7fbfdcebe18420644eb53370b26b7f674efef40639ef0532d7d21743947e9e5b9d572e92d491a6f1311bf0a5086b6ad409f076e189c5b25790412e778a4a50e96582c4384b11a2a7e741ff26bf2e7ff94bc929821a21762d8055edd47e6bbd845da512a631cc7917cfa643eadd619b95603ac7eb389e35ab0b9fda4f8157d64ce38112d"],
[1563, 0, "a9daef49219f101de2b18e382eaf8785a5be681467f78c32e6905d5e2c9bb096f4a87010e5608303c243cc57027bca9773f453949b8f662e21957967dd686046eacaf88fbb2da20a2bbc4e41a06e7c19ab8dfa5ebe6291ae8a07beb08d2a1ca4c57b8626fc8a1dcaabb7367f4596843ae4bd5a1a1dcfc41b189ff13b2186e9de7050018cc724f8d5cc008afe16b0e2ec51eb38119862e0966d2ca84ea32173f3ce8e327521c87b4567c98a16787f7bef471026dd19e1dfe2561a2268b082ba094c047ef3768d3cf0c08944c62fb3f2ef793b77f54036605658e2093383a2bc5619d38565313fbdeef7d7c406713a3f5f65f449c8dfc890931519ed0d7ee0b9caaa12a7e8313799bc61ef96eaf9ac3f5278b12789e4ab064fe61a4ebc9e5db52cafb31aea86f9a064e652a0007181799db963056b6d899ecaee7a000a69e27db41d08e641ad7c645bd6b12e7100958b6740d0cd4b512130745157df198d1d5674cc544cce0d4763b2b21cfecaf1092306ab6e9accc470aee61e168a0a90933bece368258834ca311d13ea933fc64176f26706f74eff404886429c7ea1a33f4a9b3b994f08f29a1f74ac4c54ef108c27771cf4a71a88b8ea85617275de7d3075d16da47a93a39af79e594de4931e0d5ec3914f562cb3ce8e5a64165a2bd57ba469b6b5dba4155baa42b0d35af2b47ee344a84942cdc5e108fa6f4f301ac94a11bae9f488122e4f3f12a22a2cfd897fe65d08bebf206eb727477a4cf45d642e2b68eebca3b16d7a9106cd240e3816fe00442f775747053575a950d0f235425ea740a9c10a7a7306049f5b98c669442d3bdea9a62643779a49b84aaf3104d5556690c8df6af6f13aa6b8a9719689e3a27ba3beac8b1769b786804ad3dc793c0fb3ad5e485e96304aaf7835553eb367e6edc37d5e475fc280c5ad7508a0337b96277a283679cd93f62bec17e8161c1186fab6460d5a1a63acf11820c259f904814992823103b69a979ba26c2e34d22b0e4bf47c3a10e2909a60ed843491f2aba9f84687d874db6db1e2cc6178c10d4ce7fd42299a01cbd2372e27595be398a80cbccff005a8684f4f86159181f21dabc56c34da3e3b002e6d64ba546c955f80fd89e37dc36c4e5f05376139d58403e4ade3cc8ba306acfc8ff5dcaf3b76265bebf7f8fea9298747583c4561f1bbec405720090ee6258f14d321d54abe67290f49ec5c8bc12fcfaf581c4165f8a00fdd110c1f51dd50fdf0f6d7b5100ad3b99fc487a91257c503cf8830a9589f4a9ad5a853a65f892700ad4969d0c4123165b855c1b45e2f6f44506e7e87ca684979a60cc62fd00b5714df24a766a62893422ba74ea26b9c1d32916500fec98df28a5cb999b7cde3ab018cf28415a2830bb9fb9ae85c6127dc6d1ca3794eed23fc27a896b2c40cd03e881ca23333e518d0650578ef3977163da18bea808c4837b50ea2aeb90e1224d35ef4609b00d194179e0def9390b8aec2f588f02eff356bbedf355eae605f211d488a3eba182163d583f0310bb1b3b5f3a87691d83df8e866533d58d99a18922ee9604ee41688ee8ce4ad3a0d3a4180e20ac06d6220f3b0275b410d424cb32b303f51c85ecedd538be097e7561267b03d237c42034ce0135933d583d0f13eeee082a2bb701387f53c71587c9121713e8f8cc96082c905d12d1c56c2c0996f7d659449a47e7dbedaea9408303d9c4f0c9cb351ac9f089837349a5d916b26ca89094c03750e27fa263794052f2cb452ce7259ed3b2a1b2f9266fcbfa4a2ea236e978659a94ff2dfff0983a318b70ba40fabcfeaf509a4c6b20f467e9be49a314baf60b07b6cade8348abda1232db64d3e15f9c33be7b393e12b3eb4051c3e708b8680571969a36015cd245cc12e88426b78e9413ef619cf108450e4532281a72527e3db5c746461001f17c5600a5c769d9be63416656c06cf8e942218d171d10051f4388de0e642900286fa2bb391d2f48d4743fbc4953298a2193cc4b25a2ddcdeff8ff62b32d00c114902d16455a2e68351c2f62e24eef1a13a69029afc2602cbcd0435094ca7f705a633c800ec97c0b8c15863f6c4d1a47d1e57ae5b619462c8ac3f5030ff8854e6e8ae67467f7b581fb4a50dc390e7758945e03614254eb823e16ff55cdb52eb295020d5b04dfc8f904769fbc7bfb57c87cf2b5d135205ddb1e6e4a235050f13c7f3bbf0fea937567e19853f636b9826d003afe7f3eb6ba4a1fe0aa07d02633e4cffb564e1527fc987f405dfc21079ee73cb828cfe4cd3c938e8c072928e6dd30c3a3b94473350702ba4db9a83399dd360095cb67b89745b322819e13605289a94bb022df1a0c398d8d37f6440f32d865f5ddefbe5d00bba4c9eb4f25a35e2dc9a6cc5db15bd7ea6989b5cd58cd4ccfe4ae55432902b0324f15707dab90fa2ccfda6c2e3f0284ee9457b331f0035bac5b24e590771edd3fa32ad3abb7da49b734554ca56d46633eb5280ef943de0500228eab8825cce74f531fc92a856b69dc7fc823a92f6c57b7227cc2999a187441f51dc43a215ea5249e6d7f8cf747f719b4a2e1698a642e94bd3cea068b14dadb1b7c20c23ef4db93101aba75d7c6e75fe5ec65b0a4dd0818042875943d0b4b69f7aa6ab9458ef53bae686cb28194e650f0ecc6181844ae34bd165b546c7e8c1d6f09444ea6e7d02d306bd56d88eb0504defd044328e2b4b72f1e5a395a48157a1aef160bbe3ff888b08e8f123eb3eb01433661634e0fe1e63c6d66b4f2e9e04474b9de63ac8fbfbac04ea93c67706b3246cbffd0f16316cf4a30b04843930ecbe6c91c21f9339065bf2c6311a9d5b2b39d41b7a70a111cfc15f20b3c9104776d7c65b8ca730cf7cb8850e96
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "declared author with LF",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "4e8c2e60b5f6e3a2e8384545ab938c01a60335"],
[790, 1, "c4"],
[1303, 1, "03"],
[1356, 94, "d73495b79a89e194922a38352330d6430c6e57d5dc307c1a2cfc1812c229690866c8f1c97e8e84f1921655bfd6f631e9b773779e7ada6f958c52b063414217214b3355beb7e58e4eb8bcdd3ee448a54dc3a90cdf1382f8134887de47def8"],
[1547, 16, "191833edc33401512aa3a574645c353a"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "start of the first entry not 0",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1372, 3, "65032f"],
[1547, 16, "2b3e70b9e9128f6d4e36774fd3eb4e75"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "end - start not size",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1374, 1, "2d"],
[1547, 16, "5b378380ae42cd55ecf5c884576a1084"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path a followed by VS16",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "5e8c2e6abd0e48b20fb23a918068f9a1ca0f24"],
[790, 1, "d4"],
[1360, 78, "9fe242efae5b4b4d26b266473c2065f8d04141a3210de223bd6c6f19612a9b77342813d8b8911c704fca1d79dda14563379f48bd974a79fe875c4ed71a4670c1b17907ef83b2d530ea26c03ea7cc"],
[1547, 16, "2b45360d3ea41c8e93642cc720b0d8e4"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path with two ZWJ in a row",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1361, 8, "e24fd7acb8ddc244"],
[1547, 16, "600cf553b447875fc5a67a1a93b69b92"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "comment with the tag U+E0041",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "4c8c2e5bb473f7c0c389c69b10f97e6d212217"],
[790, 1, "c2"],
[1303, 1, "03"],
[1356, 92, "d0369cb697e25ef7a0db58ce80b1182d0b74598fc9667c634eff0e13d42e272c63b1c1cf5a10b4c007d5c6cab9a57e3edf56678083cbe20a7ad9f3e59bbd1eb47b393a1824993fe19cb2913ba15fa45b87a9409a0fc3fb135f899422"],
[1547, 16, "b2431862112dcfcb1e093cbc5cbc6877"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "comment with the variation selector VS17",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "4c8c2e5bb473f7c0c389c69b10f97e6d212217"],
[790, 1, "c2"],
[1303, 1, "03"],
[1356, 92, "d036244663035ef7a5da58ce80b1182d0b74598fc9667c634eff0e13d42e272c63b1c1cf5a10b4c007d5c6cab9a57e3edf56678083cbe20a7ad9f3e59bbd1eb47b393a1824993fe19cb2913ba15fa45b87a9409a0fc3fb135f899422"],
[1547, 16, "245758832a316f67807d887140105ae4"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "start of an entry not the end of the one before",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "628c2e6abf142176591038e4b59d14cad3d25f"],
[790, 1, "28"],
[1357, 113, "dc71d99ae2ac5c235a5e4422e950acf34bb9636639aaaf2b7d3d0e82feaaeb54872756ae0daa54d1165983b4ddd459e8d022785621bd7ec8214dbf48af6025bcf87706102af7bdee93658a2346afb56171f0dd1b98789234fbd7ddb89d610957639f3227ba7f84c79b99b366db5a168992"],
[1547, 16, "63323ac9840e883e8b34330d265bd35d"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "end of the last file not C",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1370, 5, "654164032d"],
[1547, 16, "605b52ce964d3cc730559ec9d70517d4"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "a byte of a file changed",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[1416, 1, "ee"],
[1547, 16, "9a5f0b6854201aa920a20da65af2cf1b"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "path .. and a padding byte not zero",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[576, 19, "5c8c2e6abc8b5bd0ea02bce7e5cdeb0d462e06"],
[790, 1, "d2"],
[1360, 78, "99ad835637585d4c30b52863395955fef4df7192b4ce7156d23f20ce090f8b69cd399e474e1a5ff6953514ecedab2ac5a4e3f912b34435fbc24b4fc15e463c84ad3804ef94bc9f55c42cc03ea7cc"],
[1546, 17, "2708f4c808466d6fdf78eefba7fd30ec71"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEAD_INVALID",
"step": 17
},
{
"name": "path .. and the next STREAM chunk corrupt",
"spec": true,
"dkc": {
"base": "format3_tree.dkc",
"edits": [
[1358, 1, "2b"],
[1406, 26, "b2530de02226048b42042bfd246f7b537924806f283a8717576c"],
[66315, 16, "401e446ca7dd8e355a937ec755ba5502"],
[66431, 1, "e5"]
]
},
"release": {
"round": 1001,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:27Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "path .. and a cut right after its chunk",
"spec": true,
"dkc": {
"base": "format3_tree.dkc",
"edits": [
[1358, 1, "2b"],
[1406, 26, "b2530de02226048b42042bfd246f7b537924806f283a8717576c"],
[66315, 16, "401e446ca7dd8e355a937ec755ba5502"],
[66331, 20496, ""]
]
},
"release": {
"round": 1001,
"signature": "b33bf3667cbd5a82de3a24b4e0e9fe5513cc1a0e840368c6e31f5fcfa79bea03f73896b25883abf2853d10337fb8fa41"
},
"now": "2023-08-23T15:59:27Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_INTEGRITY",
"step": 17
},
{
"name": "security of version 2 opens with the verdict X",
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[812, 1, "1f"],
[1547, 16, "e7c6c4199c2d44d32f2ae14f7672fb98"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "X",
"seal": "X",
"lines": [
"No se han podido comprobar la firma ni el sello: trátala como no firmada y sin fecha probada."
]
}
},
{
"name": "a signature of alg 4294967295 opens with the verdict F1",
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[786, 6, "256f1f0dc845"],
[813, 112, "20d7c80e99276f0d6767c0ffe2047e36a800f14138362cf668c59ca29a1a1f162ade4fb9b820db3648268570b6070dbcaa0cd7e8ed3fff0b3f50e46a5a5caa7482df632e59283d406d7be4db6165ac2d6a49110f439275e7680f0120893b727b82bb8619c4115411d05a7feb5f9e09e5"],
[1547, 16, "e68dbdf94498d76dd170fa3bfbbe344f"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F1",
"seal": "S0",
"lines": [
"No se ha comprobado ninguna firma: trátala como no firmada."
]
}
},
{
"name": "a signature of alg 1 that does not verify opens with the verdict F2",
"spec": true,
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"dkc": {
"base": "format3_single.dkc",
"edits": [
[786, 6, "216f1f0dc845"],
[813, 108, "20d7cc0e993c91aab889d0b6d3047e36a800f14138362cf668c59ca29a1a1f162ade4fb9b820db364835cc21852777deaa0cd7e8ed3fff0b3f50e46a5a5caa7482df632e59283d406d7be4db6165ac2d6a49110f439275e7680f0120893b727b82bb8619c4115411d05a7feb"],
[1547, 16, "cf30e8d64e74222c7df80666b05eade7"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F2",
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"seal": "S0",
"lines": [
"La firma no corresponde a este contenido."
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
}
},
{
"name": "a seal of seal_type 4294967295 opens with the verdict S1",
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
"spec": true,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[786, 6, "e06f1f0dc845"],
[813, 45, "21d78f0f99276f0d6767c0ffe2265c148a22d3631a140ed44ae7be80b8383d3408fc6d9b9a02f9146a04a75294"],
[1547, 16, "8731c709cc638cee980df229ab30e569"]
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F0",
"seal": "S1",
"lines": [
"Sin firma de autor.",
"Lleva un sello de tiempo que esta versión no sabe comprobar: aquí no prueba nada."
]
}
},
{
"name": "the signature of alg 1 altered opens with the verdict F2",
"spec": true,
"dkc": {
"base": "format3_signed.dkc",
"edits": [
[867, 1, "b2"],
[35595, 16, "c3fd532dd5a51df534f11289765b71cb"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F2",
"seal": "S0",
"lines": [
"La firma no corresponde a este contenido."
]
}
},
{
"name": "the signature of alg 1 removed opens with the verdict F0",
"spec": true,
"dkc": {
"base": "format3_signed.dkc",
"edits": [
[786, 6, "5f714ecf7f7d"],
[813, 108, "45e7568b60c4234cbfaa510a7a716891a089ede67b438fc5ee3a170425910e84ab50afcecd4905b01cce51ffc86f71a2562eec34a94226e2ec508c8276f021f0d8655e5e731d8c00ab12bd7b407fe32e2901a9a5818eaeaf9454d8fad6d4c0e6c5826a4dffc3d51914104c46"],
[35595, 16, "76c5c411252762afa3787ff884f80678"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F0",
"seal": "S0",
"lines": [
"Sin firma de autor."
]
}
},
{
"name": "the signature of alg 1 made again with another key opens with the verdict F4 of that key",
"spec": true,
"dkc": {
"base": "format3_signed.dkc",
"edits": [
[822, 98, "2d41715eb4c045f6fe99b11c7ce00dc0aa3b4bd986f4e2e3e93952e571d3dc2ccc09bf65b50c2d1018affcf73b6ab29ba74d5764ea45e9816ed9581db69c95731a233908e879ee91019df577aa7ced8c2b90fa49bcc77051d6e3a0318d539e41912e"],
[35595, 16, "2f07443d5eb70a88c96e9414bb757fee"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F4",
"seal": "S0",
"lines": [
"Firmado con la clave dkauthor1sug8kfx94r29vam52ann7m7g96gzcnluzlaxvj9ej6wzswxkdscq9nxk89. No prueba quién la tiene."
]
}
},
{
"name": "the signature of alg 1 transplanted to another capsule opens with the verdict F2",
"spec": true,
"dkc": {
"base": "format3_unsigned.dkc",
"edits": [
[786, 6, "8a7c6cd4ca3b"],
[813, 108, "6f815f8214c83aad66a057570616cd6f9aea8cb7ad32238a8a6297d53476c1728208f53c3ba99ad68fc013c307e5dd10b100a72938bd75e6c6b17154d6068b81d4aa569260d496a94f2693ad0053ee322bfa26ef03f28f940a3edd1596b0f26c1aec6cd3998c0797b5ab658c"],
[35595, 16, "60083fba2123edec5ad00eed5c170759"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F2",
"seal": "S0",
"lines": [
"La firma no corresponde a este contenido."
]
}
},
{
"name": "a key of 31 bytes in a signature of alg 1 opens with the verdict F1",
"spec": true,
"dkc": {
"base": "format3_signed.dkc",
"edits": [
[786, 1, "c8"],
[815, 7, "3e2860c52214a0"],
[853, 68, "1e96119046917c588cd677c3bbd7309d61dc480b7b1065eaefc733410e1693561c8efebf417782cf3e430ce69a89858edd59926dbb1d3fde98b44e6db86e99a082374746"],
[35595, 16, "f193a72da1dcb9b65be07b3717212273"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F1",
"seal": "S0",
"lines": [
"No se ha comprobado ninguna firma: trátala como no firmada."
]
}
},
{
"name": "a signature of 65 bytes of alg 1 opens with the verdict F1",
"spec": true,
"dkc": {
"base": "format3_signed.dkc",
"edits": [
[786, 1, "ca"],
[815, 1, "3c"],
[856, 1, "be"],
[35595, 16, "547f05ee603ecf3cbe3faff4289299dc"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F1",
"seal": "S0",
"lines": [
"No se ha comprobado ninguna firma: trátala como no firmada."
]
}
},
{
"name": "the area widened to 64 KiB after signing opens with the verdict F4 and the same AUTHOR_MESSAGE",
"spec": true,
"dkc": {
"base": "format3_signed.dkc",
"edits": [
[574, 21, "691bbfdaa29b819a0f6e2a898089b5095f781eeb73"],
[779, 34832, "70ee85e79e0293d03123cf0b9c1185821fb3b08eb376f1ef41c322319b5c473acc990fa4d9cd933be8cea9a7be3e0716484965b07704832e8919545821d463e402e865326f3b26f4a3f8dc8fd71324b241d8a2608152182ca450d7c6345dbd72dff03fcbec14a4c81fc5af685df46194e0efdd5ca21a814c98bb52eb16c60baa3ab48ac22dbb6fd58c70fe2e158e850a6e5f82b4f680fe0c557395b10a0529cf4401202068768579f0575fe42828f771f6957a58bacfdb8140303da128a526dcf518bfbf66290ea4ef441af89f973b8ef27f5dd48e294215591f10703f013662c7111a91e173ed55a22d80aa0dcd7389f8e60c401ac590d09bdf0510cbc2fcd276aa4cf3b7497ea12a4badf7d59e9faa565516bfa6047053501ac810375910a08c1fa98aa85a0f9f663fb314928c1eb0438a7536a0630b1c420443f902a4bd573a56df4ee05a166f802df797f73f482837ca7f91ec2d2a0e2beac338a3cc7d0f779796b0b08c27e9a80169d460749929ef2536736ee7525eaef0cf582224340a7b42013d43acf955ebea68527c6e759a348e9731b942c7e18170eec6ef6bcb091296edad1fe19796d6b0a65d117faa4358b522b3b57a5545e2b408596021c5fd3d16597a8eb3ac45b9a25f059d5975e5f793eec267b13a735c50f740377f14756be38d6fe2d3fd85e1b13793e0e619899f0f8d0f40c4e8a53d669ffe52b465241dadb1a95a595ab3143d29495e8bf619bbe2e1a4627abd8f4c5cf9e09c14e0d54c8727d0f85479ee110e3f701e6f4b6dbf070e5a0c84deefffe238dfaf8cee794b4cc3d2a3da02043cc5428e9c2e48829530f540c7563315ff5f7b215303b3671ecb117551d9a13f055eea85871b0dcf9a137e5695e0cf61a862d9fc764c00135719e92d838a5a9d9ced63e4fc5345a954170ae8b035e9b1ec64207e8ef6d2a4a42c2b2fef0afc06ecffdecb7678a4375623760f25065172ae46d312d030d57379e64042f63bce59b6564b2a4423f8832e9a5aa2e8639e491cb0ecf98d94a7633bd44f0239de84dfd365e87a3da798daecb30fef6a618088e429e27c4254a1c9863e68699dcde7b43cba2acf1cb040551a72fa5b3ab5b6d040803b9d56415897a03653870e43f0ecfa18cb03a67fabe5a4a9ae331c8de81d120844cef687ac23d5195ae1850564d3cf468f20ab33d1df6482edbf133020c55d04c1e012e1187ce3ec7cbf202923180d58d71ef00f0e4c235ff4e1e2f12420d9c7d8db8711387d3f5f94b6149e4bca3326b37c36b786d2c1ec55f735a87310a3f8cb56110d0f281d7256fa9f86d579ba8b8d77b65caf0dc52588ca8e5c687ff549f93cad2802120d79e1ced3e0f724a0f77399fd63745210c266f95f26b1a2e3a53af0ea7185d39c5ec28add0afb0c127c8c73b84624febdc1d8f196db518f09a5740fb8a90a4ee15a2d0ccd76f5f306eaa43bdefcddbaf165916c1fb90dd58590935e70acd47a3d2e99bf9ee50bf3159a66d26957302b2456670927be92498847d6631cda8c212d62d20850bb0efcb2d16dc47cc300b417d3a405fb292e29704c4ee6c009deccafb3bf162fc3f6e5eefd1c08e0fe031c24c17216137af5cc99d3ebf214501c0cdde3e24940ee41f88248c18c986bcf92369a455190ff6f2f332609e222f34d0afbe40a991f8dfc92f3dc8d117cdb7f16cb2f35b0f73b9a25e7bb56366aeec92e9a39aa151ef5688bcc6f4552f9512aa83fab706414d322818557c9f8a11c51b06b3777800c6a2afbc7321365c47778e3f60ba1ed1c0c99d4b65a7ee3dd00bfd8ccdadf6b5ae4a821fdf9b610e60c6726990839911d77127eebc890d9cf5d36b1c8a8b2788a36a416daadc5c7be36272de446c6055182d7138f104298899878e9ec3f76076ab31032454da22a87055983d43b3f900b8640c255ce3fc26b1d9fe44a2c63fa2d96c759f1fdb077f7bef8ed0a99e8e0e7991240fc97e60d9f22d2491e180283128c0b5d8e13bb75867f243c6a772d108f6ac408c6989e79557005711067a1d46484ee380fa076852b31aae41d4592d0c2bf7a6284c10b75820606415343578758fff6c15fe6d2bbfe31057b01fa4c7592f14fca718ed3c6e39f709c46b325b0dc7389e5b1d828b212443937dec19ebb6a8367c53bc02c9c2ed34d85f27754c5c9289fb4b7dcb4a118a67628c7227fe041b4cb5f0c3bd1c66fd095c79f3a821b3e93ab676401cfe4126d67d43a979650e4312f60e004ee17424f315e674f259e84e18af85109968c2299769ee9e9e0f2bb77df570b8e16970fc081bdd4e86c8c9c2a96db2364a380dbdaf8c55cf09fd98c34cb40b4f190482ccdc2bb1eddae666354ac7a04eca927cc963903c7e5d81fee81904fd5071ecdc03be5d30c7f8d0ba4fc2a4d3c4bf5a0cf955df866018d7ca71683f9a2a9646814e404ef425a8ccca25f19e2a88a45ae347dcf716ec7098ce4654e15bc5827b281598ff5e9e1f64fbe48019b0b05c4fcbc109905acc7216024f3260c59fd11351dafed6c6d563c0879b0cb1f622c87e2541c614895da5fcbbff99890831824e73927c8924043d633b30c8a13ba9a73dffdb06a894e61a3364e97a68137abd3382968c4d8001f98d8bc0211ddef2a8e331d56f242df192b28d7ac7831c2e02792450b0987d043f8496503d266053e0362cac274883392b824f472ba3580334ec279ded969cb3fbb8c6dfec7c4d6424b60893cb8a9f221c7b75f407bce3184e12cb46a1dac0f73df6ebf33c32518e2a2e195bccb5c2de61b4188b0cf10e3746c2a380d3e2a7647a0d47f499b493e32f5a9ea6d85e00c0bbcedbaddfcf2a66fd24e66e7c73c98ab04702b6f05ad20bf3b6f1f4767d5ffd97c7
[35611, 0, "a4c54366ad21e64907c5f6ca7cd225d5ff123075b3ed15a2e795ed1807e505193cbad1ccd8a91e6365fadd55a832dee676dc6034803b63548e82524387cdef313e59a153318aa8194eeb0a04e6b487172fb4594913719febebf8544fea7d1524f859b785d74c8c660386ed7fde940156e706571e1000306d1139514e13eec9364568fa0cac6790365d24bb9bf68e0b7e1adf466585cabe16399230566d228f899ce71931830de346cf3983c0c6430d8a4257b82a9b02c547615315de5a4f715fa9a464c6e955fc0f28a505c6d6a7e118c5cce073a087ef50e505b26f47dc8fde2d2442f4d8104f5137908e8ba7a87eea6bc4475e13aaf97f8a0502a536f5b4eeb1270a66e387c36b78e35eb7c64a54883f218140b7b7af2f58839784140a6dbd53d8c8f2643fb66980364a516b1958c7b1b17994c495b4da6178ac89511acd9feb48e34a193437c1b9c03e7abf956535f95d1bf3acf3bf6cfbcfce42bcbce08c8847812d3ddc1d467dcbb9ed050ad6190484fce3b5acd0a1d945c09777738e287e49ddee63f0f87840749054efdd0d6d882f9f1bea5a36fdc7d8778c7193af9ae6e9ce4665c1e5314dc2b6ad62a18f071886c8512fa603c72afb4b758bf9e3174639420be0e85ce77a4df1acc77ba379968cf5dec6227e9d199c836de4800c9503d780f9131706744cd66da280c9fa0a2584084868a9bcf80fbac4d48a8274271d6298945ff7c6ea37b5b3b42d1e41f2baeedcf11e07a34d552109e4a947e8688876e9f2237e166016fb9126d094fd9b6e32ed029c482c652a96618b34ed26bcf27bf3f5c6b0d1d9e74dc895b214f81baabf602b3d04a608f42c5d4c3631bb8187076fd92712ba897de2cf8217ea0a946d668faa07d8bb851c66b005fc72709d122059e389035c42df4117542923c4fa4e8acd6bcadefcf80cda56bd4229bcd5011379a3ddc0c14d7fa582a7f097c70c596bc580b42fafa96ee689bf608b8e7f980c6d07287bf0f37cf685e1ebe48473664d1a9c704c869fc5e8702b3ddfc8c0401ac40dc4eb99c318e7da06854264d6594c2b3471b392762a63a55d900615468784c11bbffb09248067e5fbe4228ab13ab6bab6066b20c2ac752ef790104eb86c259b751664fd6bd686358c8066f594d7b6ee2f2d7db9570026b2b48a02063165329fffd1345da2a19800df185e8c22518658d9074efb09a9138db12fc2a825dfe1a06b2a8a468d84a2e8a32d1b86eeafd1006e1a7eaebd70795e6f8f1db64e55795db550bf79e2e3e0f9c53a4d4534dd1bf97b000ed43ddbd41472cfeb540bc0cf03429bfac55dab41eb11b1598bcadf20ba48cfc9db53d280c1c938fcf2fe2b3fc67da4766ef6b26efd02e57e2e3cdf215c3adf0158ae140bbc0d3dad69a69cdec4b1f4170bfa2c1cb26b8ae0296d65b408a18793a2b92155574da3e060c5aa9c1311384389bbe21d120adc37e19912ab0ef90b7b7add852562c0778c5c2c833229d71b4abbcb53fdb6501d7014e211afb6b31839d3637fce91cbd5fe24bc515f8228df23adbf61f9d13fe11f5d8c6507167d2e3eee306d8d3b85cd12b97d49c970f9ea54c6e0260a7f8ca85288c124cd255ffb7c1739a98956388c1cda9d14c2bfc8d2b1ae87556799e56ff63a3226f6f1959a0a261b746c0f32f1111b8e0b4c74ecf5a75b010bd0783b8859ebaaa0abe00c859c06937bbf9893dc877d8437f47ce80c41964c58d063990d56c581f5acf4e48b0b9291c618e0787c57dc6f9c82cedb4834dd3a185c1e2dcf68b8d9a44b83c2dc1ed880df2e24f2d8243fc285047aa39f4b0a21f16c5321b4bb8584d6b145576e3c51b0f306ea703082adf766f7ff583492aac76a139d034384b8d1f0faf1059ea19e35bb2d69f12fb19a4c87f36ea33ff8f6bd4d328b84e2b5258db3b2cf4d5873585f38a8cf86490e3d0dcc56ba3573287b365e49475cd9810f3c381d0520f3cf3b77971f1c0de5a4201c9e67e8a14942c596803c965d5b6a6365d66139a274a321ee246bfca425dc6bac092f37746d2574f7691b6ef9911188bf08ab631b20b92d2539920ddb7dea4902061fd3dca4d12b3a9e05a786f0084609389d1c6cf6a4bafd5485bc98153eb40c42e5d1885f942b84b8d990c9bc2ba5d0016fa8faaee4edf926a088976761c92837c9a8b9559911608c4778879ea74c7b4028e7a9f894e1451c7e3c66f7154443634a142b32dd1bcc1631885cba25e5fbeea308fc1da0692f258bf5e8a52a0e2153946368bae2eb99ec2df3fbc4a3c8d63dd1c001cd885c03adee97a92639e590e53309e64e257515e16ee0a460f24dd61d39b8a987f5489f7c5d068f9cbbd26646722b34d00598a6c74673e97e66bbe9c9dc7782b268aad1c2747d4985dc2b4fa092e51d51729156de7bc4280bc504743d46bfe6c78d37c071d9b4fe5775509a7ea873a176585a98aa4dc5bf4ddaf880a582cf82d6d4065f1d4c164212eddd87a7fe1e934568c517a13eda4024224222334b78d4c841893a0aa29687aa483c13df709322c934a2a6be5d5aa7ea22c90816144bd25ade8ccff2878d339532f0844cdc220e65458da290ad9f02e35a1580ab5cd246c2377df7c0316d2463ca6fa7e209069bea675f317e074805247cdc373fe54022752bb683f9f27ecb1be6abc3f3e4f0c2480e3d63c51d799f9e4d99cec3b0d0aac478fcc47e318ba6033190031c157d883c6de90c3b5e240c057874da8b432a96187fa87984932806e4456307f277799aa49b2176d1f08f8de3aac44ee28ce83bad021643408681d46381d31ea65f4385d1dc0f06c0cbc6549eb189194d592637212091fedfb552d2bae2c7a634b87bfc677e887510f5e63f46720acf82234ee4e
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ok",
"step": 0,
"verdicts": {
"signature": "F4",
"seal": "S0",
"lines": [
"Firmado con la clave dkauthor1jtf6s2c7ywr6scx40jhye32sj82rjp8a6cj7f54jsh36rd96vaqqcg54xg. No prueba quién la tiene."
]
}
},
{
"name": "the public note changed in PUBLIC_HEADER",
"spec": true,
"dkc": {
"base": "format3_note.dkc",
"edits": [
[184, 1, "6e"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_HEADER_BINDING",
"step": 15
},
Format 3, step 6d: the mutations of format 3 The mutation corpus of spec 64 gains format 3: 209 cases, 169 of the spec. - The 33 mutations of the first two lists on format3_single and format3_time_and_key_portable, named "format 3: ...", with a sibling written by EncryptFiles and built capsules that hold a BODY. - The list of format 3, 47 cases: one for each value of a line with several (AREA_LEN 0, 511, 513 and 66048; SECURITY_LEN 0 and 513; HEAD_LEN 0 and 2^24 + 1), and the three that open without a code, with the verdicts X, F1 and S1. VERSION 4 is "format 3: version changed", as in format 2. Each seals BODY again with FK_PAYLOAD and the nonce of its fixture, and the control with the new L when L changes; the two that need a head followed by another STREAM chunk derive from format3_tree, whose comment takes the bytes the path loses so that only the head and its chunk change. - Further cases: format 3 relabeled 1, and time_and_key relabeled 2 with the identity and with the .dkk. - A mutation may expect the capsule to open with its verdicts; the exported case records them, with the result ok at step 0. - Splice gives an edit for each run of changed bytes, runs closer than 16 bytes merged, and one more for what one side has beyond the other: a head sealed again changes its bytes and the tag of its chunk, 64 KiB apart. Earlier cases are written with more edits and give the same capsules. The corpus is 706 KB, 476 KB of them the capsule of 65536 implicit folders, whose head is 235 KB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 week ago
{
"name": "format 3 time_only relabeled format 1",
"spec": false,
"dkc": {
"base": "format3_single.dkc",
"edits": [
[4, 1, "01"]
]
},
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 14
},
{
"name": "format 3 time_and_key relabeled format 2, with the identity",
"spec": false,
"dkc": {
"base": "format3_time_and_key_portable.dkc",
"edits": [
[4, 1, "02"]
]
},
"identities": [
"AGE-SECRET-KEY-1GTJSK6HRKTCQK70SSCYL0LS3LWSJ2MZ5CMA2PJ0VJFVTTAH5CPVSYGJ20R"
],
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": true,
"frozen": false,
"error": "ERR_UNSUPPORTED_VERSION",
"step": 14
},
{
"name": "format 3 time_and_key relabeled format 2, with the .dkk",
"spec": false,
"dkc": {
"base": "format3_time_and_key_portable.dkc",
"edits": [
[4, 1, "02"]
]
},
"dkk": "444b4b31010000000000008ca70073646174656b6579732d6163636573732d6b657901010250bdb483fba42daf0b409f44d23033f362035029737cb54ad5310734ecf20720c2d317046678323535313905582042e50b6ae3b2f00b79f08609f7fe11fba1256c54c6faa0c9ec9258b5f6f4c05906a1005820680d29962e575689a31543df28433dae7737abd9a793e9cae92ef40920d09636",
"release": {
"round": 1000,
"signature": "b44679b9a59af2ec876b1a6b1ad52ea9b1615fc3982b19576350f93447cb1125e342b73a8dd2bacbe47e4b6b63ed5e39"
},
"now": "2023-08-23T15:59:24Z",
"registry": "default",
"network": false,
"frozen": false,
"error": "ERR_ACCESS_INVALID",
"step": 9
}
]
}

Powered by TurnKey Linux.