Harden base progression and cleanup; validate finite physical resupply
This commit is contained in:
+10
-2
@@ -32,12 +32,20 @@ if launched:
|
||||
if (source/'game-startup-report.json').is_file():
|
||||
# Recompute from the sealed console rather than trusting the saved summary.
|
||||
# Ordinary startup has no scripted completion and cannot qualify as an escape.
|
||||
from headless_game import game_evidence
|
||||
from headless_game import game_evidence, CONTROL
|
||||
runner=json.loads((source/'runner.json').read_text())
|
||||
report=game_evidence((dest/'console.log.txt').read_text(errors='replace'),runner.get('project'))
|
||||
report['log']=str((dest/'console.log.txt').relative_to(ROOT))
|
||||
control=runner.get('project')==CONTROL
|
||||
expected_result='vanilla-control-started' if control else 'game-started'
|
||||
if control:
|
||||
consistent=runner.get('control_only') is True and report.get('control_only') is True
|
||||
report['qualification']='vanilla startup control only; no successor mission or release qualification'
|
||||
else:
|
||||
consistent=runner.get('control_only',False) is False and report.get('control_only',False) is False
|
||||
report['control_metadata_consistent']=consistent
|
||||
(dest/'report.json').write_bytes(encoded(report))
|
||||
status=0 if report['ready'] and runner.get('result')=='game-started' and runner.get('cleanup_confirmed') is True else 1
|
||||
status=0 if report['ready'] is True and consistent and runner.get('result')==expected_result and runner.get('cleanup_confirmed') is True else 1
|
||||
else:
|
||||
with (dest/'report.json').open('w') as report:
|
||||
result=subprocess.run([sys.executable,str(ROOT/'tools/native_report.py'),str((dest/'console.log.txt').relative_to(ROOT))],cwd=ROOT,stdout=report)
|
||||
|
||||
Reference in New Issue
Block a user