From 799cae9c5be5bd204f1f87ca2c9c2c4876262f32 Mon Sep 17 00:00:00 2001 From: Justin Chu Date: Sun, 30 Aug 2026 10:18:33 -0700 Subject: [PATCH 1/2] Pin evidence JSON files to LF Preserve byte-identical raw evidence hashes across Windows and POSIX checkouts by assigning LF normalization only to JSON evidence paths. Add an effective-attribute regression covering nested evidence, binary exclusions, and the known LF/CRLF trace digests. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Justin Chu --- .gitattributes | 1 + .../gguf/_draft_runtime_evidence_test.py | 85 +++++++++++++++++-- 2 files changed, 79 insertions(+), 7 deletions(-) diff --git a/.gitattributes b/.gitattributes index a55ca8a1b..1d6b51fff 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,4 @@ tests/data/gguf_gemma4_tokenizer_oracle.json text eol=lf tests/data/gguf_gemma4_qualification_inputs.tar.xz binary tests/data/gguf_tokenizer_artifact_evidence.json text eol=lf tests/data/gguf_tokenizer_artifact_inputs.tar.xz binary +testdata/evidence/**/*.json text eol=lf diff --git a/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py b/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py index ed4ccf7d6..5b02fbc5e 100644 --- a/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py +++ b/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py @@ -6,27 +6,98 @@ import hashlib import json import re +import subprocess from pathlib import Path +_REPO_ROOT = Path(__file__).parents[4] +_EVIDENCE_DIR = _REPO_ROOT / "testdata" / "evidence" + def _evidence() -> dict: - path = ( - Path(__file__).parents[4] - / "testdata" - / "evidence" - / "gguf_draft_runtime_evidence.json" - ) + path = _EVIDENCE_DIR / "gguf_draft_runtime_evidence.json" return json.loads(path.read_text(encoding="utf-8")) def _independent_trace(record: dict) -> dict: metadata = record["independent_direct_ort_trace"] - path = Path(__file__).parents[4] / "testdata" / "evidence" / metadata["filename"] + path = _EVIDENCE_DIR / metadata["filename"] payload = path.read_bytes() assert hashlib.sha256(payload).hexdigest() == metadata["sha256"] return json.loads(payload) +def _effective_git_attributes( + paths: list[Path], *, global_attributes: Path +) -> dict[str, dict[str, str]]: + relative_paths = [path.relative_to(_REPO_ROOT).as_posix() for path in paths] + result = subprocess.run( + [ + "git", + "-c", + f"core.attributesFile={global_attributes}", + "check-attr", + "-z", + "text", + "eol", + "--", + *relative_paths, + ], + cwd=_REPO_ROOT, + check=True, + capture_output=True, + ) + fields = result.stdout.decode("utf-8").split("\0") + assert fields[-1] == "" + attributes: dict[str, dict[str, str]] = {} + for path, attribute, value in zip(fields[0::3], fields[1::3], fields[2::3]): + attributes.setdefault(path, {})[attribute] = value + return attributes + + +def test_evidence_json_files_are_lf_normalized_for_raw_hashes(tmp_path: Path) -> None: + global_attributes = tmp_path / "global-attributes" + global_attributes.touch() + evidence_json = sorted(_EVIDENCE_DIR.rglob("*.json")) + future_binary = _EVIDENCE_DIR / "future-evidence.bin" + attributes = _effective_git_attributes( + [*evidence_json, future_binary], + global_attributes=global_attributes, + ) + + for path in evidence_json: + relative_path = path.relative_to(_REPO_ROOT).as_posix() + assert attributes[relative_path] == {"text": "set", "eol": "lf"} + assert attributes[future_binary.relative_to(_REPO_ROOT).as_posix()] == { + "text": "unspecified", + "eol": "unspecified", + } + + expected_crlf_sha256 = { + "gguf_dflash_independent_ort_trace.json": ( + "647dfdca436f832ce6662e9131bacc59803f74a7b9c957b09dd4e32d52df7224" + ), + "gguf_eagle3_independent_ort_trace.json": ( + "180056770131135ebef3e23bda7800693a0f891cbffc1b662ec9105e836a2a73" + ), + } + traces = { + record["independent_direct_ort_trace"]["filename"]: record[ + "independent_direct_ort_trace" + ] + for record in _evidence()["routes"] + } + assert traces.keys() == expected_crlf_sha256.keys() + for filename, metadata in traces.items(): + payload = (_EVIDENCE_DIR / filename).read_bytes() + assert b"\n" in payload + assert b"\r\n" not in payload + assert hashlib.sha256(payload).hexdigest() == metadata["sha256"] + crlf_payload = payload.replace(b"\n", b"\r\n") + crlf_sha256 = hashlib.sha256(crlf_payload).hexdigest() + assert crlf_sha256 == expected_crlf_sha256[filename] + assert crlf_sha256 != metadata["sha256"] + + def test_draft_runtime_evidence_is_bounded_immutable_and_complete() -> None: evidence = _evidence() policy = evidence["policy"] From f6dd7e180f3a45ba449d38576385fffe9e52665b Mon Sep 17 00:00:00 2001 From: Justin Chu Date: Sun, 30 Aug 2026 10:30:03 -0700 Subject: [PATCH 2/2] Refresh LF-pinned evidence traces Force new trace blobs so existing Windows worktrees refresh the evidence under the LF attribute contract. Preserve parsed JSON semantics, update exact byte hashes, and validate attributes in an isolated repository without global or system attribute influence. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Justin Chu --- .../gguf/_draft_runtime_evidence_test.py | 66 +++++++++++++------ .../gguf_dflash_independent_ort_trace.json | 1 + .../evidence/gguf_draft_runtime_evidence.json | 4 +- .../gguf_eagle3_independent_ort_trace.json | 1 + 4 files changed, 50 insertions(+), 22 deletions(-) diff --git a/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py b/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py index 5b02fbc5e..42f5ae20b 100644 --- a/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py +++ b/src/mobius/integrations/gguf/_draft_runtime_evidence_test.py @@ -5,7 +5,9 @@ import hashlib import json +import os import re +import shutil import subprocess from pathlib import Path @@ -27,9 +29,10 @@ def _independent_trace(record: dict) -> dict: def _effective_git_attributes( - paths: list[Path], *, global_attributes: Path + repository: Path, paths: list[str], *, global_attributes: Path ) -> dict[str, dict[str, str]]: - relative_paths = [path.relative_to(_REPO_ROOT).as_posix() for path in paths] + environment = os.environ.copy() + environment["GIT_ATTR_NOSYSTEM"] = "1" result = subprocess.run( [ "git", @@ -40,45 +43,61 @@ def _effective_git_attributes( "text", "eol", "--", - *relative_paths, + *paths, ], - cwd=_REPO_ROOT, + cwd=repository, check=True, capture_output=True, + env=environment, ) fields = result.stdout.decode("utf-8").split("\0") - assert fields[-1] == "" + assert fields.pop() == "" + assert len(fields) % 3 == 0 attributes: dict[str, dict[str, str]] = {} - for path, attribute, value in zip(fields[0::3], fields[1::3], fields[2::3]): + for path, attribute, value in zip(fields[0::3], fields[1::3], fields[2::3], strict=True): attributes.setdefault(path, {})[attribute] = value return attributes def test_evidence_json_files_are_lf_normalized_for_raw_hashes(tmp_path: Path) -> None: + isolated_repo = tmp_path / "repository" + isolated_repo.mkdir() + subprocess.run(["git", "init", "--quiet"], cwd=isolated_repo, check=True) + shutil.copyfile(_REPO_ROOT / ".gitattributes", isolated_repo / ".gitattributes") + global_attributes = tmp_path / "global-attributes" global_attributes.touch() - evidence_json = sorted(_EVIDENCE_DIR.rglob("*.json")) - future_binary = _EVIDENCE_DIR / "future-evidence.bin" + evidence_json = sorted( + path.relative_to(_REPO_ROOT).as_posix() for path in _EVIDENCE_DIR.rglob("*.json") + ) + assert any(path.startswith("testdata/evidence/causal-lm/") for path in evidence_json) + future_binary = "testdata/evidence/future-evidence.bin" + for relative_path in [*evidence_json, future_binary]: + path = isolated_repo / relative_path + path.parent.mkdir(parents=True, exist_ok=True) + path.touch() attributes = _effective_git_attributes( + isolated_repo, [*evidence_json, future_binary], global_attributes=global_attributes, ) - for path in evidence_json: - relative_path = path.relative_to(_REPO_ROOT).as_posix() + for relative_path in evidence_json: assert attributes[relative_path] == {"text": "set", "eol": "lf"} - assert attributes[future_binary.relative_to(_REPO_ROOT).as_posix()] == { + assert attributes[future_binary] == { "text": "unspecified", "eol": "unspecified", } - expected_crlf_sha256 = { - "gguf_dflash_independent_ort_trace.json": ( - "647dfdca436f832ce6662e9131bacc59803f74a7b9c957b09dd4e32d52df7224" - ), - "gguf_eagle3_independent_ort_trace.json": ( - "180056770131135ebef3e23bda7800693a0f891cbffc1b662ec9105e836a2a73" - ), + expected_trace_hashes = { + "gguf_dflash_independent_ort_trace.json": { + "crlf": "e0e70e909f33ed44aa87da39bab721ebbee0c3e730e2f89dbc509c6683701e42", + "semantic": "ea1f1414d5bc28c2b7776fa66f2a3b4bc72eeda2b38ecaa8d1ca3f8f8bfe8fcf", + }, + "gguf_eagle3_independent_ort_trace.json": { + "crlf": "78aa94f24d5f1b9ae020de1ffa5a70c6a30f30ff45eb5310a540cdd2b3d8fab2", + "semantic": "4dbd07a42b89f2067deb1eb249ce8f06ccb973cd700724592f3892deaf78a5db", + }, } traces = { record["independent_direct_ort_trace"]["filename"]: record[ @@ -86,15 +105,22 @@ def test_evidence_json_files_are_lf_normalized_for_raw_hashes(tmp_path: Path) -> ] for record in _evidence()["routes"] } - assert traces.keys() == expected_crlf_sha256.keys() + assert traces.keys() == expected_trace_hashes.keys() for filename, metadata in traces.items(): payload = (_EVIDENCE_DIR / filename).read_bytes() assert b"\n" in payload assert b"\r\n" not in payload assert hashlib.sha256(payload).hexdigest() == metadata["sha256"] + semantic_payload = json.dumps( + json.loads(payload), sort_keys=True, separators=(",", ":") + ).encode() + assert ( + hashlib.sha256(semantic_payload).hexdigest() + == expected_trace_hashes[filename]["semantic"] + ) crlf_payload = payload.replace(b"\n", b"\r\n") crlf_sha256 = hashlib.sha256(crlf_payload).hexdigest() - assert crlf_sha256 == expected_crlf_sha256[filename] + assert crlf_sha256 == expected_trace_hashes[filename]["crlf"] assert crlf_sha256 != metadata["sha256"] diff --git a/testdata/evidence/gguf_dflash_independent_ort_trace.json b/testdata/evidence/gguf_dflash_independent_ort_trace.json index bf42e00a1..b2966dd06 100644 --- a/testdata/evidence/gguf_dflash_independent_ort_trace.json +++ b/testdata/evidence/gguf_dflash_independent_ort_trace.json @@ -1 +1,2 @@ + {"counters":{"rounds":5,"proposed":75,"accepted":18,"multi_token_rounds":3,"rejections":5},"final_draft_cache":{"length":28,"sha256":"f605ea72eeaad1ef074a36551390d3aa14b93159e03b15483e4358b719cc6456"},"final_target_cache":{"length":47,"sha256":"0107c259dfd716ad347b6d6f5ee6a5a590111bf627172aa96a91ac082edb4467"},"generated_tokens_sha256":"78c55f7b34e9a14f4c02850a631ed9f85e0a155f25901b5d99db36f1755b7a35","reorder":{"supported":false,"reason":"reference coordinator is batch-size 1"},"rounds":[{"proposal_ids":[9665,397,1067,366,3215,1339,1339,1004,366,3215,3215,3215,3215,3215,262],"proposal_tokens":[9665,397,1067,366,3215,1339,1339,1004,366,3215,3215,3215,3215,3215,262],"proposal_logits_sha256":"7d4394456101a75eac8208a09bd4d9394021c43b622c5bbac5775ff91198de09","posterior_tokens":[9665,397,970,366,3215,397,970,970,3974,271,4159,4159,29,3215,3215,737],"accepted_prefix":2,"correction_token":970,"target":{"before_length":16,"before_sha256":"5e7df359df34adde23fa09f2eb47d892025c83721563aebd080b4ad9a6b6aa90","tentative_length":32,"tentative_sha256":"ef2539592e67a1bca8d82e695c2e507dcded79b443bb1ae1c09e0914597a7997","committed_length":19,"committed_sha256":"569fa3bd3ee7f69974bc68dd7b8e80b848872933ed391813f4909a8652809c68","replay_length":19,"replay_sha256":"844f3a07602a104a1e2af6700fdd5c833378861326aa94dab3f48daf920f7404","replay_max_abs":0.38140740990638733,"replay_logits_sha256":"8c37b3902528b3c48c9ff007b97c6671d2e546eb84d48cf70d3054e8ab96947f","replay_tokens":[9665,397,970],"replay_tokens_match":true},"draft":{"before_length":0,"before_sha256":"2256da259b2ba5263517c15404741b28f4ad539e981103e75a09120017c4a8aa","tentative_length":32,"tentative_sha256":"89e21cd47e81c23f6b0b0e6773c54ed531520482d6914ad16a5ee3f8e8fe5fec","committed_length":16,"committed_sha256":"1ccaa4079c3ff0d1784e21bb1ed701a90addb4cb4123b1a7838108656c1ee144","replay_length":16,"replay_sha256":"1ccaa4079c3ff0d1784e21bb1ed701a90addb4cb4123b1a7838108656c1ee144","replay_max_abs":0.0}},{"proposal_ids":[4473,19688,1339,1004,4473,1548,1548,2890,11,526,3347,10303,12995,2890,2890],"proposal_tokens":[4473,19688,1339,1004,4473,1548,1548,2890,11,526,3347,10303,12995,2890,2890],"proposal_logits_sha256":"100711fefb9b6633de2581544dda1044d5930c2eefb5878e5ae85a92b7000818","posterior_tokens":[4473,1460,401,1004,3974,1460,2890,9,11,526,3347,11,11,526,11,11],"accepted_prefix":1,"correction_token":1460,"target":{"before_length":19,"before_sha256":"569fa3bd3ee7f69974bc68dd7b8e80b848872933ed391813f4909a8652809c68","tentative_length":35,"tentative_sha256":"49ce90b4b89c117215575f24c4e3e74e46f8927155d085b0fabdbdd438a56137","committed_length":21,"committed_sha256":"3a90d2e4e5bede1223c479d8c37bbcef20a712ca59abb3d9de44def548998e21","replay_length":21,"replay_sha256":"28e403a97d6ea2c5f6c7adb38ce65e6cd1df29edcb0dcab0e9b86345dbb8a045","replay_max_abs":0.42594051361083984,"replay_logits_sha256":"882877c702243681fb9b1ba65af4a2fd42d9415fd43ff968c847a39abfd1e3fb","replay_tokens":[4473,1460],"replay_tokens_match":true},"draft":{"before_length":16,"before_sha256":"1ccaa4079c3ff0d1784e21bb1ed701a90addb4cb4123b1a7838108656c1ee144","tentative_length":35,"tentative_sha256":"6a231365b75a07eef8a18f5d57b2bfce80b518d5312e1ef3d185a0c9da9eafc2","committed_length":19,"committed_sha256":"4547e247919a66d0f26b6a8b0c2ca4373f4fcfd3b9b496dccc8b1f521be3a353","replay_length":19,"replay_sha256":"4547e247919a66d0f26b6a8b0c2ca4373f4fcfd3b9b496dccc8b1f521be3a353","replay_max_abs":0.0}},{"proposal_ids":[1460,401,1004,14291,1548,2890,11,262,2890,11,11,11,11,11,11],"proposal_tokens":[1460,401,1004,14291,1548,2890,11,262,2890,11,11,11,11,11,11],"proposal_logits_sha256":"6ed1f7fa13163fd3dc6685910765ae8f93fbc92a5c2c1f1539dd68cd35551cf7","posterior_tokens":[401,401,1004,3974,1548,353,12995,526,526,11,526,526,526,526,526,1154],"accepted_prefix":0,"correction_token":401,"target":{"before_length":21,"before_sha256":"3a90d2e4e5bede1223c479d8c37bbcef20a712ca59abb3d9de44def548998e21","tentative_length":37,"tentative_sha256":"9a4f7926144625ddf6bd08b34aff64dc6dd96ef5be7ccdaa051615af4b2c6de9","committed_length":22,"committed_sha256":"8d0972cf012af1f15fe7abaa0924ce364426b068042242cb922b1c916fbbcd09","replay_length":22,"replay_sha256":"d79f0b1431b2983185338a2ccea149fe255c860872d7b8de5620408925fe4ba6","replay_max_abs":0.42594051361083984,"replay_logits_sha256":"bb1b1bedb240fa5ba5f0f5cc03d54af17754412dca571302b7a52e7c43d60265","replay_tokens":[401],"replay_tokens_match":true},"draft":{"before_length":19,"before_sha256":"4547e247919a66d0f26b6a8b0c2ca4373f4fcfd3b9b496dccc8b1f521be3a353","tentative_length":37,"tentative_sha256":"acccd907957d5f5099191761c075a7c1411153f34c1c1143126ad347c7401726","committed_length":21,"committed_sha256":"491310117ccb8b31bb0ec19813b5cbc3553d3a3754a23866e01de1002f1932a6","replay_length":21,"replay_sha256":"491310117ccb8b31bb0ec19813b5cbc3553d3a3754a23866e01de1002f1932a6","replay_max_abs":0.0}},{"proposal_ids":[1004,3974,10231,1548,2890,3347,526,11,11,11,2890,11,11,11,11],"proposal_tokens":[1004,3974,10231,1548,2890,3347,526,11,11,11,2890,11,11,11,11],"proposal_logits_sha256":"77f7266c190ca90cb49f5b505a5ecd5a055781c8cc8b25bca096a1b7e13a0149","posterior_tokens":[1004,3974,10231,1548,2890,12995,11,1550,526,526,526,11,526,526,526,526],"accepted_prefix":5,"correction_token":12995,"target":{"before_length":22,"before_sha256":"8d0972cf012af1f15fe7abaa0924ce364426b068042242cb922b1c916fbbcd09","tentative_length":38,"tentative_sha256":"55c77188f51c200ff87de3cda8996b4c34153ee2ffb0eb99e4977dbb1dcc6651","committed_length":28,"committed_sha256":"9308aee1b626c47d6205c13db448e40b2c6114630c99587b1fad5abede557f8c","replay_length":28,"replay_sha256":"dfed2bc06bb7c0c1df97d5ca6788230b749b1db18e3754a9300879db8698088a","replay_max_abs":0.42594051361083984,"replay_logits_sha256":"8390ad34c283728352a3bad080e0e41ec5b73a21d2918a5f8fa43937a6d6ae03","replay_tokens":[1004,3974,10231,1548,2890,12995],"replay_tokens_match":true},"draft":{"before_length":21,"before_sha256":"491310117ccb8b31bb0ec19813b5cbc3553d3a3754a23866e01de1002f1932a6","tentative_length":38,"tentative_sha256":"c7c82c1f8ddc5d25ef7d2551d69342d1ecb274204406f240e6975f2914ee1f5c","committed_length":22,"committed_sha256":"bee2317b6bb1ee062cadf209a54e46bc359ca868ce2335a046fd22ff363af48b","replay_length":22,"replay_sha256":"bee2317b6bb1ee062cadf209a54e46bc359ca868ce2335a046fd22ff363af48b","replay_max_abs":0.0}},{"proposal_ids":[526,3347,11,526,1550,8,341,262,421,320,366,1550,8,341,3347],"proposal_tokens":[526,3347,11,526,1550,8,341,262,421,320,366,1550,8,341,3347],"proposal_logits_sha256":"34779cc62958835e854c331118a0669f9cd63f4f0caf775e03082995406e4a36","posterior_tokens":[526,3347,11,526,1550,8,341,262,421,320,10303,220,8,341,286,284],"accepted_prefix":10,"correction_token":10303,"target":{"before_length":28,"before_sha256":"9308aee1b626c47d6205c13db448e40b2c6114630c99587b1fad5abede557f8c","tentative_length":44,"tentative_sha256":"6dd6d7d8a2363b689ac193c5a1d929fdb0a4188c3515652ef752da99b553b40a","committed_length":39,"committed_sha256":"15ea231d4104dfec54a7b4801c9975214d502cb41fe5e020339ce342244f3b5b","replay_length":39,"replay_sha256":"fe857aa5c9169817aaef93b4ad84b796f7330ea191d519ef1a89aff5d59ef295","replay_max_abs":1.9676249027252197,"replay_logits_sha256":"a5dde6b14cbcf60f319b9d60bdf514bdd18f6dee27380db0b1088c7da0d74b6b","replay_tokens":[526,3347,11,526,1550,8,341,262,421,320,10303],"replay_tokens_match":true},"draft":{"before_length":22,"before_sha256":"bee2317b6bb1ee062cadf209a54e46bc359ca868ce2335a046fd22ff363af48b","tentative_length":44,"tentative_sha256":"ea4068ba98caef1960a4fee2010087e3cd181f40f20183f51d58cdebf6618a29","committed_length":28,"committed_sha256":"f605ea72eeaad1ef074a36551390d3aa14b93159e03b15483e4358b719cc6456","replay_length":28,"replay_sha256":"f605ea72eeaad1ef074a36551390d3aa14b93159e03b15483e4358b719cc6456","replay_max_abs":0.0}}],"tokens_equal":true} diff --git a/testdata/evidence/gguf_draft_runtime_evidence.json b/testdata/evidence/gguf_draft_runtime_evidence.json index f83db7596..ce5e34eaf 100644 --- a/testdata/evidence/gguf_draft_runtime_evidence.json +++ b/testdata/evidence/gguf_draft_runtime_evidence.json @@ -142,7 +142,7 @@ }, "independent_direct_ort_trace": { "filename": "gguf_dflash_independent_ort_trace.json", - "sha256": "d81f0d1ec7294289679a04d637c56a0c46cba0153e6e0aa6a2e079d3fb2a9519", + "sha256": "1062e5ed665aeafbcf0d0fb250f9b48c520091ebc4b2ad6b19dbd341518c481f", "mutation_discriminators": { "draft_mapping": "semantic.draft_mapping", "proposal_order": "semantic.proposal_order", @@ -251,7 +251,7 @@ }, "independent_direct_ort_trace": { "filename": "gguf_eagle3_independent_ort_trace.json", - "sha256": "2f45ddddd60bbc480914b0a95c58291c209b39524517baa3f872d32df52e56c6", + "sha256": "9d6c6fdb630bc0a040eacc2a2357a2991609ea0d904ff16574a9b55f7d010d55", "mutation_discriminators": { "draft_mapping": "semantic.draft_mapping", "proposal_order": "semantic.proposal_order", diff --git a/testdata/evidence/gguf_eagle3_independent_ort_trace.json b/testdata/evidence/gguf_eagle3_independent_ort_trace.json index 9498c417c..9e02745b6 100644 --- a/testdata/evidence/gguf_eagle3_independent_ort_trace.json +++ b/testdata/evidence/gguf_eagle3_independent_ort_trace.json @@ -1 +1,2 @@ + {"counters":{"rounds":11,"proposed":43,"accepted":20,"multi_token_rounds":7,"rejections":10},"final_draft_cache":{"length":46,"sha256":"5d1e23aee94018dfad3cbd2df18aacc8b0d2085ed00b1de184dd36ec1bc80b1b"},"final_target_cache":{"length":47,"sha256":"c3ec44b19dc7d4cd65bd10fcadc2a3c5959bf67564f29448dd849630c92e8ae1"},"generated_tokens_sha256":"03979bff0e9b6a144306f76e727c1c23b63a2a2349e3a1672b74b8be0c339608","reorder":{"supported":false,"reason":"reference coordinator is batch-size 1"},"rounds":[{"proposal_ids":[8082,306,855,306],"proposal_tokens":[9665,397,970,397],"proposal_logits_sha256":"7b0e927e7843ad85b0f5c36c41d420df1c606c7de5adb316eebf7db990b5630e","posterior_tokens":[9665,397,970,4473,2231],"accepted_prefix":3,"correction_token":4473,"target":{"before_length":16,"before_sha256":"1da8dc00fa847fabcb75392bf84531eb89c95e2ab45f07dbdcc33ea65092ba9a","tentative_length":21,"tentative_sha256":"879056f58bcc0918a71cc248d0c8d7dcb93c6d120e0be4a0e4b3e8535e3497f8","committed_length":20,"committed_sha256":"1848c28b3ab6da2ee12f3e78b73b5b967d4fa1a0d21dc9c8def3822bac100c99","replay_length":20,"replay_sha256":"1848c28b3ab6da2ee12f3e78b73b5b967d4fa1a0d21dc9c8def3822bac100c99","replay_max_abs":0.0,"replay_logits_sha256":"03165d567e03faad386de5aa6a333a772487d6f24ee5079328b59f45fa76c340","replay_tokens":[9665,397,970,4473],"replay_tokens_match":true},"draft":{"before_length":15,"before_sha256":"3776fdc0ad900e68c56202ed8a126d7ac6b3f2111d77aeb70ba48c32c6eb0ea5","tentative_length":19,"tentative_sha256":"262e5acb577099655fc8548b52639d02e76c5b36c16b3fbc3f5fe255f44a4020","committed_length":19,"committed_sha256":"2ea887178e73111bc5f46f2558491b728e6f3aeb1a61178131348a007fdf23e4","replay_length":19,"replay_sha256":"2ea887178e73111bc5f46f2558491b728e6f3aeb1a61178131348a007fdf23e4","replay_max_abs":0.0}},{"proposal_ids":[1304,310,885,310],"proposal_tokens":[1460,401,1004,401],"proposal_logits_sha256":"89f199a6192c189002409599c92796e6dd28ccff22a8c0d3368f045c987248f4","posterior_tokens":[1460,401,1004,14291,1004],"accepted_prefix":3,"correction_token":14291,"target":{"before_length":20,"before_sha256":"1848c28b3ab6da2ee12f3e78b73b5b967d4fa1a0d21dc9c8def3822bac100c99","tentative_length":25,"tentative_sha256":"9c9c0226f0a58c69cd718884a98b8a14f618e54fdaf0edbf120109714f1cfb4b","committed_length":24,"committed_sha256":"a105b28a8bd5bb9b2f5c10d13bf4550aa5dddf66b454008f693f9baef94a5900","replay_length":24,"replay_sha256":"a105b28a8bd5bb9b2f5c10d13bf4550aa5dddf66b454008f693f9baef94a5900","replay_max_abs":0.0,"replay_logits_sha256":"47e840508a884008b0846c157303ebf26806d7632921a4f449a5c793e91402ca","replay_tokens":[1460,401,1004,14291],"replay_tokens_match":true},"draft":{"before_length":19,"before_sha256":"2ea887178e73111bc5f46f2558491b728e6f3aeb1a61178131348a007fdf23e4","tentative_length":23,"tentative_sha256":"22db51143fb6b53fe4c8c038b55ccc691660b43abc79d13c440a7ba9a27c92ea","committed_length":23,"committed_sha256":"be0c70ba745fdcc2541f3a018c6e2d2d46db827c902f1a474affcd5cffcd40ab","replay_length":23,"replay_sha256":"be0c70ba745fdcc2541f3a018c6e2d2d46db827c902f1a474affcd5cffcd40ab","replay_max_abs":0.0}},{"proposal_ids":[1381,1381,218,8],"proposal_tokens":[1548,1548,308,8],"proposal_logits_sha256":"36e4ea4b44c58f32ddb95a9fb4a0587e1cc622904a28a7b496954731718ab68c","posterior_tokens":[1548,9,701,701,264],"accepted_prefix":1,"correction_token":9,"target":{"before_length":24,"before_sha256":"a105b28a8bd5bb9b2f5c10d13bf4550aa5dddf66b454008f693f9baef94a5900","tentative_length":29,"tentative_sha256":"b2f2efa2acee9269c409f63ad2f2b71624f0f4e4b021d878b7488e50374af50c","committed_length":26,"committed_sha256":"b113e6283a34969ee6494130ca75a5f9abbe3a8186e82d65c8d7cae2a66f52d5","replay_length":26,"replay_sha256":"0a8ab9ebfb7c73e9e7336b2a89f740d501f768e99c4fc1048cea33a03f204efe","replay_max_abs":0.4630765914916992,"replay_logits_sha256":"deaa41e2beca91cd181c043fb5948aac0d9f9199f27c785d649a1172db0f6614","replay_tokens":[1548,9],"replay_tokens_match":true},"draft":{"before_length":23,"before_sha256":"be0c70ba745fdcc2541f3a018c6e2d2d46db827c902f1a474affcd5cffcd40ab","tentative_length":27,"tentative_sha256":"31182ed1837377c20b043619d7c3987149f4b0140298adccd5f51eca6b37df45","committed_length":25,"committed_sha256":"5ef20691d6c5bead9a66d55f2d2f891edb14221089e16d3969efa37b2735b685","replay_length":25,"replay_sha256":"5ef20691d6c5bead9a66d55f2d2f891edb14221089e16d3969efa37b2735b685","replay_max_abs":0.0}},{"proposal_ids":[174,11,1381,9],"proposal_tokens":[264,11,1548,9],"proposal_logits_sha256":"a3a1d2205c71eec4eb9648e7df2f766556b3efb57f8221a1f262de4d6faccc1e","posterior_tokens":[264,11,526,9,293],"accepted_prefix":2,"correction_token":526,"target":{"before_length":26,"before_sha256":"b113e6283a34969ee6494130ca75a5f9abbe3a8186e82d65c8d7cae2a66f52d5","tentative_length":31,"tentative_sha256":"35a96f11ac26248792c9117d1fef86c01f28dd9aba1f3992375804727b2800a7","committed_length":29,"committed_sha256":"aff597e340537bbf08db2a3fa37a3d4c629c3d92bb1c58d5d58ae2556ff91751","replay_length":29,"replay_sha256":"d95607523b7f6e156130f50ea96edcdfdd8edea9e845a6780ec15273825fc027","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"9dd70d4727bb982f2e1dd1450105ad820a11b1410347103820d18bd2612b140f","replay_tokens":[264,11,526],"replay_tokens_match":true},"draft":{"before_length":25,"before_sha256":"5ef20691d6c5bead9a66d55f2d2f891edb14221089e16d3969efa37b2735b685","tentative_length":29,"tentative_sha256":"efde1c6a830d546d97a0391fb0be438528d38409960cc3ecdc3a31662dbd4f4b","committed_length":28,"committed_sha256":"8393ebc3fa8f09e7b246d7df5215599794fb2887d48611b681a90ef2d8eb0040","replay_length":28,"replay_sha256":"8393ebc3fa8f09e7b246d7df5215599794fb2887d48611b681a90ef2d8eb0040","replay_max_abs":0.0}},{"proposal_ids":[9,203,11,432],"proposal_tokens":[9,293,11,526],"proposal_logits_sha256":"1d0f6608e9980b6b41a6bc07cd557a4504912ee5dac25617ce0392bbf534ec8a","posterior_tokens":[9,293,8,526,308],"accepted_prefix":2,"correction_token":8,"target":{"before_length":29,"before_sha256":"aff597e340537bbf08db2a3fa37a3d4c629c3d92bb1c58d5d58ae2556ff91751","tentative_length":34,"tentative_sha256":"e7ccc0f85bae940ccb24714eec0aff50eb14a3516d1a6e2d07dd8a85029a1d95","committed_length":32,"committed_sha256":"4c04ad64764a37c30736444f573f9600f2ddf290837668e6cc4b110e2b048611","replay_length":32,"replay_sha256":"0b692a67862821a17d64848d8df01305efe920c8dfafa113eb5dc1861d53b9be","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"4a1275e28e6f72e67a585481a951bba082bb477c5002b6921b81b359537ac5c2","replay_tokens":[9,293,8],"replay_tokens_match":true},"draft":{"before_length":28,"before_sha256":"8393ebc3fa8f09e7b246d7df5215599794fb2887d48611b681a90ef2d8eb0040","tentative_length":32,"tentative_sha256":"c4f2009a3e47e3201b01e58e7573984004f34346a7fd25840a31e78790253a16","committed_length":31,"committed_sha256":"07b8f84d41c938c7c24ff7687c84feb9405ea3781ecd0987918a708dfe4d730f","replay_length":31,"replay_sha256":"07b8f84d41c938c7c24ff7687c84feb9405ea3781ecd0987918a708dfe4d730f","replay_max_abs":0.0}},{"proposal_ids":[250,172,172,432],"proposal_tokens":[341,262,262,526],"proposal_logits_sha256":"49112c654708dc74cac6a567f78284f19c61b7d0ad88710a175ac8a162e35706","posterior_tokens":[341,262,526,526,259],"accepted_prefix":2,"correction_token":526,"target":{"before_length":32,"before_sha256":"4c04ad64764a37c30736444f573f9600f2ddf290837668e6cc4b110e2b048611","tentative_length":37,"tentative_sha256":"96faa1987ec83414999883b04ec713cf2ee539b1854d2c4ee210458536c76ce9","committed_length":35,"committed_sha256":"238a6021544f3182ec3ef35d963cf64b40551509016679d7c94c5919741dd0f5","replay_length":35,"replay_sha256":"561f6da578f38378e023908207bcca66b1678e65bd96b95d51be0d794f678e9a","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"62dabf1c9589b5a178fb0a68efbdfcb624d2545c111249ea76de1c97f908980b","replay_tokens":[341,262,526],"replay_tokens_match":true},"draft":{"before_length":31,"before_sha256":"07b8f84d41c938c7c24ff7687c84feb9405ea3781ecd0987918a708dfe4d730f","tentative_length":35,"tentative_sha256":"6d9f5b3854e1e4ff13e53ab6e98de273a7e1c8a5cef1ad0a3ccef06ec73b3ae8","committed_length":34,"committed_sha256":"422db877cf26bb4e7b8ff9254b5f6d4e19339c671c67de34dd92940abeedbee8","replay_length":34,"replay_sha256":"422db877cf26bb4e7b8ff9254b5f6d4e19339c671c67de34dd92940abeedbee8","replay_max_abs":0.0}},{"proposal_ids":[2405,194,262,174],"proposal_tokens":[2730,284,353,264],"proposal_logits_sha256":"32360918225c9a8981362e73a0774eb5ec2fc43747c0dbc02c1aa46d2b5f3db8","posterior_tokens":[259,284,353,64,280],"accepted_prefix":0,"correction_token":259,"target":{"before_length":35,"before_sha256":"238a6021544f3182ec3ef35d963cf64b40551509016679d7c94c5919741dd0f5","tentative_length":40,"tentative_sha256":"cac38b0304d4b5ca0f63e46dad0e3d941611d0b064f90f9ca8103c709ab8cc52","committed_length":36,"committed_sha256":"c94f2ce94073ac8aa59390914bd8e669c85229b53b670e90cf4822edababd818","replay_length":36,"replay_sha256":"bf637bf8dde9eab4d59c38cb2c77f78df84ea7e49c3bfc4aaff29ad1a62f8017","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"d38dc82f2aa44dd8f222a94a260f0ffcfd67a3167b986f5509a1b90447d59507","replay_tokens":[259],"replay_tokens_match":true},"draft":{"before_length":34,"before_sha256":"422db877cf26bb4e7b8ff9254b5f6d4e19339c671c67de34dd92940abeedbee8","tentative_length":38,"tentative_sha256":"8f28909947170d356d3d8d76ef61a9418a8010ece832f078779a500ef2709379","committed_length":35,"committed_sha256":"24c5a19eb261396634cf8de2d9dc15c6590686ad85a8540ee346ecc5b0f93063","replay_length":35,"replay_sha256":"24c5a19eb261396634cf8de2d9dc15c6590686ad85a8540ee346ecc5b0f93063","replay_max_abs":0.0}},{"proposal_ids":[194,174,190,172],"proposal_tokens":[284,264,280,262],"proposal_logits_sha256":"41536dbff6f4479e4b27d6ea36eaf0a3964196f0800098be0e9198e986107f41","posterior_tokens":[284,353,58,262,264],"accepted_prefix":1,"correction_token":353,"target":{"before_length":36,"before_sha256":"c94f2ce94073ac8aa59390914bd8e669c85229b53b670e90cf4822edababd818","tentative_length":41,"tentative_sha256":"9eaabaf874e69badc96dddb7c352a8104d2b417476bbe9099697f19e4d8aa980","committed_length":38,"committed_sha256":"a5e1ec8946b48052fdd1a4b65eefd6aadb882916ef9574cfe90af5a0a0eee1d6","replay_length":38,"replay_sha256":"71f102bef9f2bce130e33d61c86c5f52ff820b46438a9697512269c18fd1dd8f","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"6e89e991903110395be893e7599319f7464fadfbf17ee1eae2838448fd5bc331","replay_tokens":[284,353],"replay_tokens_match":true},"draft":{"before_length":35,"before_sha256":"24c5a19eb261396634cf8de2d9dc15c6590686ad85a8540ee346ecc5b0f93063","tentative_length":39,"tentative_sha256":"dd1c74566fc4385e17bfa93d2cfc8db6713e7f3826f385abdd0a80c11c73f00f","committed_length":37,"committed_sha256":"2d8f64be495b09b393f7f414864630b8e0093155e3601c6bfb095b077c4d632a","replay_length":37,"replay_sha256":"2d8f64be495b09b393f7f414864630b8e0093155e3601c6bfb095b077c4d632a","replay_max_abs":0.0}},{"proposal_ids":[262,262,262,174],"proposal_tokens":[353,353,353,264],"proposal_logits_sha256":"20825ea476f480da9c2825150ccfb9aff75ce83588b64856ca28577a695a8d39","posterior_tokens":[64,64,353,353,280],"accepted_prefix":0,"correction_token":64,"target":{"before_length":38,"before_sha256":"a5e1ec8946b48052fdd1a4b65eefd6aadb882916ef9574cfe90af5a0a0eee1d6","tentative_length":43,"tentative_sha256":"2d1668cc441d10af8ae8bfc9cb94bc440a2b26d8af602335e8a183fc280dd2d6","committed_length":39,"committed_sha256":"052a808263b9aaafd3db617b19927e948961a2a95a81b94728318756fe0faf03","replay_length":39,"replay_sha256":"34bfde23e63412e3705a84d72cf9d960d2cfdb8ed34181eb43fa9db3df2a1523","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"0ea228f82bd4f5ee70b06a87e3166213779d2b49a6551095bc9a523877435ac3","replay_tokens":[64],"replay_tokens_match":true},"draft":{"before_length":37,"before_sha256":"2d8f64be495b09b393f7f414864630b8e0093155e3601c6bfb095b077c4d632a","tentative_length":41,"tentative_sha256":"6758c63d2af91d975e265df9b2d024c5d228c8b2cbf766d80c1064019769640e","committed_length":38,"committed_sha256":"5a9750c96561f2de676a329765bbcfd1bed5a96d002817ecc3f90b50fd42a09a","replay_length":38,"replay_sha256":"5a9750c96561f2de676a329765bbcfd1bed5a96d002817ecc3f90b50fd42a09a","replay_max_abs":0.0}},{"proposal_ids":[190,172,262,65],"proposal_tokens":[280,262,353,65],"proposal_logits_sha256":"cf8d94cd75cc9ba4dd91db1ce95ebb30e81f80c7f2281b8a8d8bd55e81feafb7","posterior_tokens":[280,262,353,64,284],"accepted_prefix":3,"correction_token":64,"target":{"before_length":39,"before_sha256":"052a808263b9aaafd3db617b19927e948961a2a95a81b94728318756fe0faf03","tentative_length":44,"tentative_sha256":"5b6477305eb84d3ff39705085d9d4209968a6d1e196a2df3c21e5f12f622c7fc","committed_length":43,"committed_sha256":"06e1f3c4bcc00e70390594e48a366b5c99935801d5bc616f1e412b9cfe9949e4","replay_length":43,"replay_sha256":"dc3f7ec218a4586ab9b77bdc7aa62f2bf4eb63a72e28494d5d82ef4adbba0648","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"a99d766497ff2c3994ec0327776abb92eb2aabfab8ecdb97c5935202c3546600","replay_tokens":[280,262,353,64],"replay_tokens_match":true},"draft":{"before_length":38,"before_sha256":"5a9750c96561f2de676a329765bbcfd1bed5a96d002817ecc3f90b50fd42a09a","tentative_length":42,"tentative_sha256":"ece3c773a2bc9074fb822f6f5b34c3b330b79b7314478399cf87587f286a0c99","committed_length":42,"committed_sha256":"61bc1fb7719a880555afcaec8c0d60f36b6d317c4907867aa5699b4937cb8b09","replay_length":42,"replay_sha256":"61bc1fb7719a880555afcaec8c0d60f36b6d317c4907867aa5699b4937cb8b09","replay_max_abs":0.0}},{"proposal_ids":[194,262,65],"proposal_tokens":[284,353,65],"proposal_logits_sha256":"31e5be03cf08a43f14ddec81054ec158d982f46b57c9ec1c6a74d73def2089e2","posterior_tokens":[284,353,65,280],"accepted_prefix":3,"correction_token":280,"target":{"before_length":43,"before_sha256":"06e1f3c4bcc00e70390594e48a366b5c99935801d5bc616f1e412b9cfe9949e4","tentative_length":47,"tentative_sha256":"c3ec44b19dc7d4cd65bd10fcadc2a3c5959bf67564f29448dd849630c92e8ae1","committed_length":47,"committed_sha256":"c3ec44b19dc7d4cd65bd10fcadc2a3c5959bf67564f29448dd849630c92e8ae1","replay_length":47,"replay_sha256":"5f0b967630c8e95d2fa0b8fc1903f5c5222aedfec992aad0a7dd440792144d56","replay_max_abs":0.9123861789703369,"replay_logits_sha256":"f28f5dd5b30f0acbcfa0034525a227b00f96c18ed36a03027c65930000f00cb6","replay_tokens":[284,353,65,280],"replay_tokens_match":true},"draft":{"before_length":42,"before_sha256":"61bc1fb7719a880555afcaec8c0d60f36b6d317c4907867aa5699b4937cb8b09","tentative_length":45,"tentative_sha256":"03a2ceec474a53983b08ae5241558e5408c50b03906694a4b2575b1ae737ab3a","committed_length":46,"committed_sha256":"5d1e23aee94018dfad3cbd2df18aacc8b0d2085ed00b1de184dd36ec1bc80b1b","replay_length":46,"replay_sha256":"5d1e23aee94018dfad3cbd2df18aacc8b0d2085ed00b1de184dd36ec1bc80b1b","replay_max_abs":0.0}}],"tokens_equal":true}