{
  "check": "Reader update 04 — source, artwork, anchors, review identity, and navigation integration",
  "site": "/workspace/scratch/4ac00c567f3b/substellar",
  "baseline_html": "/workspace/scratch/4ac00c567f3b/reader_04_baseline/index.html",
  "baseline_manifest": "/workspace/scratch/4ac00c567f3b/reader_04_baseline.json",
  "browser_used": false,
  "scope": "Static preservation and integration checks only; no browser rendering or scrolling claim.",
  "checks": [
    {
      "name": "seven_source_files_unchanged",
      "passed": true,
      "files": [
        {
          "source": "approved",
          "file": "sources/complete_text_for_typesetting.txt",
          "expected_sha256": "aa99d53d74ae46899ff24c62cdab3e9c1d4d79d169c49291fac10b9137bfd192",
          "actual_sha256": "aa99d53d74ae46899ff24c62cdab3e9c1d4d79d169c49291fac10b9137bfd192",
          "unchanged": true
        },
        {
          "source": "industry",
          "file": "sources/industry_progression_expansion.txt",
          "expected_sha256": "d0e035e3ad5b48938d01907592493a173a4a5f462ac3cb01bf629cd773f1f016",
          "actual_sha256": "d0e035e3ad5b48938d01907592493a173a4a5f462ac3cb01bf629cd773f1f016",
          "unchanged": true
        },
        {
          "source": "moon-mars",
          "file": "sources/moon_mars_expansion.txt",
          "expected_sha256": "203a7eedc962d39a87dd34c835adff6aaeb390052e604e9148037cdf42a3687c",
          "actual_sha256": "203a7eedc962d39a87dd34c835adff6aaeb390052e604e9148037cdf42a3687c",
          "unchanged": true
        },
        {
          "source": "tier1",
          "file": "sources/tier1_space_expansion.txt",
          "expected_sha256": "9ca9944ef64ff4d07573e4f0f807cb64c74cc16978d799a717ca9a3db9e9c365",
          "actual_sha256": "9ca9944ef64ff4d07573e4f0f807cb64c74cc16978d799a717ca9a3db9e9c365",
          "unchanged": true
        },
        {
          "source": "first-playable",
          "file": "sources/first_playable_expansion.txt",
          "expected_sha256": "f0efbf7319ab1ce62a549f576acd0921f9bd1f1c4ce2eee632499781aebc0a72",
          "actual_sha256": "f0efbf7319ab1ce62a549f576acd0921f9bd1f1c4ce2eee632499781aebc0a72",
          "unchanged": true
        },
        {
          "source": "tier1-models",
          "file": "sources/tier1_model_specifications.txt",
          "expected_sha256": "0940eb6cdcea9e3f1baf46037a54122f7a2d8786c525659c95d8f4283655844e",
          "actual_sha256": "0940eb6cdcea9e3f1baf46037a54122f7a2d8786c525659c95d8f4283655844e",
          "unchanged": true
        },
        {
          "source": "illustrated",
          "file": "sources/illustrated_companion.txt",
          "expected_sha256": "565077ac04d664460fb692ce3f8136c6c8850fbe669f58604c1064350935b169",
          "actual_sha256": "565077ac04d664460fb692ce3f8136c6c8850fbe669f58604c1064350935b169",
          "unchanged": true
        }
      ]
    },
    {
      "name": "source_blocks_exact_markup_and_order",
      "passed": true,
      "baseline_count": 1678,
      "current_count": 1678,
      "source_counts": {
        "approved": 867,
        "industry": 145,
        "moon-mars": 168,
        "tier1": 157,
        "first-playable": 126,
        "tier1-models": 103,
        "illustrated": 112
      },
      "order_unchanged": true,
      "changed_block_ids": [],
      "missing_block_ids": [],
      "duplicate_block_ids": []
    },
    {
      "name": "all_81_art_files_byte_identical_no_new_art",
      "passed": true,
      "baseline_count": 81,
      "current_count": 81,
      "changed_files": [],
      "missing_files": [],
      "added_files": []
    },
    {
      "name": "all_previous_anchor_ids_retained",
      "passed": true,
      "previous_unique_ids": 3132,
      "current_unique_ids": 3145,
      "missing_ids": [],
      "duplicate_ids": []
    },
    {
      "name": "review_chapter_identities_unchanged",
      "passed": true,
      "baseline_count": 45,
      "current_count": 45,
      "removed": [],
      "added": []
    },
    {
      "name": "existing_notes_and_theme_storage_keys_unchanged",
      "passed": true,
      "baseline_keys": {
        "themeKey": "substellar-overview-theme-v1",
        "notesKey": "substellar-overview-review-v1"
      },
      "current_keys": {
        "themeKey": "substellar-overview-theme-v1",
        "notesKey": "substellar-overview-review-v1"
      }
    },
    {
      "name": "current_coverage_overlay_exact_12_ux_and_2_briefs",
      "passed": true,
      "record_count": 14,
      "interface_mappings": 12,
      "concept_brief_mappings": 2,
      "errors": []
    },
    {
      "name": "historical_register_hashes_preserved",
      "passed": true,
      "registers": [
        {
          "file": "artwork_backlog.json",
          "baseline_sha256": "a6a0bdd8419331ac473d009995698f531755f8a429ad338d356148c6252699c2",
          "actual_sha256": "a6a0bdd8419331ac473d009995698f531755f8a429ad338d356148c6252699c2",
          "overlay_original_sha256": "a6a0bdd8419331ac473d009995698f531755f8a429ad338d356148c6252699c2",
          "unchanged": true
        },
        {
          "file": "next_image_slice.json",
          "baseline_sha256": "3b1ebd0f075c82f8c588931e11f5e0c8075680eda6cae66873b84a8269806f9b",
          "actual_sha256": "3b1ebd0f075c82f8c588931e11f5e0c8075680eda6cae66873b84a8269806f9b",
          "overlay_original_sha256": "3b1ebd0f075c82f8c588931e11f5e0c8075680eda6cae66873b84a8269806f9b",
          "unchanged": true
        }
      ]
    },
    {
      "name": "required_reader_controls_present",
      "passed": true,
      "required_ids": [
        "reader-nav",
        "reader-chapter",
        "reader-section",
        "reader-prev",
        "reader-next",
        "reader-position",
        "reader-copy",
        "reader-progress",
        "reader-progress-fill",
        "sidebar-scroll",
        "reader-follow",
        "reader-locate",
        "sidebar",
        "menu-toggle"
      ],
      "missing_ids": []
    },
    {
      "name": "legacy_section_observer_removed",
      "passed": true,
      "legacy_sectionEls_present": false
    },
    {
      "name": "reader_module_in_sources_and_inline_html",
      "passed": true,
      "module_name": "substellar_reader_navigation.js",
      "included_source": true,
      "inline_exact": true,
      "matches_authoring_source": true
    },
    {
      "name": "local_files_fragments_and_accessible_references_resolve",
      "passed": true,
      "fragment_links_checked": 3530,
      "local_file_links_checked": 185,
      "external_links_not_fetched": 4,
      "errors": []
    }
  ],
  "current_index_sha256": "267d386a92ffe90f0f0ec33b92d6c3ab2f62811f5cd03c7e0f31d31680c17b9f",
  "baseline_index_sha256": "8fa17a5dfbb85ed76027c7e01cdddd8a7e97fe7c19e91dd4bc8a8eaff03f62fe",
  "status": "passed",
  "failed_checks": [],
  "site_modified_by_validator": false
}
