"""Freeze the independent oracle and actual tools before either new HTTP."""
from pathlib import Path
import json,hashlib
HERE=Path(__file__).resolve().parent
target=HERE/'pre-HTTP-tool-freeze.json'
assert not target.exists()
files=[HERE/'machine-plan.json',HERE/'oracle.py',HERE/'exact-new-SQL-bind-plan.json',HERE/'source-frozen-sha.json']+sorted((HERE/'tools').glob('*.php'))
result={p.relative_to(HERE).as_posix():{'sha256':hashlib.sha256(p.read_bytes()).hexdigest(),'bytes':p.stat().st_size} for p in files}
target.write_text(json.dumps({'files':result,'SQL':0,'HTTP':0,'frozen_before_HTTP':True,'source_files':6168},indent=2)+'\n')
print(json.dumps({'frozen_tools':len(result),'HTTP':0,'SQL':0,'oracle_SHA':result['oracle.py']['sha256']}))
