INV-ARC-008: Identity Resolution and Seat Scope
| Reference Number | Version | Effective Date | Supersedes | Authority Level |
|---|---|---|---|---|
| INV-ARC-008 | 1.3 | 2026-10-14 | 1.2 | Constitutional |
Important
v1.3 (2026-10-14), developer-documentation modernization pass. Corrected a mislabeled Authority Level: this is a Tier 1 (INV-ARC) document and must read Constitutional, not Foundational – “Foundational” is reserved for INV-CORE (Tier 0). No substantive rule in this document changed.
I. Purpose
Define the execution-layer rules for resolving authenticated identity into active class scope without fallback, leakage, or alias-based participant access.
II. Scope
Applies to authentication resolution, session restoration, scoped participant routing,
and all request paths that derive seat_id or class_id from user-facing identity
inputs.
III. Authority Level
Constitutional within INV-ARC. Derived from INV-CORE-000 Section III.1, `class_id` Centric Isolation, and Section III.4, Principal and Actor Authority, and governed within the hierarchy described by INV-CORE-001.
IV. Dependencies
docs/INVARIANT/CORE/INV-CORE-000_CORE_INVARIANTS.mddocs/INVARIANT/CORE/INV-CORE-001_CAPABILITY_BASED_ARCHITECTURE_AND_AUTHORITY_MODEL.mdINV-ARC-001_SCOPED_REQUEST_CONTEXT.mdINV-ARC-010_EXPLICIT_CONTEXT_SWITCHING.mdINV-ARC-011_NO_PHANTOM_SCOPE_ACCESS.md
V. Core Rule
Identity resolution MUST stop at one authenticated, active class context.
Requests and participant URLs MUST resolve to exactly one seat_id within exactly one
active class_id, or fail closed.
VI. Execution Constraints
- Authentication Resolution Pipeline: The only authorized identity resolution chain
during authentication is
users.id-> active class context ->seats.id->identity_profile. - Domain Execution Boundary: Domain code MUST NOT reconstruct or infer
seat_idorclass_id. Those anchors must be supplied by the routing and authentication layer. - Student ID Quarantine: Legacy
student_idis transitional and load-bearing for legacy records only. It MUST NOT be introduced into new V2 domains, routes, or FEATs. No bridge code, dual-write, fallback or heuristic interpretation is an exception to this rule. Retained historical records may be read under an explicit immutable semantic version, solely to interpret lawful historical state and never to create new state. - Seat Public-ID Boundary: Class-scoped participant URLs MUST expose
seats.public_id, the UUID-encoded canonical deidentified public actor identifier, then resolve that identifier under the activeclass_id. A public ID from another class MUST fail closed, including when the same teacher owns both classes or the same user owns both seats. - No Alias Substitution: Legacy numeric student IDs and role-specific public IDs MUST
NOT be accepted as substitutes for
seats.public_idon class-scoped participant routes. - No Seat Fallback: If a participant is not present in the active class, the request must fail. Resolution MUST NOT fall back to another seat owned by the same user or visible to the same teacher.
VII. Rebuild Intent
This rule exists to prevent transitional identity bridges from becoming durable
authority shortcuts. The rebuild must treat active class scope as authoritative and
reject any attempt to recover meaning from alternate seats, legacy numeric IDs, or
global identity aliases. Physical schema coexistence during expand/contract is not a
bridge, and read-side interpretation of versioned history is not an alternate identity
path; neither may supply or recover seat_id or class_id for a new request.
VIII. Downstream Consequence
DOM-IDEN owns the truth of users, seats, and class bindings, while request handlers
and auth helpers must enforce this invariant before any domain interaction occurs.
Teacher-facing participant navigation, class restoration, and claim-adjacent flows must all fail closed on scope mismatch.
IX. Amendment
Revisions must preserve fail-closed active-class resolution and the prohibition on alias-based participant lookup.
Version 1.2 (2026-10-06) removes the “explicitly approved bridge code” allowance from §VI and
states the owner’s compatibility ruling recorded in SOP-DB-004 §VII–VIII. Supersedes only that
allowance. Fail-closed active-class resolution and the prohibition on alias-based participant
lookup are unchanged.
Last updated: 2026-10-14