P08-03: 配置の通常操作受入

This commit is contained in:
Agent Control Runner
2026-10-14 03:52:45 +09:00
parent 7dd450c64c
commit c2b59f04f9
13 changed files with 409 additions and 53 deletions
+26
View File
@@ -241,6 +241,24 @@ def make(base, source, checker):
formal = folder/'formal'
formal.mkdir()
for member in checker.MEMBERS: (formal/member).write_text('synthetic '+member+'\n')
shutil.copytree(formal, folder/'formal.bak')
shutil.copyfile(formal/'manifest.json', folder/'formal-slot-metadata.json')
profile = '/synthetic-private-profile'
absolute = profile+'/saves/manual_ui'
put(folder/'formal-export.json', {'pid':pids[0], 'requested_path':'user://saves/manual_ui',
'absolute_path':absolute, 'user_data_dir':profile,
'packages':{name:{'present':True, 'source_path':absolute+suffix,
'members':{n:{'sha256':sha(folder/name/n),'bytes':(folder/name/n).stat().st_size} for n in checker.MEMBERS}}
for name,suffix in [('formal',''),('formal.bak','.bak')]},
'slot_metadata':{'file':'formal-slot-metadata.json','sha256':sha(formal/'manifest.json')}})
for role,pid,op in [('writer',pids[0],'save'),('reader',pids[1],'load')]:
stem = role+'-save-result-0001'
(folder/(stem+'.var')).write_bytes(b'synthetic raw Dictionary stand-in')
put(folder/(stem+'.json'), {'pid':pid,'operation':'runtime_operation',
'requested_path':'user://saves/manual_ui','absolute_path':absolute,'user_data_dir':profile,
'result':typed({'ok':True,'operation':op,'save_path':'user://saves/manual_ui'}),
'raw_sha256':sha(folder/(stem+'.var'))})
put(folder/(role+'-save-results.json'), {'pid':pid,'records':[stem]})
put(folder/'save.json', {'members': {n: sha(formal/n) for n in checker.MEMBERS},
'pid': pids[0], 'cell': target, 'instance_id': 'f4'})
row = {'id': 'resume_overlap', 'kind': 'build', 'position': position(target),
@@ -259,6 +277,14 @@ def make(base, source, checker):
pair('pair', [101, 102], 'handler')
pair('os-pair', [201, 202], 'native_os')
shutil.copytree(out/'pair/formal', out/'pair/initial-formal')
initial = copy.deepcopy(json.loads((out/'pair/formal-export.json').read_text()))
initial.update(requested_path='user://saves/p08_initial',absolute_path='/synthetic-private-profile/saves/p08_initial')
initial['packages'] = {'initial-formal':initial['packages']['formal'],
'initial-formal.bak':{'present':False,'source_path':initial['absolute_path']+'.bak','members':{}}}
initial['packages']['initial-formal']['source_path'] = initial['absolute_path']
shutil.copyfile(out/'pair/initial-formal/manifest.json',out/'pair/initial-formal-slot-metadata.json')
initial['slot_metadata']['file'] = 'initial-formal-slot-metadata.json'
put(out/'pair/initial-formal-export.json',initial)
for role, pid in (('writer',201),('reader',202)):
prefix = 'os-runs/'+role+'/'
folder = out/prefix