FEAT-CLASS-001: Creating New Class Boundary
| Reference Number | Version | Effective Date | Supersedes | Authority Level |
|---|---|---|---|---|
| FEAT-CLASS-001 | 0.2 | 2026-09-17 | 0.1 | Normative |
I. Purpose
This FEAT defines the canonical workflow for establishing a new Class Boundary.
A new Class Boundary consists of:
- one Class;
- one Teacher Seat;
- required class configuration;
- no Student Seats; roster operations are separate IDENTITY workflows.
This workflow SHALL be used for:
- initial class creation immediately following teacher account registration; and
- creation of additional classes by an existing authenticated teacher.
This FEAT owns orchestration only.
Persistence remains delegated to the owning domains.
II. Constitutional Authority
Primary Authority
DOM-CLASS-001
Authorizes:
- creation of a new Class;
- initialization of class configuration;
- establishment of a new Class Boundary.
Supporting Authority
DOM-IDEN-007
Authorizes:
- Teacher Seat provisioning;
- Student Seat provisioning;
- IdentityProfile provisioning;
- initialization of student claim artifacts.
III. Execution Context
This workflow SHALL execute within a Teacher Provisioning Context.
Required:
- authenticated
user_id
Derived:
actor_role = teacher
Absent:
class_idseat_id
This workflow SHALL NOT execute within CanonicalContext because the target Class Boundary does not yet exist.
IV. Workflow
The workflow SHALL execute in the following order.
- Create the Class.
- Provision the Teacher Seat.
- Initialize required class configuration.
- Update:
last_active_class_idlast_active_seat_id
- Transition immediately into the newly created Class Boundary.
Successful completion SHALL always leave the teacher operating within the newly created Class Boundary.
V. Roster Boundary
This workflow SHALL NOT provision, modify, or remove Student Seats or IdentityProfiles. Roster upload and paste-grid operations are separate IDENTITY-domain operations and SHALL execute only after the teacher has entered the newly created Class Boundary.
V.A Destruction Boundary (2026-09-17)
This workflow is class-boundary creation only. It SHALL NOT destroy a Class
Boundary, any class-scoped record, or any Seat, and SHALL NOT be used as the
execution identity for any such operation. Class destruction is
FEAT-CLASS-006; destruction of a class that holds its principal’s last Seat is
FEAT-IDEN-007.
Until 2026-09-17, FEAT-IDEN-007 §Composition designated this FEAT as the
class-destruction entry point and the implementation followed that designation.
It contradicted this document throughout — §III forbids executing within a
CanonicalContext because the target class does not yet exist, §VII and §VIII
describe rolling back a provisioning transaction, and §X guarantees that
exactly one Class Boundary is established. Nothing here ever authorized
destroying anything. The designation was normative debt and has been retargeted
to FEAT-CLASS-006; it is not precedent.
VI. Class Creation Inputs
Class creation SHALL interpret only class-boundary inputs, including the teacher’s class-scoped display metadata. No roster template is accepted by this workflow.
| Field | Interpretation |
|---|---|
| Class Name | Read only to initialize the newly created Class display value. |
| Section | Read only to initialize the newly created Class display value. |
Class Name and Section SHALL:
- initialize display configuration only;
- never determine class identity;
- never determine class membership;
- never determine class membership.
If multiple display values are detected, explicit teacher resolution SHALL be required before provisioning continues.
Regardless of uploaded metadata, this workflow SHALL create exactly one Class Boundary.
VII. Cancellation
Initial Teacher Registration
If cancelled before successful completion:
- the provisioning transaction SHALL roll back;
- no User, Class, Seat, or IdentityProfile created by this workflow shall persist.
Existing Teacher
If cancelled before successful completion:
- the authenticated User SHALL remain unchanged;
- the teacher SHALL return to:
last_active_class_idlast_active_seat_id
VIII. Failure
Provisioning SHALL execute atomically.
The workflow SHALL either:
- complete successfully; or
- roll back completely.
No partial Class Boundary SHALL persist.
IX. Delegation
This FEAT delegates to:
- DOM-CLASS-001
- DOM-IDEN-007
- FEAT-IDEN-001
- FEAT-CORE-000
X. Guarantees
This FEAT guarantees:
- exactly one Class Boundary is established;
- no Class Boundary, class-scoped record, or Seat is destroyed (§V.A);
- exactly one Teacher Seat is provisioned;
- every initial Student Seat belongs to the newly created Class;
- Student Users are never provisioned by this workflow;
- successful completion always transitions the teacher into the newly created Class Boundary.
Last updated: 2026-09-17