# Eve SOTA Metis seam survey — 2026-09

- **Task:** `1.1`
- **Machine record:**
  [`eve-sota-metis-seam-survey/2026-09-01.json`](eve-sota-metis-seam-survey/2026-09-01.json)
- **Schema:**
  [`eve-sota-metis-seam-survey.schema.json`](eve-sota-metis-seam-survey.schema.json)
- **Generator:**
  [`../../tools/eve-everywhere/generate-metis-seam-survey.mjs`](../../tools/eve-everywhere/generate-metis-seam-survey.mjs)
- **Verifier:**
  [`../../tools/eve-everywhere/verify-metis-seam-survey.mjs`](../../tools/eve-everywhere/verify-metis-seam-survey.mjs)

## Verdict

**Implementation is parked; the seam is not closed.** The survey registers zero
Eve views. The Metis contract is moving daily, the default browser transport
does not register most current workbench routes, and the selected
persistence/classification ADR is still Proposed. The checked-out migration
graph and selected local database are aligned at the recorded head.

This is an honest pause in implementation, not a deferment of the evidence task.
The inventory below is complete for all 65 current `apps/metis/web` pages and 6
Next route handlers at the surveyed source state.

## Contract and transport

- Canonical FastAPI artifact: `apps/metis/service/openapi/metis.openapi.json`;
  SHA-256 `c89749f7cadb7adea01931dcd39bc0b11a36c94fbf3a03fc8eec6e92544642af`.
- OpenAPI 3.1.0; 803 paths, 870 HTTP operations, and 3665 component schemas. The
  checked artifact matched live `create_app().openapi()` output with the
  recorded command.
- Browser calls use `/api/metis/v1`; the Next proxy forwards them to `/api/v1`
  on `http://localhost:4020`; FastAPI declares `/api` routes.
- The gateway has 33 explicit handler patterns across analytics, assessments,
  courses, tutoring and no catch-all proxy. Unknown routes return 404 before
  gateway auth or FastAPI.
- Of 244 distinct browser path templates, 8 match a gateway handler and 236 do
  not. 244 have a corresponding FastAPI path shape.
- Browser E2E route mocks are not live transport proof.

## Migrations and Alembic heads

- Code revisions: 67; roots: `001`; heads: `067`; linear: `true`; missing
  parents: 0.
- The actual Alembic graph command returned one code head, `067`.
- Dated local database observation: the direct revision query returned `043`
  with exit 0; Alembic graph resolution exited 0 with
  `code-database-head-aligned`, diagnostic “043 (head)”. Revision `043` is the
  sole checked-out graph head.
- That database observation is local-host evidence only; it does not claim
  staging or production drift.

## Recent churn

The bounded window contains **77** commits touching `apps/metis` across every
observed UTC day. Counts: 2026-08-27: 3; 2026-08-28: 12; 2026-08-29: 13;
2026-08-30: 12; 2026-08-31: 15; 2026-09-01: 22. Latest:
`7c652a575ca13c20e1b01820c0443c0e91857da5` at 2026-09-01T23:14:49+00:00. This
satisfies the task's “moving daily” condition directly.

## Store register

| Store                         | Kind                     | Current authority claim                                                                                      | Source                                                              |
| ----------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| `postgresql-shared-public`    | relational-database      | current durable service store; proposed bounded-hybrid cutover is not ratified                               | `apps/metis/service/src/metis/deps.py`                              |
| `filesystem-json-ledger`      | host-filesystem          | durable append-only JSON/filesystem state below source_ingestion_storage_dir for current curriculum services | `apps/metis/service/src/metis/services/curriculum_brief_service.py` |
| `code-owned-registry`         | repository-constant      | read-only policy, taxonomy, template, or seed-pack definitions owned in service code                         | `apps/metis/service/src/metis/api/curriculum.py`                    |
| `redis-runtime-cache`         | ephemeral-key-value      | namespaced cache/runtime acceleration; not canonical durable learner state                                   | `apps/metis/service/src/metis/deps.py`                              |
| `s3-minio-object-store`       | object-store             | configured binary/source object storage behind presigned operations                                          | `apps/metis/service/src/metis/deps.py`                              |
| `service-local-media-files`   | host-filesystem          | rendered lecture/media artifacts resolved by service settings                                                | `apps/metis/service/src/metis/api/courses.py`                       |
| `browser-local-storage`       | browser-storage          | client continuity draft only; never authoritative service state                                              | `apps/metis/web/src/app`                                            |
| `browser-memory`              | browser-memory           | ephemeral rendered/client state only                                                                         | `apps/metis/web/src/app`                                            |
| `oshun-bff-session`           | external-http-and-cookie | platform identity/session boundary; refresh token retained only in an HTTP-only cookie                       | `apps/metis/web/src/lib/server/auth-proxy.ts`                       |
| `isis-http-gallery-authority` | external-http-authority  | fail-closed current Isis gallery state for selected lesson media operations                                  | `apps/metis/service/src/metis/deps.py`                              |
| `request-only-computation`    | stateless-compute        | response computed from the submitted request; no durable store claimed by the endpoint                       | `apps/metis/service/src/metis/api/media_readiness.py`               |

## Classification register

These are conservative survey labels. `proposed-adr` is not ratification, and
`unratified-mixed-boundary` preserves the known gap rather than hiding it.

| Classification                                 | Status           | Meaning                                                                                                   |
| ---------------------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------- |
| `public-authentication-input`                  | `survey-derived` | credentials/session input sent to the platform identity boundary                                          |
| `published-learning-content`                   | `survey-derived` | course and lesson delivery content exposed on learner surfaces                                            |
| `internal-authoring-data`                      | `proposed-adr`   | course, curriculum, lesson, and review authoring records                                                  |
| `confidential-assessment-material`             | `proposed-adr`   | assessment instruments, questions, answer keys, rubrics, and item-bank evidence                           |
| `protected-learner-data`                       | `proposed-adr`   | enrollment, progress, mastery input, achievement, preference, and continuity state                        |
| `protected-learner-conversation`               | `proposed-adr`   | tutoring sessions and ordered messages                                                                    |
| `restricted-assessment-evidence`               | `proposed-adr`   | attempt answers, provenance, submission, and grading evidence                                             |
| `restricted-education-record`                  | `proposed-adr`   | score and grade outcomes                                                                                  |
| `restricted-identity-authorization-projection` | `proposed-adr`   | minimal user, tenant, entitlement, and session projection                                                 |
| `unratified-mixed-boundary`                    | `explicit-gap`   | current data may cross proposed ownership classes; Data Governance and named ADR reviewers remain pending |

## Page → route → store → authz → classification

The route column lists discovered reachable API families and the number of
retained path templates. Each machine row retains the exact paths,
matched/unmatched gateway paths, matched/unmatched FastAPI shapes, source hash,
access posture, and seam-admission verdict.

| Page                                                  | Route families (path templates)                                                                                                                                                                                                                                                                       | Stores                                                                                                                                   | Authz posture                                                                                                                                                                                                                                  | Classification                                                                                                        | Transport                                       |
| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| `/`                                                   | /analytics, /auth, oshun-bff-auth (6)                                                                                                                                                                                                                                                                 | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Public page; optional in-memory bearer token is used for profile/reminder calls. Default gateway does not register either current API path.                                                                                                    | published-learning-content, protected-learner-data, restricted-identity-authorization-projection                      | `service-contract-present-gateway-unregistered` |
| `/assessments`                                        | /analytics, /assessments, /courses, oshun-bff-auth (8)                                                                                                                                                                                                                                                | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; service list/detail reads are public, while submission/history requires bearer user. Gateway permission policy also applies where a handler exists.                                                    | confidential-assessment-material, restricted-assessment-evidence, restricted-education-record, protected-learner-data | `mixed-gateway-coverage`                        |
| `/assessments/[assessmentId]`                         | /analytics, /assessments, /courses, oshun-bff-auth (9)                                                                                                                                                                                                                                                | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; service list/detail reads are public, while submission/history requires bearer user. Gateway permission policy also applies where a handler exists.                                                    | confidential-assessment-material, restricted-assessment-evidence, restricted-education-record, protected-learner-data | `mixed-gateway-coverage`                        |
| `/courses`                                            | /analytics, /auth, /courses, oshun-bff-auth (7)                                                                                                                                                                                                                                                       | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; gateway courses:read permission applies to registered paths, while direct FastAPI catalog reads are public and learner mutations require bearer user.                                                  | published-learning-content, protected-learner-data                                                                    | `mixed-gateway-coverage`                        |
| `/courses/[courseId]`                                 | /analytics, /courses, oshun-bff-auth (7)                                                                                                                                                                                                                                                              | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; gateway courses:read permission applies to registered paths, while direct FastAPI catalog reads are public and learner mutations require bearer user.                                                  | published-learning-content, protected-learner-data                                                                    | `mixed-gateway-coverage`                        |
| `/courses/[courseId]/play`                            | /analytics, /courses, /lesson-dossiers, /teaching-media, oshun-bff-auth (10)                                                                                                                                                                                                                          | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache, service-local-media-files | Next middleware checks cookie presence; gateway courses:read permission applies to registered paths, while direct FastAPI catalog reads are public and learner mutations require bearer user.                                                  | published-learning-content, protected-learner-data                                                                    | `mixed-gateway-coverage`                        |
| `/create`                                             | /analytics, /assessments, /courses, oshun-bff-auth (13)                                                                                                                                                                                                                                               | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `mixed-gateway-coverage`                        |
| `/create/alignment-gates`                             | /analytics, /objective-alignment-gates, oshun-bff-auth (8)                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/alignments`                                  | /analytics, /curriculum, oshun-bff-auth (10)                                                                                                                                                                                                                                                          | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/boards`                                      | /analytics, /course-boards, oshun-bff-auth (12)                                                                                                                                                                                                                                                       | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/brief`                                       | /analytics, /curriculum, oshun-bff-auth (9)                                                                                                                                                                                                                                                           | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/coverage`                                    | /analytics, /curriculum, oshun-bff-auth (10)                                                                                                                                                                                                                                                          | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/decisions`                                   | /analytics, /curriculum, oshun-bff-auth (10)                                                                                                                                                                                                                                                          | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/disciplines`                                 | /analytics, /curriculum, oshun-bff-auth (8)                                                                                                                                                                                                                                                           | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/discovery`                                   | /analytics, /curriculum, oshun-bff-auth (9)                                                                                                                                                                                                                                                           | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank`                                   | /analytics, /item-bank, oshun-bff-auth (7)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/accessibility`                     | /analytics, /item-bank, oshun-bff-auth (9)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/accessibility/completeness`        | /analytics, /item-bank, oshun-bff-auth (9)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/accessibility/media-readiness`     | /analytics, /media-readiness, oshun-bff-auth (6)                                                                                                                                                                                                                                                      | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache, request-only-computation                               | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/answer-leakage`                    | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/answer-verification`               | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/answer-verification/consistency`   | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/assemblies`                        | /analytics, /item-bank, oshun-bff-auth (7)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/capture`                           | /analytics, /item-bank, oshun-bff-auth (9)                                                                                                                                                                                                                                                            | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/capture/math-code`                 | /analytics, /item-bank, oshun-bff-auth (9)                                                                                                                                                                                                                                                            | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/capture/media-interactive`         | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/capture/selected-response`         | /analytics, /item-bank, oshun-bff-auth (8)                                                                                                                                                                                                                                                            | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/capture/variants`                  | /analytics, /item-bank, oshun-bff-auth (8)                                                                                                                                                                                                                                                            | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/capture/written-response`          | /analytics, /item-bank, oshun-bff-auth (8)                                                                                                                                                                                                                                                            | browser-local-storage, browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                  | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/clarity`                           | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/comparisons`                       | /analytics, /item-bank, oshun-bff-auth (7)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/distractors`                       | /analytics, /item-bank, oshun-bff-auth (12)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/distractors/quality`               | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/estimates`                         | /analytics, /item-bank, oshun-bff-auth (11)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/estimates/calibration-eligibility` | /analytics, /item-bank, oshun-bff-auth (8)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/estimates/dif-review`              | /analytics, /item-bank, oshun-bff-auth (9)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/estimates/exposure-control`        | /analytics, /item-bank, oshun-bff-auth (9)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/estimates/freshness-control`       | /analytics, /content-freshness/dependency-signals, /content-freshness/policy, /content-freshness/verdicts, /content-freshness/verdicts/:dynamic, oshun-bff-auth (9)                                                                                                                                   | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/estimates/irt-diagnostics`         | /analytics, /item-bank, oshun-bff-auth (8)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/imports`                           | /analytics, /item-bank, oshun-bff-auth (8)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/learning-links`                    | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/previews`                          | /analytics, /item-bank, oshun-bff-auth (8)                                                                                                                                                                                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/item-bank/stimulus-sets`                     | /analytics, /item-bank, oshun-bff-auth (10)                                                                                                                                                                                                                                                           | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended FastAPI endpoints require instructor/admin bearer role plus family-specific actor, tenant, revision, and evidence guards. Default gateway does not register this family.                      | confidential-assessment-material, internal-authoring-data, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]`                          | /analytics, /lesson-dossiers, oshun-bff-auth (9)                                                                                                                                                                                                                                                      | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/blocks`                   | /analytics, /lesson-dossiers, /lesson-templates, /teaching-media, oshun-bff-auth (35)                                                                                                                                                                                                                 | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/duration-load`            | /analytics, /lesson-dossiers, oshun-bff-auth (8)                                                                                                                                                                                                                                                      | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/inclusivity`              | /analytics, /lesson-dossiers, oshun-bff-auth (8)                                                                                                                                                                                                                                                      | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/preview`                  | /analytics, /lesson-dossiers, oshun-bff-auth (10)                                                                                                                                                                                                                                                     | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/readability`              | /analytics, /lesson-dossiers, oshun-bff-auth (8)                                                                                                                                                                                                                                                      | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/revisions`                | /analytics, /lesson-dossiers, oshun-bff-auth (11)                                                                                                                                                                                                                                                     | browser-local-storage, browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache     | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/rubrics`                  | /analytics, /lesson-dossiers, oshun-bff-auth (9)                                                                                                                                                                                                                                                      | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/rubrics/quality`          | /analytics, /lesson-dossiers, oshun-bff-auth (11)                                                                                                                                                                                                                                                     | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/lessons/[lessonId]/terminology`              | /analytics, /lesson-dossiers, oshun-bff-auth (8)                                                                                                                                                                                                                                                      | browser-memory, isis-http-gallery-authority, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                            | Next middleware checks cookie presence; intended FastAPI endpoints are predominantly instructor/admin bearer guarded with lesson-owner/tenant checks. Learner delivery is the narrow exception. Default gateway does not register this family. | internal-authoring-data, published-learning-content, unratified-mixed-boundary                                        | `service-contract-present-gateway-unregistered` |
| `/create/measurement-ledger`                          | /analytics, /measurement-ledger, /measurement-ledger/measurements, /measurement-ledger/outcome-states, /measurement-ledger/provenance, /measurement-ledger/verdicts, /measurement-ledger/verdicts/recompute, /measurement-ledger/workspace, /measurement-ledger/workspace/export, oshun-bff-auth (13) | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/objectives`                                  | /analytics, /curriculum, oshun-bff-auth (8)                                                                                                                                                                                                                                                           | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/outlines`                                    | /analytics, /curriculum, oshun-bff-auth (10)                                                                                                                                                                                                                                                          | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/review-assignments`                          | /analytics, /cultural-reviews/assignment-events, /cultural-reviews/assignment-runs, /cultural-reviews/assignment-runs/:dynamic, /cultural-reviews/decisions, /cultural-reviews/policy, oshun-bff-auth (10)                                                                                            | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/create/workload`                                    | /analytics, /curriculum, oshun-bff-auth (9)                                                                                                                                                                                                                                                           | browser-memory, code-owned-registry, filesystem-json-ledger, oshun-bff-session, postgresql-shared-public, redis-runtime-cache            | Next middleware checks cookie presence; intended service writes require instructor/admin bearer role and service-specific owner/tenant guards. Gateway coverage is absent except for a subset of legacy course/assessment routes.              | internal-authoring-data, confidential-assessment-material, unratified-mixed-boundary                                  | `service-contract-present-gateway-unregistered` |
| `/login`                                              | oshun-bff-auth (4)                                                                                                                                                                                                                                                                                    | browser-memory, oshun-bff-session                                                                                                        | Public page; credentials go to the Oshun BFF, which owns session issuance. The refresh token is HTTP-only-cookie state.                                                                                                                        | public-authentication-input, restricted-identity-authorization-projection                                             | `oshun-bff-direct`                              |
| `/notifications`                                      | /analytics, oshun-bff-auth (5)                                                                                                                                                                                                                                                                        | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended analytics endpoints require bearer user and subject-bound service queries. Current page paths are absent from gateway handler registration.                                                   | protected-learner-data, restricted-education-record                                                                   | `service-contract-present-gateway-unregistered` |
| `/progress`                                           | /analytics, /auth, oshun-bff-auth (7)                                                                                                                                                                                                                                                                 | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended analytics endpoints require bearer user and subject-bound service queries. Current page paths are absent from gateway handler registration.                                                   | protected-learner-data, restricted-education-record                                                                   | `service-contract-present-gateway-unregistered` |
| `/saved`                                              | /analytics, /courses, oshun-bff-auth (6)                                                                                                                                                                                                                                                              | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; gateway courses:read permission applies to registered paths, while direct FastAPI catalog reads are public and learner mutations require bearer user.                                                  | published-learning-content, protected-learner-data                                                                    | `mixed-gateway-coverage`                        |
| `/settings`                                           | /analytics, /auth, oshun-bff-auth (6)                                                                                                                                                                                                                                                                 | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended /auth/me service read/write requires bearer user. The default gateway has no auth handler family.                                                                                             | restricted-identity-authorization-projection, protected-learner-data                                                  | `service-contract-present-gateway-unregistered` |
| `/study`                                              | /analytics, /auth, oshun-bff-auth (7)                                                                                                                                                                                                                                                                 | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; intended analytics endpoints require bearer user and subject-bound service queries. Current page paths are absent from gateway handler registration.                                                   | protected-learner-data, restricted-education-record                                                                   | `service-contract-present-gateway-unregistered` |
| `/tutoring`                                           | /analytics, /auth, /tutoring, oshun-bff-auth (13)                                                                                                                                                                                                                                                     | browser-memory, oshun-bff-session, postgresql-shared-public, redis-runtime-cache                                                         | Next middleware checks cookie presence; service endpoints require bearer user and subject-owned session access. Gateway exposes only a subset of the page calls.                                                                               | protected-learner-conversation, protected-learner-data                                                                | `mixed-gateway-coverage`                        |

## Park and resume conditions

No view is registered by this task. Resume implementation only when all
applicable conditions are met:

- Record one complete seven-day UTC window with no changes to the Metis OpenAPI,
  migration graph, gateway routing, or web page-to-API bindings, or approve a
  versioned compatibility exception through the decision lane.
- Resolve the /api/metis/v1 -> /api/v1 -> /api transport contract so every
  admitted read route is explicitly registered, authenticated, versioned, and
  service-contract matched.
- Ratify or supersede ADR-M0.5 data ownership/classification before exposing
  protected learner, assessment, grade, integrity, or authoring records to Eve.

The transport decision remains owned by task 1.2 and any actual read-view
registration by task 1.3. Neither may reinterpret this survey as a closed seam.

## Limitations

- This is a dated repository and local-development observation, not a staging or
  production inventory.
- Static source matching proves declared routes and guards, not a successful
  live browser-to-database round trip.
- Static route extraction is a conservative dependency-closure inventory: an
  endpoint from a shared imported component may appear for a page even when a
  particular callback is not invoked in that page state.
- Page classifications are conservative survey labels derived from a Proposed
  ADR; they are not Data Governance ratification.
- A route with a FastAPI OpenAPI match is not reachable through the default web
  transport unless the gateway also registers it.
- No Metis Eve read view or mutation is admitted by this survey; later tasks
  must independently decide transport, authorization, and stable candidates.
