experiment: capture frozen live Newton trials without changing solver policy

This commit is contained in:
2026-09-17 08:06:37 -04:00
parent 95d9fbafe8
commit fd08f7b0e9
3 changed files with 101 additions and 4 deletions

View File

@@ -124,7 +124,7 @@ def main():
command = [str(executable), *case['arguments'], '--mesh', str(mesh), '--output', str(folder)]
state_files = {}
for i, word in enumerate(case['arguments']):
if word == '--probe-state':
if word in ('--probe-state', '--probe-direction', '--replay-candidate'):
path = Path(case['arguments'][i + 1])
if not path.is_absolute():
path = source / path
@@ -144,9 +144,9 @@ def main():
record['exit_code'] = None
record.update(seconds=time.monotonic() - start, finished_utc=utc())
record['output_hashes'] = {
name: digest(folder / name)
for name in ('accepted_state.txt', 'layout.csv', 'metadata.txt', 'final_physical.csv')
if (folder / name).is_file()
str(path.relative_to(folder)): digest(path)
for path in sorted(folder.rglob('*'))
if path.is_file() and path.suffix in ('.txt', '.csv', '.json')
}
write_json(output / (name + '_run.json'), record)
summaries.append({**record, **summarize(folder)})