{
  "timestamp": "2026-08-10T14:44:07.931Z",
  "generated": "2026-08-10",
  "generatedAt": "2026-08-10T14:44:07.931Z",
  "release": "member-profile-tab-link-fix-2026-08-09",
  "releaseId": "member-profile-tab-link-fix-2026-08-09-935-833b4f160487",
  "catalogReleaseId": "member-profile-tab-link-fix-2026-08-09-935-833b4f160487",
  "siteBuildId": "member-profile-tab-link-fix-2026-08-09-site-20260810144407-1ab04e157632",
  "siteBuildHash": "1ab04e1576328a200a401c25c9d298428d8f810d766981f19d92466f4e6cbe15",
  "schemaVersion": "2.1.0",
  "canonicalRecordCount": 935,
  "catalogContentHash": "833b4f1604872ce87473939a20c54ec9a9fb235d797a357b5f5788cad3420cbb",
  "expectedCatalogContentHash": "833b4f1604872ce87473939a20c54ec9a9fb235d797a357b5f5788cad3420cbb",
  "catalog": "/catalog/catalog.json",
  "sourceCatalogPath": "reconstruction/catalog/catalog.json",
  "validJson": true,
  "passed": true,
  "errors": [],
  "warnings": [
    {
      "code": "legacy_related_text",
      "message": "Most related values are legacy descriptive text, not resolvable record ids; graph export leaves those as warnings rather than inferred edges.",
      "count": 2425,
      "resolvableRelatedIds": 0,
      "totalRelatedValues": 2425
    },
    {
      "code": "root_relative_urls_recommended",
      "message": "Relative public paths are valid in-site but root-relative normalized paths are safer for external consumers.",
      "relativeRecordUrls": 0,
      "relativeArchivePaths": 935,
      "sample": [
        {
          "id": "evidence-tightbeatz-profile",
          "field": "archivePath",
          "value": "../../index.html#sources",
          "normalizedUrl": "/index.html#sources",
          "issue": "relative archive path"
        },
        {
          "id": "source-2005-invision-power-board",
          "field": "archivePath",
          "value": "../../index.html#forum",
          "normalizedUrl": "/index.html#forum",
          "issue": "relative archive path"
        },
        {
          "id": "source-2006-tightbeatz-frontpage",
          "field": "archivePath",
          "value": "../../index.html#sources",
          "normalizedUrl": "/index.html#sources",
          "issue": "relative archive path"
        },
        {
          "id": "evidence-jamroom-homepage-2012-01-28",
          "field": "archivePath",
          "value": "../../index.html#later-era",
          "normalizedUrl": "/index.html#later-era",
          "issue": "relative archive path"
        },
        {
          "id": "evidence-jamroom-homepage-2012-02-06",
          "field": "archivePath",
          "value": "../../index.html#later-era",
          "normalizedUrl": "/index.html#later-era",
          "issue": "relative archive path"
        },
        {
          "id": "evidence-jamroom-homepage-2012-05-21",
          "field": "archivePath",
          "value": "../../index.html#later-era",
          "normalizedUrl": "/index.html#later-era",
          "issue": "relative archive path"
        },
        {
          "id": "evidence-jamroom-homepage-2013-05-22",
          "field": "archivePath",
          "value": "../../index.html#later-era",
          "normalizedUrl": "/index.html#later-era",
          "issue": "relative archive path"
        },
        {
          "id": "evidence-jamroom-homepage-2013-06-18",
          "field": "archivePath",
          "value": "../../index.html#later-era",
          "normalizedUrl": "/index.html#later-era",
          "issue": "relative archive path"
        },
        {
          "id": "artwork-album-72",
          "field": "archivePath",
          "value": "../../index.html#music",
          "normalizedUrl": "/index.html#music",
          "issue": "relative archive path"
        },
        {
          "id": "network-a-hood-https-www-modernbeats-com-hit-talk-making-hip-hop-beats-in-adobe-audition",
          "field": "archivePath",
          "value": "../../index.html#sources",
          "normalizedUrl": "/index.html#sources",
          "issue": "relative archive path"
        }
      ]
    }
  ],
  "totals": {
    "records": 935,
    "count": 935,
    "canonicalRecordCount": 935,
    "uniqueIds": 935,
    "duplicateIds": 0,
    "duplicateCanonicalUrls": 0,
    "relationships": 392,
    "relatedValues": 2425,
    "relatedResolvableIds": 0,
    "relatedLegacyText": 2425,
    "localImages": 21,
    "missingLocalImages": 0,
    "recordsWithItemPages": 935,
    "missingItemPages": 0
  },
  "pathAudit": {
    "stats": {
      "relativeRecordUrls": 0,
      "rootRelativeRecordUrls": 935,
      "externalRecordUrls": 0,
      "missingItemPages": 0,
      "relativeArchivePaths": 935,
      "rootRelativeArchivePaths": 0,
      "externalArchivePaths": 0,
      "localImages": 21,
      "missingLocalImages": 0,
      "brokenNestedCatalogPaths": 0
    },
    "samples": [
      {
        "id": "evidence-tightbeatz-profile",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "source-2005-invision-power-board",
        "field": "archivePath",
        "value": "../../index.html#forum",
        "normalizedUrl": "/index.html#forum",
        "issue": "relative archive path"
      },
      {
        "id": "source-2006-tightbeatz-frontpage",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "evidence-jamroom-homepage-2012-01-28",
        "field": "archivePath",
        "value": "../../index.html#later-era",
        "normalizedUrl": "/index.html#later-era",
        "issue": "relative archive path"
      },
      {
        "id": "evidence-jamroom-homepage-2012-02-06",
        "field": "archivePath",
        "value": "../../index.html#later-era",
        "normalizedUrl": "/index.html#later-era",
        "issue": "relative archive path"
      },
      {
        "id": "evidence-jamroom-homepage-2012-05-21",
        "field": "archivePath",
        "value": "../../index.html#later-era",
        "normalizedUrl": "/index.html#later-era",
        "issue": "relative archive path"
      },
      {
        "id": "evidence-jamroom-homepage-2013-05-22",
        "field": "archivePath",
        "value": "../../index.html#later-era",
        "normalizedUrl": "/index.html#later-era",
        "issue": "relative archive path"
      },
      {
        "id": "evidence-jamroom-homepage-2013-06-18",
        "field": "archivePath",
        "value": "../../index.html#later-era",
        "normalizedUrl": "/index.html#later-era",
        "issue": "relative archive path"
      },
      {
        "id": "artwork-album-72",
        "field": "archivePath",
        "value": "../../index.html#music",
        "normalizedUrl": "/index.html#music",
        "issue": "relative archive path"
      },
      {
        "id": "network-a-hood-https-www-modernbeats-com-hit-talk-making-hip-hop-beats-in-adobe-audition",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "network-apostrophe-https-www-soundclick-com-mantix",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "offsite-art-bib",
        "field": "archivePath",
        "value": "../../index.html#music",
        "normalizedUrl": "/index.html#music",
        "issue": "relative archive path"
      },
      {
        "id": "network-beatboi-ryan-https-www-soundclick-com-beatboiryan",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "network-beats-by-d-i-m-https-www-soundclick-com-beatsbydim",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "network-big-chris-prod-https-www-soundclick-com-bigchrisprod",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "offsite-art-big-chris",
        "field": "archivePath",
        "value": "../../index.html#music",
        "normalizedUrl": "/index.html#music",
        "issue": "relative archive path"
      },
      {
        "id": "network-bionic-minds-https-www-soundclick-com-bionicminds",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "network-bluchylde-https-www-k20a-org-threads-2005-sc-rsx-s-vs-2005-evo-mr-9632",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "evidence-bone-crackaz",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "network-c-t-h-o-beatz-https-www-soundclick-com-cthobeatz",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "network-caliche-https-whoa-nu-forum-var-hiphop-beats-480596-1-aspx",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "artwork-album-18",
        "field": "archivePath",
        "value": "../../index.html#music",
        "normalizedUrl": "/index.html#music",
        "issue": "relative archive path"
      },
      {
        "id": "artwork-album-49",
        "field": "archivePath",
        "value": "../../index.html#music",
        "normalizedUrl": "/index.html#music",
        "issue": "relative archive path"
      },
      {
        "id": "network-deanero-https-www-soundclick-com-deanero",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      },
      {
        "id": "network-dnm-https-www-hip-hop-ru-forum-ssylki-na-vashi-raboty-zdes-47816-index116-html",
        "field": "archivePath",
        "value": "../../index.html#sources",
        "normalizedUrl": "/index.html#sources",
        "issue": "relative archive path"
      }
    ],
    "recommendations": [
      "Migrate archivePath values in a later source-data pass only after record-page and root-page references are checked together."
    ],
    "migrationPlan": [
      "Catalog record urls are generated as root-relative public routes.",
      "Legacy archivePath values remain descriptive source-routing hints until a separate audited source-data pass.",
      "Do not rewrite archivePath prose merely to make incomplete historical evidence look cleaner.",
      "After any URL migration, rebuild, run validate:catalog, and spot-check item pages plus static routes before deployment."
    ]
  }
}
