72 lines
4.2 KiB
Python
72 lines
4.2 KiB
Python
"""Prepare pinned portable assets after the reviewed evidence checkpoint is committed."""
|
||
from pathlib import Path
|
||
import hashlib, shutil, subprocess
|
||
|
||
root = Path(__file__).resolve().parent
|
||
repository = root.parent.parent
|
||
assert repository.resolve() == Path('C:/ar-save-01a0d717').resolve()
|
||
assert not subprocess.check_output(['git', 'status', '--porcelain'], cwd=repository, text=True).strip()
|
||
checkpoint = subprocess.check_output(['git', 'rev-parse', 'HEAD'], cwd=repository, text=True).strip()
|
||
assert subprocess.check_output(['git', 'diff', '--name-only', 'ef28f1784efe6717b0ca72c0eb3c97bc30ebfe47', checkpoint, '--', 'crates', 'Cargo.toml', 'Cargo.lock', 'docs', 'scripts', 'examples', 'README.md', 'LICENSE'], cwd=repository, text=True).strip() == ''
|
||
record = repository / 'harness/release-save-diagnostics-validation-20261001.md'
|
||
assert record.is_file()
|
||
target = root / 'release-assets'
|
||
target.mkdir(exist_ok=False)
|
||
name = 'ArcadiaStudio-0.2.0-preview.save-diagnostics.20261001-x86_64-pc-windows-gnullvm.zip'
|
||
archive = root / 'dist' / name
|
||
assert archive.stat().st_size == 34191561
|
||
assert hashlib.sha256(archive.read_bytes()).hexdigest() == '8b4e353e075f22350a07794ee47a02cf85725501223299cf367134aa1f5b63b7'
|
||
for filename in [name, name + '.sha256']:
|
||
shutil.copyfile(root / 'dist' / filename, target / filename)
|
||
(target / 'VALIDATION.md').write_text(f'''# Save diagnostics Windows preview validation
|
||
|
||
The [verified scope, evidence and exact build/run instructions](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/src/commit/{checkpoint}/harness/release-save-diagnostics-validation-20261001.md)
|
||
are authoritative. This attachment links that immutable release/evidence checkpoint.
|
||
|
||
Desktop source: 0e83157e09d52e6152df91208e41693b62da2d46.
|
||
Unchanged reused server source: 715036e132677dd2bc2fb37ed316d93dc9987aec.
|
||
Packaged documentation source: ef28f1784efe6717b0ca72c0eb3c97bc30ebfe47.
|
||
Release/evidence checkpoint: {checkpoint}.
|
||
Windows gnullvm dev/unoptimized builds, debug assertions enabled.
|
||
|
||
ZIP: 34,191,561 bytes; SHA256
|
||
`8b4e353e075f22350a07794ee47a02cf85725501223299cf367134aa1f5b63b7`.
|
||
|
||
Extract the complete folder and launch `arcadia-studio.exe`, keeping
|
||
`libunwind.dll` beside both executables. Read `START-HERE.txt`.
|
||
Copy the complete example before editing. Save All updates the loaded source.
|
||
Save As preserves includes and needs a fresh source destination; needed
|
||
companions/artifacts require separate copying. Protected destination conflicts
|
||
now have accurate wording and recovery guidance; genuine observed external edits
|
||
retain their external-change diagnosis.
|
||
|
||
Optional backend in a writable working directory:
|
||
|
||
```powershell
|
||
.\\arcadia-server.exe --bind 127.0.0.1:8787 --data-dir C:/ArcadiaModels/server
|
||
```
|
||
|
||
See packaged docs/server.md and docs/api.rst for REST/deployment/authentication.
|
||
No remote deployment is claimed.
|
||
|
||
The unchanged desktop source has 29 targeted save checks, formatting, strict
|
||
Clippy, GUI build and independent contribution review. Fresh packaging/extraction
|
||
and source identities pass. Two actual extracted desktop processes exercise
|
||
Apply, accurate refusal, Save All/fresh Save As recovery, real external-change
|
||
protection, fresh reopen and no-op Save All, with complete 37-file byte oracles
|
||
and complete 30-file parsed Project/source comparisons. Both desktop processes
|
||
exit 0 with empty logs and all 565 package files unchanged. Fresh server testing
|
||
passes 23 checks, including exact OpenAPI, Unicode/CRLF, stale 412 and acknowledged
|
||
write persistence after an owned forced restart, not graceful/power-loss testing.
|
||
Independent artifact/source/native/server/claims review passes for this scope.
|
||
|
||
This is an unfinished scoped Windows development preview, not the complete
|
||
first OA/SA release or the separately owned follow-up union. Dense diagrams,
|
||
Scenario adapters, calculations/constraints, maintained libraries and broader
|
||
accessibility/DPI remain unfinished. Native testing used one existing account/
|
||
machine at 1442×932 with system-only child PATH. No full-suite rerun, second clean
|
||
machine, minimum-size package trial or Linux validation is claimed. Linux/WSL
|
||
remains user-deferred. Prior releases remain unchanged.
|
||
''', encoding='utf-8')
|
||
print('Prepared three pinned release assets for checkpoint ' + checkpoint)
|