Record original-alignment implementation and traceability checkpoint

Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
This commit is contained in:
Takeshi
2026-09-30 23:52:24 +09:00
parent 6077e02ebe
commit 5dde0c5ec2
490 changed files with 54051 additions and 809 deletions
+50
View File
@@ -0,0 +1,50 @@
#!/usr/bin/env python3
"""Debug a naturally opened inn through three closes and an actual process restart."""
import argparse
import hashlib
import json
import os
from pathlib import Path
import subprocess
import time
import uuid
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('--godot', default='godot')
parser.add_argument('--rendered', action='store_true')
parser.add_argument('--output', type=Path, default=Path('artifacts/opening-restart-flow'))
args = parser.parse_args()
root = Path(__file__).resolve().parents[1]
output = args.output.resolve()
output.mkdir(parents=True, exist_ok=True)
env = dict(os.environ, THE_TREE_OPENING_RESTART_SLOT=f'user://tests/opening_restart_{uuid.uuid4().hex}/manual', THE_TREE_OPENING_RESTART_OUTPUT=str(output))
env.pop('THE_TREE_OPENING_CAPTURE', None)
command = [args.godot] + ([] if args.rendered else ['--headless']) + ['--path', str(root), '--script', 'res://tests/ui/fixtures/opening_restart_flow.gd']
source_paths = [p for directory in ('autoload', 'scripts', 'scenes', 'data', 'tests') for p in (root/directory).rglob('*') if p.suffix in ('.gd', '.tres', '.tscn', '.json')]
hashes = {str(p.relative_to(root)): hashlib.sha256(p.read_bytes()).hexdigest() for p in sorted(source_paths)}
(output/'source-start.json').write_text(json.dumps(hashes, indent=2)+'\n')
results = []
for phase in ('write', 'read'):
started = time.monotonic()
log_path = output/f'{phase}.log'
with log_path.open('w') as log:
try:
code = subprocess.run(command + (['--', '--read'] if phase == 'read' else []), cwd=root, env=env, stdout=log, stderr=subprocess.STDOUT, timeout=1200).returncode
except subprocess.TimeoutExpired:
code = 124
content = log_path.read_text()
passed = code == 0 and '0 failures' in content and 'ERROR:' not in content
results.append(dict(phase=phase, exit_code=code, passed=passed, seconds=round(time.monotonic()-started, 2), log=log_path.name))
(output/'result.json').write_text(json.dumps(results, indent=2)+'\n')
print(json.dumps(results[-1]), flush=True)
if not passed:
return 1
changed = [p for p,h in hashes.items() if not (root/p).exists() or hashlib.sha256((root/p).read_bytes()).hexdigest()!=h]
(output/'source-change.json').write_text(json.dumps(changed, indent=2)+'\n')
return 1 if changed else 0
if __name__ == '__main__':
raise SystemExit(main())