import datetime,json,os,pathlib
os.umask(0o077);R=pathlib.Path(__file__).parent
assert json.loads((R/'image-verify.json').read_text())=={'sdk_copy':0,'drop':0,'units':0}
assert json.loads((R/'unit-result.json').read_text())['errors']==0
(R/'image-gate.json').write_text(json.dumps(dict(errors=0,failures=0,sdk=0)))
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))
budget=json.loads((R/'budget.json').read_text())
elapsed=datetime.datetime.now().timestamp()-datetime.datetime.fromisoformat(budget['started_at']).timestamp()
assert budget['failed_groups']<(5 if elapsed<1200 else 4 if elapsed<2100 else 3)
assert budget['live_windows']==0
budget['live_windows']=1
budget['groups'].append(dict(hypothesis='PTS selection and bounded metrics Off/On; capture Off',status='running'))
(R/'budget.json').write_text(json.dumps(budget))
source=pathlib.Path('/tmp/codex/ltb1021/2026-09-12_contextra-flow-boundary_r01/runtime-derived.py').read_text()
source=source.replace("assert max((x['count'] for x in ob['counters'].values()),default=0)<=1000", "assert max((x['count'] for x in ob['counters'].values()),default=0)<=3000")
source=source.replace("'CONTEXTRA_METADATA_VISUAL_DIR':'/run/contextra-visual'", "'CONTEXTRA_METADATA_VISUAL_DIR':''")
source=source.replace(",\n   {'type':'bind','source':str(R/'visual'),'target':'/run/contextra-visual','bind':{'create_host_path':False}}", '')
source=source.replace("display_score=.25,frame_time_anchor=dict(startWallTimeMs=json.loads((R/'anchor.json').read_text())['startWallTimeMs'],synthetic=True)", "analysisFpsTarget=10")
source=source.replace("(R/'samples').mkdir(mode=0o700);flag.write_text('enabled\\n')", "assert not flag.exists();assert settings['configured']['analysisFpsTarget']==10")
source=source.replace("  live_process=subprocess.Popen(['python3',str(R/'live_observer.py'),env['FASTAPI_HOST_PORT']])\n  time.sleep(.6)", '')
start=source.index('   end=time.monotonic()+8\n')
end=source.index('  save()\n except Exception',start)
source=source[:start]+'''   state['phases']=[]
   generation=first['run_generation']
   for label,enabled in [('off',False),('on',True)]:
    api(path+'/metrics','POST',dict(run_generation=generation,enabled=enabled,seconds=60))
    warm=time.monotonic()+3
    while time.monotonic()<warm:sample();time.sleep(.5)
    before=sample()
    phase=dict(mode=label,start_ns=time.monotonic_ns(),before=before['metadata_path']['performance'],publisher_before=api('/api/v1/metadata/status')[1]['metrics'])
    end=time.monotonic()+12
    while time.monotonic()<end:
     v=sample();assert v['state']=='running' and not v.get('cleanup_error')
     assert api('/live')[0]==200
     if time.monotonic()-state.get('resource_last',0)>2:
      c=g.inspect();pid=c['State']['Pid']
      cg=next(line.split(':',2)[2] for line in pathlib.Path('/proc/'+str(pid)+'/cgroup').read_text().splitlines() if line.startswith('0:'))
      root=pathlib.Path('/sys/fs/cgroup')/cg.lstrip('/')
      cpu={k:int(n) for k,n in (line.split() for line in (root/'cpu.stat').read_text().splitlines())}
      gpu=cmd(['nvidia-smi','--query-gpu=utilization.gpu,memory.used','--format=csv,noheader,nounits'],5).stdout.strip().splitlines()[0].split(',')
      state.setdefault('resources',[]).append(dict(mode=label,monotonic_ns=time.monotonic_ns(),cpu_usage_usec=cpu['usage_usec'],memory_bytes=int((root/'memory.current').read_text()),gpu_percent=float(gpu[0]),gpu_mib=float(gpu[1])))
      state['resource_last']=time.monotonic()
     time.sleep(.5)
    after=sample()
    phase.update(end_ns=time.monotonic_ns(),after=after['metadata_path']['performance'],publisher_after=api('/api/v1/metadata/status')[1]['metrics'])
    state['phases'].append(phase);save()
   api(path+'/metrics','POST',dict(run_generation=generation,enabled=False,seconds=60))
   state['detail_disabled']=True
   entries=redis_query('reader','XREVRANGE',stream,'+','-','COUNT','1')
   assert entries
   fields=entries[0][1]
   if isinstance(fields,list):fields=dict(zip(fields[::2],fields[1::2]))
   value=json.loads(fields['json']);assert value['runId']==state['run_id']
   state['result_geometry']={k:value[k] for k in ('frameSeq','ptsNs','frameWidth','frameHeight','normalized','coordinateSpace')}
   state.update(window_result='PASS',measurement='OFF_ON_COMPLETE',capture_off=True)
'''+source[end:]
# Persist only allowlisted numeric resources and observations; no Redis payload/file capture.
source=source.replace("capture_off=True,restart_policy", "capture_off=True,detail_off=state.get('detail_disabled',False),analysis_fps_target=10,restart_policy")
source=source.replace("diagnostics='RETAIN task override until next approved recreate'", "diagnostics='RETAIN start diagnostics until next approved recreate; visual env/mount removed'")
(R/'runtime-derived.py').write_text(source)
exec(compile(source,str(R/'runtime-derived.py'),'exec'),globals())
