{
  "article_slug": "godot-reachability-rules-anti-softlock",
  "artifact": "Standalone Godot reachability-rule and rollback correctness proof",
  "checks": [
    {
      "id": "diagonal_never_keeps_corner_fixture_split",
      "observed": {
        "component_count": 2,
        "diagonal_mode": 1,
        "expected_component_count": 2,
        "mismatches": 0,
        "pairs_checked": 169
      },
      "passed": true
    },
    {
      "id": "diagonal_always_joins_corner_fixture",
      "observed": {
        "component_count": 1,
        "diagonal_mode": 0,
        "expected_component_count": 1,
        "mismatches": 0,
        "pairs_checked": 169
      },
      "passed": true
    },
    {
      "id": "diagonal_at_least_one_partition_equals_cardinal_exhaustive_4x4",
      "observed": {
        "layouts": 65536,
        "partition_mismatches": 0
      },
      "passed": true
    },
    {
      "id": "diagonal_only_if_no_obstacles_partition_equals_cardinal_exhaustive_4x4",
      "observed": {
        "layouts": 65536,
        "partition_mismatches": 0
      },
      "passed": true
    },
    {
      "id": "diagonal_always_changes_connectivity_in_39978_of_65536_layouts",
      "observed": {
        "expected_partition_mismatches": 39978,
        "internal_failures": 0,
        "layouts": 65536,
        "partition_mismatches": 39978
      },
      "passed": true
    },
    {
      "id": "diagonal_policies_change_route_shape_without_changing_reachability",
      "observed": {
        "all_modes_reached_goal": true,
        "expected_path_sizes": {
          "0": 2,
          "1": 3,
          "2": 2,
          "3": 3
        },
        "mismatches": 0,
        "observed_path_sizes": {
          "0": 2,
          "1": 3,
          "2": 2,
          "3": 3
        }
      },
      "passed": true
    },
    {
      "id": "jumping_enabled_preserves_astar_route_existence",
      "observed": {
        "diagonal_modes_checked": 4,
        "pairs_checked": 1600,
        "reachable_count_mismatches": 0,
        "reachable_pairs_by_mode": {
          "0": {
            "expected": 400,
            "with_jump": 400,
            "without_jump": 400
          },
          "1": {
            "expected": 362,
            "with_jump": 362,
            "without_jump": 362
          },
          "2": {
            "expected": 362,
            "with_jump": 362,
            "without_jump": 362
          },
          "3": {
            "expected": 362,
            "with_jump": 362,
            "without_jump": 362
          }
        },
        "route_existence_mismatches": 0
      },
      "passed": true
    },
    {
      "id": "cell_shape_1_components_match_astar",
      "observed": {
        "cell_shape": 1,
        "diagonal_modes_checked": 4,
        "mismatches": 0,
        "observed_component_counts": {
          "0": 1,
          "1": 2,
          "2": 2,
          "3": 2
        },
        "pairs_checked": 676
      },
      "passed": true
    },
    {
      "id": "cell_shape_2_components_match_astar",
      "observed": {
        "cell_shape": 2,
        "diagonal_modes_checked": 4,
        "mismatches": 0,
        "observed_component_counts": {
          "0": 1,
          "1": 2,
          "2": 2,
          "3": 2
        },
        "pairs_checked": 676
      },
      "passed": true
    },
    {
      "id": "dirty_grid_returns_explicit_typed_failure",
      "observed": {
        "code": "INTERNAL_ERROR",
        "internal_error": "GRID_PARAMETERS_DIRTY"
      },
      "passed": true
    },
    {
      "id": "component_labels_use_packed_int32_storage",
      "observed": {
        "expected": 40,
        "label_count": 40
      },
      "passed": true
    },
    {
      "id": "any_accepts_one_connected_goal",
      "observed": {
        "code": "OK",
        "revision": 1
      },
      "passed": true
    },
    {
      "id": "all_rejects_one_missing_of_two_goals",
      "observed": {
        "code": "REQUIRED_ROUTE_BROKEN",
        "regressions": 1
      },
      "passed": true
    },
    {
      "id": "multi_phase_rule_rejects_failing_activation",
      "observed": {
        "code": "REQUIRED_ROUTE_BROKEN",
        "phase": "explore"
      },
      "passed": true
    },
    {
      "id": "movement_profiles_use_distinct_connectivity",
      "observed": {
        "truck_ok": false,
        "worker_ok": true
      },
      "passed": true
    },
    {
      "id": "dynamic_occupied_starts_stay_fixed_within_transaction",
      "observed": {
        "code": "OK",
        "provider_calls_during_transaction": 1
      },
      "passed": true
    },
    {
      "id": "stranded_actor_rejection_restores_canonical_signature",
      "observed": {
        "code": "REQUIRED_ROUTE_BROKEN",
        "signature_restored": true
      },
      "passed": true
    },
    {
      "id": "baseline_invalid_world_allows_unrelated_mutation",
      "observed": {
        "code": "OK",
        "still_invalid": true
      },
      "passed": true
    },
    {
      "id": "baseline_failure_worsening_is_rejected",
      "observed": {
        "code": "REQUIRED_ROUTE_BROKEN",
        "regressions": 1
      },
      "passed": true
    },
    {
      "id": "partial_repair_can_become_new_invalid_baseline",
      "observed": {
        "code": "OK",
        "invariants_valid": false
      },
      "passed": true
    },
    {
      "id": "load_time_audit_and_declared_recovery_revalidate",
      "observed": {
        "load_valid": false,
        "recovery_valid": true
      },
      "passed": true
    },
    {
      "id": "stale_preview_rejects_before_any_write",
      "observed": {
        "apply_calls": 0,
        "code": "STALE_PREVIEW"
      },
      "passed": true
    },
    {
      "id": "out_of_band_signature_drift_rejects_before_apply",
      "observed": {
        "apply_calls": 0,
        "code": "INTERNAL_ERROR",
        "internal_error": "BASELINE_DRIFT"
      },
      "passed": true
    },
    {
      "id": "all_failure_results_keep_consistent_code_shape",
      "observed": {
        "code": "INTERNAL_ERROR",
        "internal_error": "APPLY_FAILED"
      },
      "passed": true
    },
    {
      "id": "rollback_callback_failure_returns_explicit_typed_error",
      "observed": {
        "code": "INTERNAL_ERROR",
        "internal_error": "ROLLBACK_CALLBACK_FAILED"
      },
      "passed": true
    },
    {
      "id": "rollback_signature_mismatch_returns_explicit_typed_error",
      "observed": {
        "code": "INTERNAL_ERROR",
        "internal_error": "ROLLBACK_SIGNATURE_MISMATCH"
      },
      "passed": true
    },
    {
      "id": "async_navigation_rollback_waits_for_second_sync",
      "observed": {
        "after_signature": "link=true|reached=true|points=4|endpoint=264.000,48.000",
        "before_signature": "link=true|reached=true|points=4|endpoint=264.000,48.000",
        "candidate_iteration": 3,
        "candidate_reached": false,
        "initial_iteration": 1,
        "initially_reached": true,
        "rollback_iteration": 4,
        "signature_restored": true
      },
      "passed": true
    },
    {
      "id": "packaged_project_rerun_matches_named_checks",
      "passed": true,
      "observed": {
        "extracted_logic_check_count": 27,
        "check_ids_match_workspace": true,
        "scene_smoke_passed": true,
        "engine": "4.7.1-stable (official)"
      }
    }
  ],
  "engine": {
    "build": "official",
    "hash": "a13da4feb8d8aefc283c3763d33a2f170a18d541",
    "hex": 263937,
    "major": 4,
    "minor": 7,
    "patch": 1,
    "status": "stable",
    "string": "4.7.1-stable (official)",
    "timestamp": 0
  },
  "failed": [],
  "failed_count": 0,
  "measurement_scope": "Correctness verification only; no performance, allocation, or throughput claim.",
  "passed": true,
  "passed_count": 28,
  "proof_boundary": {
    "not_verified_here": "Directed movement graphs, arbitrary quest/inventory completability, production-scale memory cost, and a released PathForge API.",
    "path_ended_short": "Page-level NavigationServer verdict only; this artifact does not extend the shared PathFailureReport.Reason enum.",
    "verified_here": "Only DIAGONAL_MODE_ALWAYS changes 4x4 connectivity partitions; the other diagonal policies are cardinal-partition equivalent. Component labels match A* on square and isometric cell shapes. A* route existence is invariant under jumping_enabled on the named fixtures. Also verified: phase/profile rules, dynamic-start snapshots, baseline-aware regression comparison, exact grid rollback, load repair, and a two-synchronization NavigationServer link rollback."
  },
  "scene_smoke": {
    "passed": true,
    "report": {
      "all_results_have_code": true,
      "bridge_open_after_rejection": true,
      "bridge_rejected": true,
      "bridge_signature_before": "phase=explore|revision=0||profiles=truck=region=[P: (0, 0), S: (10, 6)]|cell_size=(54.0, 54.0)|offset=(54.0, 188.0)|cell_shape=0|diagonal_mode=1|jumping=false|dirty=false||points=4,0:1:1.000000000|4,1:1:1.000000000|4,2:1:1.000000000|4,3:1:1.000000000|4,4:1:1.000000000|4,5:1:1.000000000||blockers=|||worker=region=[P: (0, 0), S: (10, 6)]|cell_size=(54.0, 54.0)|offset=(54.0, 188.0)|cell_shape=0|diagonal_mode=1|jumping=false|dirty=false||points=4,0:1:1.000000000|4,1:1:1.000000000|4,3:1:1.000000000|4,4:1:1.000000000|4,5:1:1.000000000||blockers=||rules=occupied_worker_has_escape:worker:evacuation,explore:0:worker_17=8,2:west_exit=1,2|||truck_reaches_both_garages:truck:evacuation,lockdown:1:truck_02=8,4:north_garage=1,1;south_garage=1,4",
      "bridge_signature_restored": true,
      "phase_activation_rejected": true,
      "phase_after_rejection": "explore",
      "phase_signature_restored": true,
      "truck_profile_disconnected": true,
      "worker_profile_connected": true
    }
  },
  "verified_at": "2026-08-03T22:42:46",
  "published_files": {
    "source_zip": {
      "path": "/downloads/pathforge/godot-reachability-rules-anti-softlock-source.zip",
      "bytes": 20391,
      "sha256": "c1e32bdcef8df7406e0b6bdc7bafa13a61ac8b318d61de8e72b13fd4181abbc0"
    },
    "runtime_state_source": {
      "path_in_zip": "scripts/articles/runtime_astargrid2d_state.gd",
      "sha256": "6e100aed9d7bd971460f3ead9d7998a430da6e4f0c448a4cc080c5d87974f83e"
    },
    "rule_set_source": {
      "path_in_zip": "scripts/articles/anti_softlock_rule_set.gd",
      "sha256": "e8bcceea9f4b270e4d316676c296d6969f3bbb82b6bfe2cb2ae6116f0fe46973"
    },
    "demo_source": {
      "path_in_zip": "scripts/articles/anti_softlock_navigation_rules_demo.gd",
      "sha256": "60ab665efdcc653cd0a5e279f67643940112df89e97ee1dec7a1c3a8505f5e72"
    },
    "verifier_source": {
      "path_in_zip": "tools/verify_anti_softlock_navigation_rules.gd",
      "sha256": "f1bbe5f3388893f5e133a4b3591892831c80c5d945a9b60d6d15842b6bf612f2"
    }
  },
  "extracted_package_rerun": {
    "passed": true,
    "logic_check_count": 27,
    "published_check_count": 28,
    "check_ids_match_workspace": true,
    "scene_smoke_passed": true,
    "engine": "4.7.1-stable (official)"
  }
}
