Files
settled-reach/server/tests/golden/believability.json
T
jpmschweitzerandClaude Opus 4.8 91a079718b feat(simulation): believability test protocol — D-245 enforcer (T-1083)
Promote the throwaway aliveness probe into a committed, repeatable believability
protocol — the instrument that found T-1080/T-1081/T-1082.

- atlas/believability.rs (new): BelievabilityReport (serde) + analyze() computing
  CONTRAST (per-field min/max/distinct for moisture/elev/slope/ocean over all
  districts; distinct morphology zones / vegetation classes / terrain materials)
  and COHERENCE (water-renders-wet, drainage-monotonic, vegetation-present) — never
  marginal per-tile counts (the lesson: that called a broken uniform world ALIVE).
  evaluate_criteria() = advisory D-245 checks; cascade_for_body()/seed_to_u64()
  loader shared by the bin and the harness. Unit tests prove the metric tells a
  uniform world (fails) from a varied one (passes) + determinism.
- bin/aliveness_probe.rs: refactored to a thin CLI over the module — prints the
  body-level report + advisory D-245 criteria, drops the naive per-tile verdict.
- tests/believability_harness.rs (+ golden): runs the real cascade for Arbour
  (temperate/ocean) + Edict (frozen/ice), asserts determinism, golden-snapshots
  the reports (regression — updates when T-1080/T-1082 land), advisory criteria
  with BELIEVABILITY_STRICT=1 to fail on unmet D-245 criteria. Skips if committed
  data absent. x86_64 golden (cascade has f32 warp paths).

Baseline @ believability-v1: Arbour 3/7, Edict 3/7 criteria pass — moisture
gradient, water-renders-wet, drainage all FAIL (T-1080/T-1082); Edict vegetation
0/64 (blank tundra — the frozen 'reads dead' case D-245 targets).

PNG layer maps (ticket item 3) deferred — explicitly optional; the contrast +
coherence metrics are the core enforcer.

clippy --all-targets -D warnings clean; 1575 lib tests + the harness pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 14:55:08 +02:00

81 lines
1.6 KiB
JSON

[
{
"body_id": "GJ338Bd",
"world_seed": 13200299156134074780,
"district_count": 2048,
"voxel_sampled_districts": 64,
"contrast": {
"moisture_q": {
"min": 80,
"max": 80,
"distinct": 1
},
"elev_q": {
"min": 0,
"max": 98,
"distinct": 99
},
"slope_q": {
"min": 0,
"max": 13,
"distinct": 14
},
"ocean_fraction_q": {
"min": 0,
"max": 100,
"distinct": 65
},
"morphology_zones": 9,
"vegetation_classes": 3,
"terrain_materials": 1
},
"coherence": {
"water_districts": 64,
"water_districts_wet": 4,
"drainage_samples": 16,
"drainage_monotonic": 4,
"vegetation_samples": 64,
"vegetated_districts": 64
}
},
{
"body_id": "GJ244Ad",
"world_seed": 13200299156134074780,
"district_count": 2048,
"voxel_sampled_districts": 64,
"contrast": {
"moisture_q": {
"min": 20,
"max": 20,
"distinct": 1
},
"elev_q": {
"min": 0,
"max": 99,
"distinct": 100
},
"slope_q": {
"min": 0,
"max": 6,
"distinct": 7
},
"ocean_fraction_q": {
"min": 0,
"max": 100,
"distinct": 65
},
"morphology_zones": 9,
"vegetation_classes": 1,
"terrain_materials": 2
},
"coherence": {
"water_districts": 20,
"water_districts_wet": 1,
"drainage_samples": 4,
"drainage_monotonic": 1,
"vegetation_samples": 64,
"vegetated_districts": 0
}
}
]