Pass the probe name where the harness codemod missed it

block_survival and state_provider hashed the name as an artifact instead of
passing it; decorated_region runs chunk_dump through chunk_generation's binary.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Ludovic MarieandClaude Opus 5.5 committed 2026-10-23 16:50:01 +02:00
1 parent 4a922a5772
commit 38bce65c21
3 files changed
+5 -5

No files matched your search

+2 -2
View File
@@ -240,7 +240,7 @@ def main():
metadata=json.loads(subprocess.check_output(['cargo','metadata','--no-deps','--format-version','1'],cwd=lab.ROOT,text=True))
binary=Path(metadata['target_directory'])/'release/examples'/('probe.exe' if os.name=='nt' else 'probe')
base.ensure_sources_unchanged(sources,tested_sources)
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,'block_survival_fixture',*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':{'supported_blocks':len(definitions),'supported_states':sum(state['id'] in definitions for state in facts['states']),'survival_rules':len(set(definitions.values())),'survival_rule_kinds':len({rule.split(':',1)[0] for rule in definitions.values()}),'fluid_tag_files':len(fluid_tags),'fixtures':fixture_count},'outputs':{}}
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':{'supported_blocks':len(definitions),'supported_states':sum(state['id'] in definitions for state in facts['states']),'survival_rules':len(set(definitions.values())),'survival_rule_kinds':len({rule.split(':',1)[0] for rule in definitions.values()}),'fluid_tag_files':len(fluid_tags),'fixtures':fixture_count},'outputs':{}}
save_checkpoint(checkpoint_path,checkpoint)
print('Verified inputs and compiled executables checkpointed',flush=True)
def stage(name, action):
@@ -251,7 +251,7 @@ def main():
checkpoint['outputs'][name]=lab.digest(output,'sha256')
save_checkpoint(checkpoint_path,checkpoint)
print(f'{name}: completed output checkpointed',flush=True)
stage('rust',lambda:run([checkpoint['binary'],build],'rust'))
stage('rust',lambda:run([checkpoint['binary'],'block_survival_fixture',build],'rust'))
references=[]
for side,jar in jars.items():
stage(side,lambda:java(side,side,build))
+1 -1
View File
@@ -66,7 +66,7 @@ def build_dir():
def vanilla_order(binary, cx, cz, view):
out = subprocess.run([str(binary), str(cg.RESOURCES), '0', 'overworld'], capture_output=True, text=True, check=True,
out = subprocess.run([str(binary), 'chunk_dump', str(cg.RESOURCES), '0', 'overworld'], capture_output=True, text=True, check=True,
env=dict(os.environ, HORIZON_LIST_ORDER=f'{cx},{cz},{view}'), cwd=lab.ROOT).stdout
return [tuple(map(int, line.split())) for line in out.splitlines()]
+2 -2
View File
@@ -376,7 +376,7 @@ def main():
binary=Path(metadata['target_directory'])/'release/examples'/('probe.exe' if os.name=='nt' else 'probe')
counts={'block_states':len(facts['states']),'blocks':len(facts['defaults']),'integer_properties':len(facts['integers']),'codec_inputs':fixture_count,'provider_types':10,'named_providers':len(catalog_resources),'rule_predicate_types':16,'survival_supported_blocks':len(survival_rules),'survival_supported_states':sum(s['id'] in survival_rules for s in facts['states']),'support_cached_states':len(support_states),'support_dynamic_states':len(facts['states'])-len(support_states),'biomes':len(biomes),'biome_tag_files':len(biome_tags),'fluid_tag_files':len(fluid_tags),'bundled_provider_definitions':len(provider_resources),'block_tag_files':len(tags),'requested_samples':requested_samples}
base.ensure_sources_unchanged(sources,tested_sources)
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,'state_provider_fixture',*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':counts,'outputs':{}}
checkpoint={'schema':1,'environment':environment,'sources_sha256':tested_sources,'fixtures_sha256':{str(lab.ROOT/name):digest for name,digest in tested_fixtures.items()},'artifacts_sha256':{str(path):lab.digest(path,'sha256') for path in [binary,*sorted(classes.rglob('*.class'))]},'binary':str(binary),'counts':counts,'outputs':{}}
survival.save_checkpoint(checkpoint_path,checkpoint)
print('Verified inputs and compiled executables checkpointed',flush=True)
def stage(name,action):
@@ -386,7 +386,7 @@ def main():
checkpoint['outputs'][name]=lab.digest(output,'sha256')
survival.save_checkpoint(checkpoint_path,checkpoint)
print(f'{name}: completed output checkpointed',flush=True)
stage('rust',lambda:run([checkpoint['binary'],build],'rust'));references=[]
stage('rust',lambda:run([checkpoint['binary'],'state_provider_fixture',build],'rust'));references=[]
for side,jar in jars.items():
stage(side,lambda:java(side,side,build));reference=build/f'{side}.txt';matched=base.compare(reference,build/'rust.txt')
references.append({'side':side,'jar_sha256':lab.digest(jar,'sha256'),'output_sha256':lab.digest(reference,'sha256'),'matched_output_lines':matched})