{
  "article_slug": "astar2d-complete-reference",
  "artifact": "AStar2D complete-reference mutation and topology proof",
  "checks": [
    {
      "id": "existing_id_add_updates_position_and_weight",
      "observed": {
        "position": {
          "x": 20.0,
          "y": 30.0
        },
        "weight_scale": 1.0
      },
      "passed": true
    },
    {
      "id": "set_point_position_preserves_weight_and_connections",
      "observed": {
        "forward_connection": true,
        "position": {
          "x": 8.0,
          "y": 8.0
        },
        "weight_scale": 3.5
      },
      "passed": true
    },
    {
      "id": "disable_point_changes_route_without_rewiring",
      "observed": {
        "after": [
          0,
          2,
          3
        ],
        "before": [
          0,
          1,
          3
        ],
        "connections_preserved": true
      },
      "passed": true
    },
    {
      "id": "directed_edge_audit_detects_missing_reverse",
      "observed": {
        "issues": [
          "MISSING_EDGE:11->10"
        ]
      },
      "passed": true
    },
    {
      "id": "remove_point_cleans_or_reports_incident_topology",
      "observed": {
        "issues": [
          "MISSING_POINT:1"
        ],
        "path_after_removal": [],
        "remaining_connections_from_0": []
      },
      "passed": true
    },
    {
      "id": "disabled_start_returns_empty_on_godot_4_7_1",
      "observed": {
        "id_path_size": 0,
        "point_path_size": 0,
        "start_disabled": true
      },
      "passed": true
    },
    {
      "id": "extracted_package_reruns_cleanly",
      "passed": true,
      "observed": {
        "workspace_check_count": 6,
        "check_ids_match_workspace": true,
        "scene_smoke_passed": null,
        "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": "Godot 4.7.1 runtime verification for six AStar2D mutation, topology-audit, and disabled-start behaviors used by the complete reference.",
  "passed": true,
  "passed_count": 7,
  "proof_boundary": {
    "engine_scope": "The disabled-start observation is explicitly scoped to Godot 4.7.1 stable.",
    "performance": "No path-query timing, allocation, or graph-size claim is made.",
    "verified_here": "Named AStar2D mutation, connection, disabled-point, removal, and topology-audit behaviors exercised by the article helper."
  },
  "verified_at": "2026-07-19T10:36:54",
  "check_count": 7,
  "published_files": {
    "source_zip": {
      "path": "/downloads/pathforge/astar2d-complete-reference-source.zip",
      "bytes": 3392,
      "sha256": "e527ec3122a7560d6c301228b3999ca53e57910743b7a109165857d6ac7d61af"
    },
    "source_manifest": [
      {
        "path": "project.godot",
        "bytes": 394,
        "sha256": "da67bd8a5f3fa956ac31308c2d1ed13da4c94e6353c468b28c0c43f854907f34"
      },
      {
        "path": "scripts/shared/astar2d_runtime_graph_diagnostics.gd",
        "bytes": 629,
        "sha256": "018d61e2260981a11a1f2d7ff5bd60dd644d407b661825987ce4d60c8aa9288d"
      },
      {
        "path": "tools/run_astar2d_complete_reference_verification.ps1",
        "bytes": 410,
        "sha256": "e393595bfae706ef5a013839f589c07bc69848f939feaa743502c65126bb9cf4"
      },
      {
        "path": "tools/verify_astar2d_complete_reference.gd",
        "bytes": 6415,
        "sha256": "d0691f95866c1870aa6ae541c024fc1236e8c2c8637c7a775ec89d1d2c3fc427"
      }
    ]
  },
  "extracted_package_rerun": {
    "passed": true,
    "workspace_check_count": 6,
    "published_check_count": 7,
    "check_ids_match_workspace": true,
    "scene_smoke_passed": null,
    "engine": "4.7.1-stable (official)"
  }
}
