{
  "builder": "tools/meta/dissemination/build_microcosm_public_site.py",
  "canonical_site_base_url": "https://wcook04.github.io/plectis/",
  "current_public_name": "Plectis",
  "generated_at": "1970-01-01T00:00:00+00:00",
  "identity_invariant": "Plectis is the preferred public identity; Microcosm is a historical and compatibility label, not a second active brand.",
  "legacy_public_name": "Microcosm",
  "legacy_site_base_url": "https://wcook04.github.io/plectis/",
  "mode_counts": {
    "byte_compatible_alias": 15,
    "html_redirect": 26,
    "legacy_404": 1,
    "legacy_projection_status": 1,
    "legacy_security_txt": 2
  },
  "route_count": 45,
  "route_policy": {
    "byte_compatible_alias": "Machine-readable JSON and static assets are emitted as files so the old URL keeps its content type.",
    "html_redirect": "HTML routes show the transition and may forward to the canonical route; they are not used for machine-readable assets.",
    "legacy_404": "The GitHub Pages 404 is a visible compatibility fallback, not a server-side redirect.",
    "legacy_projection_status": "The old projection-status URL returns a legacy JSON status pointer, not an HTML redirect.",
    "legacy_security_txt": "The old host serves its own security.txt so vulnerability-reporting metadata remains valid while the human-facing site is a tombstone."
  },
  "routes": [
    {
      "canonical_path": "index.html",
      "canonical_url": "https://wcook04.github.io/plectis/",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "index.html",
      "legacy_url": "https://wcook04.github.io/plectis/index.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/index.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/index.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/index.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/index.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/tour.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/tour.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/tour.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/tour.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/open-questions.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/open-questions.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/open-questions.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/open-questions.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/quickstart.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/quickstart.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/quickstart.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/quickstart.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/coding-agents.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/coding-agents.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/coding-agents.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/coding-agents.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/architecture.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/architecture.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/architecture.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/architecture.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/doctrine.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/doctrine.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/doctrine.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/doctrine.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/area-entry.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/area-entry.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/area-entry.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/area-entry.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/area-architecture.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/area-architecture.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/area-architecture.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/area-architecture.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/area-formal-math.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/area-formal-math.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/area-formal-math.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/area-formal-math.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/area-agent-reliability.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/area-agent-reliability.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/area-agent-reliability.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/area-agent-reliability.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/area-research.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/area-research.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/area-research.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/area-research.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/area-import-drift.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/area-import-drift.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/area-import-drift.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/area-import-drift.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/area-continuity.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/area-continuity.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/area-continuity.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/area-continuity.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/components.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/components.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/components.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/components.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/field-guide.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/field-guide.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/field-guide.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/field-guide.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/rules-and-ideas.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/rules-and-ideas.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/rules-and-ideas.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/rules-and-ideas.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/paper-modules.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/paper-modules.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/paper-modules.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/paper-modules.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/evidence.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/evidence.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/evidence.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/evidence.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/glossary.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/glossary.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/glossary.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/glossary.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/lineage.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/lineage.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/lineage.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/lineage.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/updates.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/updates.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/updates.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/updates.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/source.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/source.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/source.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/source.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/contact.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/contact.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/contact.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/contact.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "docs/vulnerability-disclosure.html",
      "canonical_url": "https://wcook04.github.io/plectis/docs/vulnerability-disclosure.html",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible transition notice with noindex, canonical link, automatic HTML forwarding, and ordinary link fallback",
      "legacy_path": "docs/vulnerability-disclosure.html",
      "legacy_url": "https://wcook04.github.io/plectis/docs/vulnerability-disclosure.html",
      "mode": "html_redirect",
      "query_fragment_policy": "GitHub Pages static HTML cannot server-preserve query strings or fragments; the visible fallback names the canonical route."
    },
    {
      "canonical_path": "content-graph.json",
      "canonical_url": "https://wcook04.github.io/plectis/content-graph.json",
      "content_type": "application/json; charset=utf-8",
      "expected_behavior": "return current public JSON bytes under the old URL; never return HTML for this machine-readable object",
      "legacy_path": "content-graph.json",
      "legacy_url": "https://wcook04.github.io/plectis/content-graph.json",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility parses the emitted legacy file as JSON",
      "semantic_equivalence": "current_public_packet_schema_preserved"
    },
    {
      "canonical_path": "content-manifest.json",
      "canonical_url": "https://wcook04.github.io/plectis/content-manifest.json",
      "content_type": "application/json; charset=utf-8",
      "expected_behavior": "return current public JSON bytes under the old URL; never return HTML for this machine-readable object",
      "legacy_path": "content-manifest.json",
      "legacy_url": "https://wcook04.github.io/plectis/content-manifest.json",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility parses the emitted legacy file as JSON",
      "semantic_equivalence": "current_public_packet_schema_preserved"
    },
    {
      "canonical_path": "object-map.json",
      "canonical_url": "https://wcook04.github.io/plectis/object-map.json",
      "content_type": "application/json; charset=utf-8",
      "expected_behavior": "return current public JSON bytes under the old URL; never return HTML for this machine-readable object",
      "legacy_path": "object-map.json",
      "legacy_url": "https://wcook04.github.io/plectis/object-map.json",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility parses the emitted legacy file as JSON",
      "semantic_equivalence": "current_public_packet_schema_preserved"
    },
    {
      "canonical_path": "microcosm-ai-reader-digest.json",
      "canonical_url": "https://wcook04.github.io/plectis/microcosm-ai-reader-digest.json",
      "content_type": "application/json; charset=utf-8",
      "expected_behavior": "return current public JSON bytes under the old URL; never return HTML for this machine-readable object",
      "legacy_path": "microcosm-ai-reader-digest.json",
      "legacy_url": "https://wcook04.github.io/plectis/microcosm-ai-reader-digest.json",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility parses the emitted legacy file as JSON",
      "semantic_equivalence": "current_public_packet_schema_preserved"
    },
    {
      "canonical_path": "microcosm-ai-review-packet.json",
      "canonical_url": "https://wcook04.github.io/plectis/microcosm-ai-review-packet.json",
      "content_type": "application/json; charset=utf-8",
      "expected_behavior": "return current public JSON bytes under the old URL; never return HTML for this machine-readable object",
      "legacy_path": "microcosm-ai-review-packet.json",
      "legacy_url": "https://wcook04.github.io/plectis/microcosm-ai-review-packet.json",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility parses the emitted legacy file as JSON",
      "semantic_equivalence": "current_public_packet_schema_preserved"
    },
    {
      "canonical_path": "assets/search-index.js",
      "canonical_url": "https://wcook04.github.io/plectis/assets/search-index.js",
      "content_type": "application/javascript; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/search-index.js",
      "legacy_url": "https://wcook04.github.io/plectis/assets/search-index.js",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "assets/site-packet.js",
      "canonical_url": "https://wcook04.github.io/plectis/assets/site-packet.js",
      "content_type": "application/javascript; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/site-packet.js",
      "legacy_url": "https://wcook04.github.io/plectis/assets/site-packet.js",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "assets/object-map.js",
      "canonical_url": "https://wcook04.github.io/plectis/assets/object-map.js",
      "content_type": "application/javascript; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/object-map.js",
      "legacy_url": "https://wcook04.github.io/plectis/assets/object-map.js",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "assets/ai-orientation-packet.js",
      "canonical_url": "https://wcook04.github.io/plectis/assets/ai-orientation-packet.js",
      "content_type": "application/javascript; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/ai-orientation-packet.js",
      "legacy_url": "https://wcook04.github.io/plectis/assets/ai-orientation-packet.js",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "assets/ai-reader-digest-packet.js",
      "canonical_url": "https://wcook04.github.io/plectis/assets/ai-reader-digest-packet.js",
      "content_type": "application/javascript; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/ai-reader-digest-packet.js",
      "legacy_url": "https://wcook04.github.io/plectis/assets/ai-reader-digest-packet.js",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "assets/ai-review-packet.js",
      "canonical_url": "https://wcook04.github.io/plectis/assets/ai-review-packet.js",
      "content_type": "application/javascript; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/ai-review-packet.js",
      "legacy_url": "https://wcook04.github.io/plectis/assets/ai-review-packet.js",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "updates.xml",
      "canonical_url": "https://wcook04.github.io/plectis/updates.xml",
      "content_type": "application/atom+xml; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "updates.xml",
      "legacy_url": "https://wcook04.github.io/plectis/updates.xml",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "assets/style.css",
      "canonical_url": "https://wcook04.github.io/plectis/assets/style.css",
      "content_type": "text/css; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/style.css",
      "legacy_url": "https://wcook04.github.io/plectis/assets/style.css",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "assets/docs.js",
      "canonical_url": "https://wcook04.github.io/plectis/assets/docs.js",
      "content_type": "application/javascript; charset=utf-8",
      "expected_behavior": "return the same-origin public asset under the old URL without content-type corruption",
      "legacy_path": "assets/docs.js",
      "legacy_url": "https://wcook04.github.io/plectis/assets/docs.js",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility verifies the emitted alias exists",
      "semantic_equivalence": "asset_transport_alias"
    },
    {
      "canonical_path": "legacy-route-manifest.json",
      "canonical_url": "https://wcook04.github.io/plectis/legacy-route-manifest.json",
      "content_type": "application/json; charset=utf-8",
      "expected_behavior": "return the compatibility route manifest as JSON",
      "legacy_path": "legacy-route-manifest.json",
      "legacy_url": "https://wcook04.github.io/plectis/legacy-route-manifest.json",
      "mode": "byte_compatible_alias",
      "proof": "validate_legacy_compatibility parses this manifest before route checks",
      "semantic_equivalence": "same_route_manifest"
    },
    {
      "canonical_path": "projection-status.json",
      "canonical_url": "https://wcook04.github.io/plectis/projection-status.json",
      "content_type": "application/json; charset=utf-8",
      "expected_behavior": "return a legacy-specific JSON status object that points at the canonical projection-status route and this manifest",
      "legacy_path": "projection-status.json",
      "legacy_url": "https://wcook04.github.io/plectis/projection-status.json",
      "mode": "legacy_projection_status",
      "proof": "validate_legacy_compatibility parses the emitted legacy status as JSON",
      "semantic_equivalence": "legacy_status_not_html_redirect"
    },
    {
      "canonical_path": ".well-known/security.txt",
      "canonical_url": "https://wcook04.github.io/plectis/.well-known/security.txt",
      "content_type": "text/plain; charset=utf-8",
      "expected_behavior": "return a legacy-host security.txt generated with the old host as its canonical security.txt URL",
      "legacy_path": ".well-known/security.txt",
      "legacy_url": "https://wcook04.github.io/plectis/.well-known/security.txt",
      "mode": "legacy_security_txt",
      "proof": "host verifier fetches .well-known/security.txt from the legacy host",
      "semantic_equivalence": "legacy_host_security_contact"
    },
    {
      "canonical_path": "security.txt",
      "canonical_url": "https://wcook04.github.io/plectis/security.txt",
      "content_type": "text/plain; charset=utf-8",
      "expected_behavior": "return a legacy-host security.txt generated with the old host as its canonical security.txt URL",
      "legacy_path": "security.txt",
      "legacy_url": "https://wcook04.github.io/plectis/security.txt",
      "mode": "legacy_security_txt",
      "proof": "host verifier fetches .well-known/security.txt from the legacy host",
      "semantic_equivalence": "legacy_host_security_contact"
    },
    {
      "canonical_path": "index.html",
      "canonical_url": "https://wcook04.github.io/plectis/",
      "content_type": "text/html; charset=utf-8",
      "expected_behavior": "visible not-found explanation with nearest canonical route; remains a 404 response on GitHub Pages",
      "legacy_path": "404.html",
      "legacy_url": "https://wcook04.github.io/plectis/404.html",
      "mode": "legacy_404",
      "query_fragment_policy": "not_applicable_for_404_fallback"
    }
  ],
  "schema": "plectis_legacy_route_manifest_v0",
  "source_fingerprint": "30850b909d8aae06f4f841929476e38e"
}
