From 195ddbbba5b352af09bca385a6c3e4dd1c77f8c8 Mon Sep 17 00:00:00 2001 From: "sorokin.oleg.edu" Date: Wed, 23 Sep 2026 00:41:55 -0700 Subject: [PATCH] Record verified private original-span export checkpoint --- harness/STATE.md | 9 ++ .../.gitattributes | 4 + .../analysis-original-span-20260923/README.md | 61 +++++++++++++ .../evidence.zip | Bin 0 -> 117078 bytes .../manifest.json | 54 ++++++++++++ .../analysis-original-span-20260923/verify.py | 83 ++++++++++++++++++ 6 files changed, 211 insertions(+) create mode 100644 harness/experiments/analysis-original-span-20260923/.gitattributes create mode 100644 harness/experiments/analysis-original-span-20260923/README.md create mode 100644 harness/experiments/analysis-original-span-20260923/evidence.zip create mode 100644 harness/experiments/analysis-original-span-20260923/manifest.json create mode 100644 harness/experiments/analysis-original-span-20260923/verify.py diff --git a/harness/STATE.md b/harness/STATE.md index 5d03a8c9..6aef787f 100644 --- a/harness/STATE.md +++ b/harness/STATE.md @@ -137,6 +137,15 @@ dirty diagnostic/probe results are retained. No current full-core pass is claimed. Public source8 parser, writer, source-update and persistence composition remain incomplete; these branches are not integrated production analysis. +Published private source **10d7f3340d5cd61a656dc0bcf7c143f8897c5551** adds +complete borrowed original-span export for later edit composition. Its +[Windows evidence](experiments/analysis-original-span-20260923/README.md) records +173 listed tests (all prior 167 retained), 65 typed passes including all 11 +updater cases, and strict core all-target Clippy on the same 538 committed +inputs. Review caught and corrected an intermediate standalone budget +regression. Complete mixed-bundle ownership, combined output compilation and +public source8 remain unimplemented; this is an isolated export adapter. + The [reviewed S1/S7 assessment](issue28-s1-s7-assessment-956atf-20260923.md) distinguishes static analysis/case overlays from contextual inheritance, fixed/default bindings and executable trade studies with durable result diff --git a/harness/experiments/analysis-original-span-20260923/.gitattributes b/harness/experiments/analysis-original-span-20260923/.gitattributes new file mode 100644 index 00000000..c04700c8 --- /dev/null +++ b/harness/experiments/analysis-original-span-20260923/.gitattributes @@ -0,0 +1,4 @@ +*.py text eol=lf +*.md text eol=lf +*.json text eol=lf +*.zip binary diff --git a/harness/experiments/analysis-original-span-20260923/README.md b/harness/experiments/analysis-original-span-20260923/README.md new file mode 100644 index 00000000..a7696dd2 --- /dev/null +++ b/harness/experiments/analysis-original-span-20260923/README.md @@ -0,0 +1,61 @@ +# Private original-span export: Windows verification + +Tested source **10d7f3340d5cd61a656dc0bcf7c143f8897c5551**, based on +**1b1c3e3abb6fc3d0934c9dbfbd21fddc8ae4f594**. This is a private typed rename +adapter, not public source8 support or a mixed-file compositor. + +The adapter exposes a complete borrowed batch of original spans and qualified +identities after validating source ownership, complete edit membership, names +and budget bounds. It creates no replacement source files. Standalone rename +output retains its original size checks; composition defers hypothetical +typed-only output size to the future combined emitter. A review caught an +intermediate standalone budget regression; the final source fixes it and adds +a test that distinguishes the corrected behavior. + +Windows x86_64-pc-windows-gnullvm, Rust/Cargo 1.98.1, one compiler job: + +- Actual library listing: 173 unique tests, all previous 167 retained plus six. +- Actual typed-source execution: 65 passed, zero failed or ignored, including + all 11 updater tests and the existing stack-safety cases. +- Strict `oa-core` all-target Clippy with `-D warnings`: passed. +- All three gates bind the same 538 committed inputs before and after execution. + +Commands are preserved exactly in the raw receipts. Tests use +`cargo test --locked --offline -p oa-core --lib language::analysis_source -- --test-threads=1`; +lint uses `cargo clippy --locked --offline -p oa-core --all-targets -- -D warnings`. +The library listing and typed run used the same 39,222,784-byte executable, +SHA256 `eed1520856679ecbea6ab2c3a202339775b7791cbfb2c24d74984cbde706305d`. +The executable is not included in this evidence package. + +## Inspect and verify + +Run `python -B PATH/verify.py --repo PATH/TO/REPOSITORY`. The repository must +contain the source commit above. The verifier checks the 13 archived payloads, +manifest hashes, exact commands, actual listing/runtime membership, successful +receipts and all 538 inputs against immutable Git blobs. It neither runs the +archived helpers nor depends on the current checkout. ZIP and JSON payloads +retain original bytes. The 117,078-byte ZIP has SHA256 +`abd480826c62326b0d553add85e24daa722ce6da2ec4213e34ff1052895e87bc`. +The archived prior-list receipt is historical inventory; +its wider provenance is in the separately published +[S3 evidence](../analysis-source-s3-windows-20260922/README.md). + +The source review and handoff inside the archive retain their original +pre-compilation status. This README and raw completed receipts supersede that +status only for the named gates. Binary identity is receipt-bound; verification +does not rehash an absent executable. An integrity check verifies recorded +evidence, not the truth of every semantic claim or a fresh runtime execution. + +## Remaining boundaries + +The caller-supplied Budget remains borrowed throughout composition, but the +private Index does not prove it came from the same parse. Production integration +must establish a complete bundle/entry/path/profile/model/index witness, merge +ordinary and typed edits with precise collision rules, enforce combined output +bounds, recompile the actual output, and compare the whole intended Project. +Subtree and scoped-parameter changes, deletion repair, movement, reidentity, +migration, save and history remain separate work. + +No full-core run was performed for this checkpoint. Earlier unsupported public +source8 failures remain disclosed in the S2c evidence; this targeted success +does not resolve them. No GUI, release or Linux acceptance is claimed. diff --git a/harness/experiments/analysis-original-span-20260923/evidence.zip b/harness/experiments/analysis-original-span-20260923/evidence.zip new file mode 100644 index 0000000000000000000000000000000000000000..8e9f3a075839e654f63732996dec884df77ada30 GIT binary patch literal 117078 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 literal 0 HcmV?d00001 diff --git a/harness/experiments/analysis-original-span-20260923/manifest.json b/harness/experiments/analysis-original-span-20260923/manifest.json new file mode 100644 index 00000000..3f618cc3 --- /dev/null +++ b/harness/experiments/analysis-original-span-20260923/manifest.json @@ -0,0 +1,54 @@ +{ + "clippy-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "clippy-10d7f33.log": { + "bytes": 165, + "sha256": "afbbc80761dfa446c74cc3df188db7c1ff5cf3edf6b809846e46c5a291208f43" + }, + "clippy-10d7f33.result.json": { + "bytes": 1097, + "sha256": "9478e486e803355f5d69382ea31c3dc42d79d8e6f4789226873e4accce29cd92" + }, + "list-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "list-10d7f33.log": { + "bytes": 18213, + "sha256": "76b9e9ebc0c0d3d8794020dd222cfc94f7dd8cda9deedd0e74e0cd0c3aa5900c" + }, + "list-10d7f33.result.json": { + "bytes": 19385, + "sha256": "4baf130b68e2c044ad3e43d6e8a2e13c611008192a271d3dfa75ee5a7c1503c1" + }, + "prior-list-1b1c3e3.result.json": { + "bytes": 18669, + "sha256": "23135f0c5739c2f40b703e603f38f4e95e1fb473d0ed799c291f83e08ad6844c" + }, + "runner.py": { + "bytes": 4034, + "sha256": "31e5a645d5983c60cff79fc1bbc08e71c1b7047fd21b343a5cad6c4ad07d97b2" + }, + "source-handoff.md": { + "bytes": 8402, + "sha256": "d4c6aa72679b3dd36c8554def9d224005d896a965c3ab1fd43022e890da66700" + }, + "source-review.md": { + "bytes": 10175, + "sha256": "afe471a04d852c507a35be3da6d5cef116a271dd532662041057d5eb07ed5666" + }, + "typed-10d7f33.inputs.json": { + "bytes": 100256, + "sha256": "a8310981b743069f6e6abf0ef11857ec03c16562dc7e8264030c1d9d82517e46" + }, + "typed-10d7f33.log": { + "bytes": 8188, + "sha256": "db8664ecf777821cb95a7b495a90a1ca80ddcdfd2f6c098ab4d5b0c842ddb95b" + }, + "typed-10d7f33.result.json": { + "bytes": 1395, + "sha256": "1dc4d030206e396cc97d29298880059642336deb36e00c07656e3812a65a71de" + } +} diff --git a/harness/experiments/analysis-original-span-20260923/verify.py b/harness/experiments/analysis-original-span-20260923/verify.py new file mode 100644 index 00000000..88df8be3 --- /dev/null +++ b/harness/experiments/analysis-original-span-20260923/verify.py @@ -0,0 +1,83 @@ +"""Verify published receipts and immutable Git inputs; never run archived code.""" +from pathlib import Path +import argparse +import hashlib +import json +import re +import subprocess +import sys +import zipfile + +if sys.flags.optimize: + raise SystemExit('Optimized Python is unsupported') +parser = argparse.ArgumentParser() +parser.add_argument('--repo', type=Path, required=True) +args = parser.parse_args() +base = Path(__file__).resolve().parent +source = '10d7f3340d5cd61a656dc0bcf7c143f8897c5551' +manifest = json.loads((base / 'manifest.json').read_text()) +with zipfile.ZipFile(base / 'evidence.zip') as archive: + assert len(archive.namelist()) == len(set(archive.namelist())) == 13 + assert set(archive.namelist()) == set(manifest) + payload = {name: archive.read(name) for name in manifest} +for name, data in payload.items(): + assert manifest[name] == {'bytes':len(data), 'sha256':hashlib.sha256(data).hexdigest()}, name + +receipts = {kind:json.loads(payload[f'{kind}-10d7f33.result.json']) for kind in ('list', 'typed', 'clippy')} +commands = { + 'list':['cargo','test','--locked','--offline','-p','oa-core','--lib','--','--list'], + 'typed':['cargo','test','--locked','--offline','-p','oa-core','--lib','language::analysis_source','--','--test-threads=1'], + 'clippy':['cargo','clippy','--locked','--offline','-p','oa-core','--all-targets','--','-D','warnings'], +} +inputs = None +for kind, receipt in receipts.items(): + assert receipt['source'] == receipt['head_after'] == source + assert receipt['exit'] == 0 and receipt['changed_inputs'] == [] + assert receipt['command'] == commands[kind] + assert receipt['start'] < receipt['end'] + assert receipt['environment']['CARGO_BUILD_JOBS'] == '1' + assert receipt['launcher_sha256'] == hashlib.sha256(payload['runner.py']).hexdigest() + current = json.loads(payload[receipt['inputs']]) + assert current['source'] == source and len(current['inputs']) == 538 + if inputs is None: + inputs = current['inputs'] + assert current['inputs'] == inputs + +listed = re.findall(r'^([^\r\n]+): test\r?$', payload['list-10d7f33.log'].decode(), re.M) +assert listed == receipts['list']['listing_members'] +assert len(listed) == len(set(listed)) == receipts['list']['listing_count'] == 173 +prior = json.loads(payload['prior-list-1b1c3e3.result.json']) +assert prior['source'] == '1b1c3e3abb6fc3d0934c9dbfbd21fddc8ae4f594' and prior['exit'] == 0 +assert len(prior['listing_members']) == 167 and set(prior['listing_members']) <= set(listed) +new = { + 'composition_checks_edit_record_ceiling_before_duplicate_membership', + 'composition_defers_only_typed_output_size_with_independent_shrink_arithmetic', + 'composition_exports_complete_borrowed_swap_witnesses_and_empty_noops', + 'composition_keeps_name_storage_and_rename_record_limits_before_allocation', + 'composition_rejects_stale_or_damaged_complete_batches_before_export', + 'standalone_noop_apply_keeps_tighter_file_only_budget_and_output_boundary', +} +assert set(listed)-set(prior['listing_members']) == {'language::analysis_source::update::tests::'+name for name in new} +selected = {name for name in listed if name.startswith('language::analysis_source::')} +log = payload['typed-10d7f33.log'].decode() +passed = re.findall(r'^test ([^\r\n]+) \.\.\. ok\r?$', log, re.M) +assert len(passed) == len(set(passed)) == len(selected) == 65 and set(passed) == selected +assert '65 passed; 0 failed; 0 ignored; 0 measured; 108 filtered out' in log +assert receipts['list']['artifacts'] == receipts['typed']['artifacts'] +assert len(receipts['typed']['artifacts']) == 1 +assert receipts['typed']['artifacts'][0]['sha256'] == 'eed1520856679ecbea6ab2c3a202339775b7791cbfb2c24d74984cbde706305d' +assert 'Finished' in payload['clippy-10d7f33.log'].decode() + +paths = subprocess.check_output(['git','ls-tree','-r','--name-only',source,'Cargo.toml','Cargo.lock','rust-toolchain.toml','.cargo','build','crates','assets','docs','examples','harness/fixtures','vendor'],cwd=args.repo).decode().splitlines() +assert paths == [item['path'] for item in inputs] +blobs = subprocess.check_output(['git','cat-file','--batch'],cwd=args.repo,input=''.join(f'{source}:{path}\n' for path in paths).encode()) +offset = 0 +for item in inputs: + end = blobs.index(b'\n',offset) + _,kind,size = blobs[offset:end].split() + size = int(size) + data = blobs[end+1:end+1+size] + assert kind == b'blob' and size == item['bytes'] and hashlib.sha256(data).hexdigest() == item['sha256'],item['path'] + offset = end+size+2 +assert offset == len(blobs) +print('PASS: 13 payloads; 538 immutable Git inputs; 173 listed, 167 retained + 6 new; exact 65 typed passes; strict core Clippy.')