{
  "schema_version":"0.2",
  "control_id":"MNT06",
  "reviewed_on":"2026-09-17",
  "status":"implemented_complete_route_inventory",
  "domains":[
    {"id":"orientation","depends_on":[],"access":"public","interaction_boundary":"Public navigation, device-local view preferences, and a homepage relationship preview that generates no evidence, confidence, or stored record.","hooks":["navigation.inventory.changed","platform.access.changed","accessibility.expectation.changed"],"successor_path":"Preserve redirects, navigation labels, search indexing, breadcrumbs, and the prior release until every entry route migrates.","routes":[
      {"path":"/","source":"app/page.tsx","kind":"page"},{"path":"/dashboard","source":"app/dashboard/page.tsx","kind":"page"},{"path":"/feedback","source":"app/feedback/page.tsx","kind":"page"},{"path":"/glossary","source":"app/glossary/page.tsx","kind":"page"},{"path":"/search","source":"app/search/page.tsx","kind":"page"},{"path":"/site-continuity","source":"app/site-continuity/page.tsx","kind":"page"},{"path":"/start","source":"app/start/page.tsx","kind":"page"},{"path":"/status","source":"app/status/page.tsx","kind":"page"}
    ]},
    {"id":"contribution","depends_on":["orientation","research_archive"],"access":"public","interaction_boundary":"The bounded public contribution form and server endpoint validate submissions without creating accounts; a receipt is not scientific acceptance.","hooks":["contribution.form.changed","storage.schema.changed","platform.access.changed","privacy.expectation.changed"],"successor_path":"Preserve draft recovery, validation, privacy boundaries, submission receipts, and migration or rollback instructions before changing the form or endpoint.","routes":[
      {"path":"/contribute","source":"app/contribute/page.tsx","kind":"page"},{"path":"/contributors","source":"app/contributors/page.tsx","kind":"page"},{"path":"/api/contributions","source":"app/api/contributions/route.ts","kind":"api"}
    ]},
    {"id":"research_archive","depends_on":["orientation"],"access":"public","interaction_boundary":"Public reading and downloading only; archive presence does not validate a scientific claim.","hooks":["research.parent.changed","research.term.changed"],"successor_path":"Retain stable document identifiers, citations, immutable recovery points, and a compatibility reader for superseded formats.","routes":[
      {"path":"/resources","source":"app/resources/page.tsx","kind":"page"},{"path":"/resources/read/[slug]","source":"app/resources/read/[slug]/page.tsx","kind":"page"}
    ]},
    {"id":"model","depends_on":["research_archive"],"access":"public","interaction_boundary":"Public selection, relational exploration, and export; interactions do not mutate shared evidence or imply causation.","hooks":["research.term.changed","visualization.relation.changed","visualization.schema.changed"],"successor_path":"Preserve scalar aliases, stable relation identifiers, text equivalents, interpretation limits, and export compatibility.","routes":[
      {"path":"/model","source":"app/model/page.tsx","kind":"page"},{"path":"/model/evidence-graph","source":"app/model/evidence-graph/page.tsx","kind":"page"},{"path":"/model/registry","source":"app/model/registry/page.tsx","kind":"page"}
    ]},
    {"id":"simulation","depends_on":["model"],"access":"public","interaction_boundary":"Bounded client-side demonstration and export only; no general-physics claim or durable personal data.","hooks":["simulation.schema.changed","simulation.method.changed","simulation.limit.changed"],"successor_path":"Version the run schema and preserve conventional baselines, null worlds, limits, fixtures, and export compatibility.","routes":[
      {"path":"/simulate","source":"app/simulate/page.tsx","kind":"page"}
    ]},
    {"id":"investigation","depends_on":["orientation","research_archive","model"],"access":"public","interaction_boundary":"Public guidance, prompts, and query-prefilled inquiry paths; no automatic integration into evidence.","hooks":["prompt.registry.changed","navigation.inventory.changed","development.priority.changed"],"successor_path":"Preserve prompt intent, dependency ordering, stable investigation identifiers, and explicit handoff to evidence review.","routes":[
      {"path":"/investigate","source":"app/investigate/page.tsx","kind":"page"},{"path":"/investigate/[slug]","source":"app/investigate/[slug]/page.tsx","kind":"page"},{"path":"/investigate/inspiration-workspace","source":"app/investigate/inspiration-workspace/page.tsx","kind":"page"},{"path":"/investigate/onboarding","source":"app/investigate/onboarding/page.tsx","kind":"page"},{"path":"/investigate/questions","source":"app/investigate/questions/page.tsx","kind":"page"},{"path":"/investigate/research-questions","source":"app/investigate/research-questions/page.tsx","kind":"page"}
    ]},
    {"id":"maintenance","depends_on":["orientation","investigation"],"access":"public","interaction_boundary":"Read-only public governance and machine-readable maintenance records; priorities do not override blocked gates.","hooks":["development.priority.changed","platform.hosting.changed","feature.deprecated","journey.inventory.changed"],"successor_path":"Preserve the change register, prior statuses, redirects, machine-readable contracts, and recoverable releases during replacement.","routes":[
      {"path":"/investigate/change-register","source":"app/investigate/change-register/page.tsx","kind":"page"},{"path":"/investigate/dependency-map","source":"app/investigate/dependency-map/page.tsx","kind":"page"},{"path":"/investigate/development-queue","source":"app/investigate/development-queue/page.tsx","kind":"page"},{"path":"/investigate/development-roadmap","source":"app/investigate/development-roadmap/page.tsx","kind":"page"},{"path":"/investigate/maintenance-status","source":"app/investigate/maintenance-status/page.tsx","kind":"page"},{"path":"/investigate/usability-evidence","source":"app/investigate/usability-evidence/page.tsx","kind":"page"}
    ]},
    {"id":"operational_research","depends_on":["investigation","model"],"access":"public","interaction_boundary":"Public staged research guidance and registers; no unreviewed intervention, physical execution authorization, shared-model mutation, or operational claim.","hooks":["research.parent.changed","research.term.changed","simulation.method.changed","privacy.expectation.changed","experiment.program.changed","experiment.safety.changed","experiment.claim.status.changed"],"successor_path":"Preserve lineage, nulls, conflicts, experimental maturity, readiness gates, portability, blocked-state history, and the usefulness-versus-ontology boundary.","routes":[
      {"path":"/investigate/cross-site-trials","source":"app/investigate/cross-site-trials/page.tsx","kind":"page"},{"path":"/investigate/intervention-sandbox","source":"app/investigate/intervention-sandbox/page.tsx","kind":"page"},{"path":"/investigate/long-duration","source":"app/investigate/long-duration/page.tsx","kind":"page"},{"path":"/investigate/model-exchange","source":"app/investigate/model-exchange/page.tsx","kind":"page"},{"path":"/investigate/replication","source":"app/investigate/replication/page.tsx","kind":"page"},{"path":"/investigate/replication-index","source":"app/investigate/replication-index/page.tsx","kind":"page"},{"path":"/investigate/stewardship","source":"app/investigate/stewardship/page.tsx","kind":"page"},{"path":"/investigate/utility-register","source":"app/investigate/utility-register/page.tsx","kind":"page"}
      ,{"path":"/investigate/experimentation-roadmap","source":"app/investigate/experimentation-roadmap/page.tsx","kind":"page"}
    ]},
    {"id":"participation_safety","depends_on":["contribution","maintenance"],"access":"public","interaction_boundary":"Public reading with adult-attested, authenticated, pre-moderated research posting. Participants receive private account-scoped profile, submission, following, email-preference, mute, and activity controls; owner moderation remains separately authorized. Submissions remain nonpublic until owner moderation. User-submitted links are stored as inert safety-review records and cannot become clickable until technical destination checks pass. Contact information, uploads, private messaging, popularity signals, and unsupervised student interaction remain disabled.","hooks":["forum.policy.changed","forum.profile.changed","forum.following.changed","notification.delivery.changed","link.safety.provider.changed","moderation.capacity.changed","student.workspace.changed","minor.safeguard.changed","student.interaction.changed","funding.opportunity.changed"],"successor_path":"Keep new writes and links fail-closed through migration; preserve minimized public responses, participant-only statuses, ownership, explicit preferences, safeguarding, reports, moderation history, privacy filters, role boundaries, appeal limitations, and public-record exports.","routes":[
      {"path":"/investigate/forum-operations","source":"app/investigate/forum-operations/page.tsx","kind":"page"},{"path":"/investigate/forum-readiness","source":"app/investigate/forum-readiness/page.tsx","kind":"page"},{"path":"/investigate/forum-threads","source":"app/investigate/forum-threads/page.tsx","kind":"page"},{"path":"/investigate/forum-threads/[id]","source":"app/investigate/forum-threads/[id]/page.tsx","kind":"page"},{"path":"/investigate/forum-my-work","source":"app/investigate/forum-my-work/page.tsx","kind":"page"},{"path":"/investigate/forum-moderation","source":"app/investigate/forum-moderation/page.tsx","kind":"page"},{"path":"/investigate/forum-profile","source":"app/investigate/forum-profile/page.tsx","kind":"page"},{"path":"/investigate/grants","source":"app/investigate/grants/page.tsx","kind":"page"},{"path":"/investigate/student-safety","source":"app/investigate/student-safety/page.tsx","kind":"page"},{"path":"/investigate/student-workspace","source":"app/investigate/student-workspace/page.tsx","kind":"page"},
      {"path":"/api/forum/threads","source":"app/api/forum/threads/route.ts","kind":"api"},{"path":"/api/forum/threads/[id]","source":"app/api/forum/threads/[id]/route.ts","kind":"api"},{"path":"/api/forum/threads/[id]/posts","source":"app/api/forum/threads/[id]/posts/route.ts","kind":"api"},{"path":"/api/forum/posts/[id]","source":"app/api/forum/posts/[id]/route.ts","kind":"api"},{"path":"/api/forum/reports","source":"app/api/forum/reports/route.ts","kind":"api"},{"path":"/api/forum/moderation","source":"app/api/forum/moderation/route.ts","kind":"api"},{"path":"/api/forum/profile","source":"app/api/forum/profile/route.ts","kind":"api"},{"path":"/api/forum/follows","source":"app/api/forum/follows/route.ts","kind":"api"}
    ]}
  ],
  "change_rule":"Adding, removing, renaming, redirecting, reclassifying, or changing the access or interaction boundary of a page or API route requires this registry, affected feature interconnections, navigation and search checks, and the change register to change in the same bounded release.",
  "limitations":["source inventory does not prove external availability","public access does not authorize collection of personal data","route presence does not open a blocked interaction stage"],
  "verification":{"checker":"scripts/check-route-lifecycle.mjs","command":"pnpm check:site"}
}
