import datetime
import json
import os
import pathlib

os.umask(0o077)
R = pathlib.Path(__file__).parent
assert not (R/'run.json').exists(), 'Runtime already recorded'
verified = json.loads((R/'image/verify.json').read_text())
assert verified['errors']==verified['failures']==verified['sdk']==0
(R/'image-gate.json').write_text(json.dumps(verified))
plan = json.loads((R/'plan.json').read_text())
plan['controls'] = '/workspace/contextra-runtime-config/metadata-active'
(R/'plan.json').write_text(json.dumps(plan,indent=2))
(R/'budget.json').write_text(json.dumps({'started_at':'2026-09-13T10:44:37+09:00',
    'live_windows':1,'builds':1,'failed_groups':0,'groups':[{'status':'running'}]},indent=2))
source = pathlib.Path('/tmp/codex/ltb1021/2026-09-12_contextra-snapshot-tracking_r01/stage2/runtime-derived.py').read_text()
replacements = {
    "  assert g.inspect()['State']['Status']=='exited'": "  assert api(path)[1]['state']=='stopped'",
    "cfg['services']['analytics']['restart']='on-failure:3'": "cfg['services']['analytics']['restart']=a.restart_arg(plan['analytics']['HostConfig']['RestartPolicy'])",
    "'--restart='+'on-failure:3'": "'--restart='+a.restart_arg(plan['analytics']['HostConfig']['RestartPolicy'])",
    "    api(path+'/metrics','POST',dict(run_generation=generation,enabled=enabled,seconds=60))\n    warm=": "    warm=",
    "    before=sample()": "    api(path+'/metrics','POST',dict(run_generation=generation,enabled=enabled,seconds=60))\n    before=sample()",
    "measurement='OFF_ON_COMPLETE'": "measurement='STABLE_ON_COMPLETE'",
}
for old,new in replacements.items():
    assert source.count(old)==1, old
    source = source.replace(old,new)
(R/'runtime-derived.py').write_text(source)
exec(compile(source,str(R/'runtime-derived.py'),'exec'),globals())
