# Course, curriculum and section enrollment correction

Status: the core model was confirmed through the interview and then explicitly authorized for implementation. See [Phase 1 scope](phase-1-mvp-scope.md) and [local implementation](phase-1-implementation.md). Earlier discussion is retained as decision history; the confirmed Phase 1 scope takes precedence.

## Current Phase 1 scope: user revision

The user narrowed the first release to enrollment through subjects, class schedules and COR. See [Phase 1 MVP scope](phase-1-mvp-scope.md), which takes precedence over earlier first-release grading plans in this document. Defer assessment gradebooks, quizzes/exams, grading-period results, weights and automatic grade calculation. Direct Teacher entry of a Final Subject Grade is confirmed as the only Phase 1 grading workflow. Preserve the agreed enrollment, Student record, curriculum, Section, schedule, access and audit rules. This revision changes planning scope, not existing code or retained data.

## School role terminology: agreed language

Use the specific school role in workflow descriptions, interface labels, dashboards, reports, access definitions and audit descriptions wherever responsibility is known: Student, Teacher or Subject Teacher, Registrar, Enrollment Staff, School Administrator, Finance Staff, Finance Approver, Department Monitor and Dean where explicitly enabled. Use Librarian for library responsibilities if those workflows are included. Generic account terms such as User belong in account management or descriptions that actually apply across roles; they must not obscure who performs a school task.

Enrollment Staff and the Registrar prepare and adjust enrollment drafts; only the Registrar finalizes enrollment and approves transfer-credit equivalencies. The School Administrator maintains authorized academic setup and Teacher assignments. The assigned Subject Teacher owns grades. Finance Staff and the Finance Approver retain their distinct financial duties. A Librarian role name does not introduce a library module or grant enrollment, financial or grading access. Capacity overrides belong to the Registrar in the MVP, with the same explicit permission prepared for a Dean if the school enables it.

## Process clarified by the user

For college, enrollment identifies the student's course and year level. The assigned curriculum determines the prescribed subjects for the year and semester, including the curriculum-specific classification and prerequisites. The curriculum contains no teacher assignments or weekly/time schedule.

The user clarified that Section means a collection of students, usually formed from incoming students who normally remain together. A student who starts with group 1-A normally stays with that student group. Do not require the student to choose a different Section for every subject. Whether the group's displayed name changes as members progress in year level has not been specified.

Use Subject Class for an offered subject with a teacher, weekly meeting times and an actual enrolled-student list. A normal class may serve a Section's students, but students from other Sections can attend that one class without changing their own Section membership. Some members of the normal Section may not take that subject because of eligibility, credit or an individual load choice.

For high school, the grade level and applicable school-level offering determine curriculum requirements. Student Section grouping and actual subject classes remain distinct. The same school-wide student record and academic history continue across periods.

Earlier uses of "subject section" in the discussion conflated the subject-class roster with the continuing student group. The vocabulary in this plan is corrected to Section for the student collection and Subject Class for the scheduled teaching offering. Individual class rosters remain necessary; they do not redefine the student's Section.

## Verified implementation gaps

| Area | Current code | Gap against the clarified process |
| --- | --- | --- |
| Courses | `Program` records exist inside School setup; enrollment selects a curriculum whose program supplies the course name. | Courses are not presented as an understandable first-class part of enrollment or administration. |
| Curriculum sequence | `CurriculumSubject` has a year level and free-text `term_label`. | The enrollment path does not generate the regular prescribed load for an explicitly identified curriculum year and term. |
| Enrollment cycle by school level | Academic periods already store school year, `kind` (year or semester), dates and an enrollment-open flag. | Configure yearly or semester-based enrollment per school level and apply that choice consistently in period setup and enrollment. Grading checkpoints remain separate. |
| Units and classification | The shared `Subject` record already stores decimal credit units. Curriculum subject entries store year/term and prerequisites but have no major/minor classification. | Keep the existing shared subject units and add curriculum-specific classification according to the agreed MVP rule. |
| Section membership and class rosters | Each offered subject class has a free-text `CourseOffering.section` label and an enrollment-derived roster. There is no separate continuing student-group membership record. | Keep a real Section as the student collection and keep actual attendance on subject-class enrollment. Reusing a section label on each class does not establish persistent group membership. |
| Timetables | `CourseOffering.schedule` is nullable free text. | There is no managed section timetable from which enrollment obtains its schedule. |
| Enrollment | `Enrollment` stores student, branch, period, curriculum and year; `EnrollmentService::select` accepts individually selected subject-class IDs. | Enrollment Staff or the Registrar manually choose offered Subject Classes; there is no prefilled editable draft derived from the curriculum's prescribed year/term subjects. |
| Teaching | Classes provide rosters, materials and teacher-owned gradebooks. | These features cover the teaching phase, but their existence does not prove the expected regular enrollment process is complete. |
| Final result and later grading | The grade table has one result per Student and Subject Class; finalization currently depends on complete assessment scores. | Phase 1 needs direct final-grade entry without assessment dependencies. Grading-period results and automatic calculations are deferred. |
| Shared subjects | Enrollment listing and selection require the offered class's `program_id` to match the student's curriculum program. | Students from different courses cannot currently share that offered class through the enrollment flow, even if their curricula contain the same subject. |
| Transfer credit during enrollment | The separate Credits page and DocumentService already support manual external-to-local subject mappings, evidence upload and registrar approval. | Make the review available in the student's enrollment workflow and connect approved mappings to the draft-load review; do not replace manual evaluation with automatic name/unit matching. |

Owning sources: `app/Models/Program.php`, `app/Models/CurriculumSubject.php`, `app/Models/CourseOffering.php`, `app/Services/EnrollmentService.php`, `resources/js/pages/Enrollments.tsx`, `resources/js/pages/Enrollment.tsx`, and the school-table migration.

The gap concerns the implemented product workflow. Infrastructure deployment is a separate activity and does not resolve these missing relationships.

## Proposed corrected flow

School preparation:

1. The School Administrator maintains courses, school-level offerings, the yearly or semester-based enrollment cycle per school level, and published curriculum requirements by year/grade and term.
2. The School Administrator maintains Sections as student collections, normally beginning with incoming Students, and sets their availability by Branch, Course or school-level offering, incoming Year/Grade and enrollment period, with the order used for fill-first suggestions. Keep each group's identity separate from year progression and preserve membership history.
3. Open the dated academic period for the branch.
4. Prepare Subject Classes with subjects, teachers and weekly times, and associate them with one or more Sections they normally serve for the academic period. A Section's usual classes provide default choices during regular enrollment; actual attendance may include students from other Sections. One actual class shared by several Sections retains one common capacity.
5. The curriculum supplies the prescribed starting subject list. The actual selected Subject Classes supply the teacher assignments and timetable. No teacher or weekly time is stored as part of the curriculum requirement.

Enrollment assisted by Enrollment Staff or the Registrar:

1. Identify the existing student, branch and academic period.
2. Confirm the course or school-level offering, year/grade and assigned curriculum. Retain the continuing Section where assigned; do not replace it merely because the Student takes a different combination of classes. For an incoming Student without a Section, automatically suggest the first eligible Section with available capacity in the School Administrator's chosen order, for Enrollment Staff or Registrar review.
3. Prefill the editable draft subject list from the curriculum. Apply the agreed prerequisite exclusions, approved-credit handling and non-blocking retake warnings.
4. Default applicable subjects to their offered Subject Classes serving the student's existing Section for the current branch and academic period. Enrollment Staff or the Registrar then adjust exceptions for retakes or other needed subjects. These actual class selections determine the timetable and remain separate from Section membership.
5. Review academic eligibility, class capacity, timetable checks and financial clearance.
6. The Registrar rechecks eligibility and capacity, finalizes enrollment, confirms any proposed new Section membership and issues the COR with actual subjects and class schedules. A returning Student's continuing membership is retained and counted once.
7. Finalized enrollment populates each subject teacher's actual class roster. Merely belonging to a Section does not make every member an enrolled attendee in every class.

Preserve the accepted boundaries: assigned curriculum versions, prerequisite blocks, manual registrar-approved transfer credit, financial clearance, teacher grade authority, retake history, historical CORs and database audit logging.

## Enrollment behavior under discussion

The curriculum determines required subjects. The Section is the student's continuing group. Actual enrolled Subject Classes determine teacher rosters and the student's timetable. Keep all three concepts separate.

Section membership remains optional in the MVP under the earlier agreement, but regular students can normally keep the group formed when they entered. The latest clarification changes the earlier period-only grouping interpretation: the Section can continue across academic periods, while enrollment, subject classes, timetables and grades are renewed for each period. Preserve historical membership when a student changes groups.

A student's class exception—such as joining another group's Algebra class—does not require moving the student out of their Section. Section membership alone does not grant access to unrelated academic records. See [ADR 0009](adr/0009-distinguish-home-section-from-enrolled-subjects.md).

## Model and concrete example

Section 1-A is a student collection containing Ana, Ben and Carla. It is not a separate entity for each subject.

- English class: Ana, Ben and Carla from Section 1-A, plus Dan from Section 1-B.
- Algebra class: Ana and Carla from Section 1-A; Ben has approved credit and is not taking this class.
- Dan remains a member of Section 1-B even though he attends that English class with students from 1-A.

The actual finalized subject load determines each student's timetable and the relevant class rosters. Shared classes still require the same local subject definition and the previously agreed curriculum eligibility rules. Major/Minor classification follows each student's assigned curriculum.

The earlier one-course/one-curriculum restriction on every teaching group remains withdrawn. A Section is a collection of students; it is not the curriculum, and a Subject Class may contain eligible students from different Sections or courses.

## Working draft-load requirement from the user's clarification

For a regular first-year Student, start with the prescribed subjects already set for the applicable course, assigned curriculum, year and semester. Enrollment Staff or the Registrar can update the draft and add subjects the Student needs before finalization. This is a working requirement within the ongoing discussion, not approval to implement the entire model.

Interpret automatic prerequisite removal consistently with the already agreed rules: exclude only the dependent subjects whose prerequisites are unmet. A subject with satisfied prerequisites stays eligible. Passing finalized results from the required earlier period or registrar-approved equivalent credits satisfy prerequisites; merely including a prerequisite in the same draft does not satisfy it. No prerequisite override is introduced.

Recommendation for presentation: keep excluded subjects visible separately with the reason, rather than silently hiding them. Exclusion affects the proposed enrollment load; it does not delete curriculum requirements or historical records. Recheck eligibility whenever the draft changes and before finalization.

The final subject load remains student-specific. Preparing a draft does not immediately add the student to official teacher rosters or issue a COR. A separate home-section record is not implied by the suggested load.

## Student schedule conflicts: agreed working rule

The user agreed to block selection of Subject Classes with overlapping Student meeting times. For example, a Monday 9:00–10:00 Algebra class conflicts with a Monday 9:30–10:30 English class. Enrollment Staff or the Registrar must choose a non-conflicting class or remove the conflicting selection. Show the affected subjects, day and overlapping times. No Student timetable-conflict override is included in this proposed MVP flow.

Eligibility must also be rechecked before enrollment finalization. Teacher conflicts have a separate working rule below; room scheduling and changes to already finalized enrollments remain unresolved policies. Structured timetable details still need to be specified. The overall correction remains a discussion draft.

## Manual academic setup: working ownership proposal

The user wants a school user to set the curriculum, weekly/time schedules and teacher assignments manually for now, suggesting an administrator. The recommended MVP owner is the existing School Administrator role, subject to the already established branch permissions. This is a working proposal within the ongoing discussion.

Separate the records maintained by each school role:

- Course and assigned curriculum define required subjects, their year/term sequence and prerequisites. Published versions retain the previously agreed protections.
- An offered subject class defines the teacher and weekly meeting times for a subject in the branch and academic period. Teacher assignment is per subject class; different sections of the same subject can have different teachers and schedules.
- Enrollment Staff and the Registrar prepare and review each Student's draft using these configured subjects and offered Subject Classes, with prerequisite and Student schedule checks. The Registrar finalizes enrollment; Finance Staff and the Finance Approver retain their financial-clearance responsibilities.
- The assigned Subject Teacher retains authority over scores, official grades and grade corrections. School Administrator setup responsibility does not grant another person's grading authority.

Recommendation for timetable entry: use weekday/start/end meeting entries, supporting the necessary weekly meetings, so the agreed Student overlap checks can use actual times. Exact timetable entry details remain open; the user has now confirmed controlled post-enrollment meeting-time changes by the School Administrator, described below. The MVP does not require an automatic timetable generator or automatic Teacher allocation.

The current code already gives School Administrator the setup permission and manually assigns a teacher and schedule to an offered class. The gap is the enrollment and managed timetable workflow described above; ownership alone does not resolve it. A Section itself is only the continuing student collection. Subject Classes carry teaching assignments and times. Their association with normal Sections supplies enrollment defaults while allowing individual attendance exceptions.

## Curriculum and timetable separation: user correction

A curriculum is the subject requirements, year/term placement, classification and prerequisites. The shared catalog subject retains its agreed units. Teacher assignments and weekly times belong to offered Subject Classes.

Example: the curriculum requires College Algebra. The School Administrator separately prepares a College Algebra class normally serving Section 1-A, with Teacher Maria on Monday/Wednesday at 9:00, and another class normally serving Section 1-B, with Teacher Jose on Tuesday/Thursday at 13:00. Regular Students default to the applicable class serving their existing Section. Enrollment Staff or the Registrar may change an individual choice without moving the Student to the other Section; group membership is not an attendance restriction.

The earlier named Morning/Afternoon bundles and curriculum-based default timetable sets were not approved and are removed from the recommended MVP flow. Regular students keeping their Section must not be confused with embedding a schedule inside a curriculum. No automatic timetable generator is assumed. A shared Subject Class can contain eligible students from several Sections or courses without changing their curriculum or group membership.

## Teacher schedule conflicts: agreed working rule

The user agreed to block assigning a Teacher to different Subject Classes with overlapping meeting times. The School Administrator must change the Teacher or choose non-conflicting times. Identify the conflicting assignments within the School Administrator's authorized scope. A single shared Subject Class containing Students from different courses is one teaching assignment, rather than a duplicate booking per course. No Teacher schedule-conflict override is included in this proposed MVP flow.

## Teacher access and timetable: working requirement

The user requested teacher access and schedules as part of the corrected system. Teacher accounts, branch/department-scoped assigned-class access, class rosters, learning materials and teacher-owned gradebooks already exist in the current application. A dedicated weekly timetable backed by structured meeting times remains to be implemented after the planning discussion is settled.

Proposed teacher workspace:

- My Schedule: read-only access to the teacher's assigned subject classes and weekly meeting times for the selected academic period, with the branch and subject-class identity. The user agreed to view-only teacher schedules for the MVP; authorized administrators manage meeting times and teacher assignments.
- My Classes: the teacher's assigned subject classes, each with its own actually enrolled student list. A shared subject class has one roster, including students from different courses where permitted.
- Final Grades (confirmed Phase 1 feature): direct entry and finalization of one Final Subject Grade per enrolled Student, with reasoned corrections and audit history.
- Later phase: assessment gradebooks, calculated results and Learning Materials. These are excluded from the revised Phase 1 scope.

Administrators create or maintain the staff accounts and assign teachers through the existing access model. A teacher's identity continues across teaching assignments; do not create another account per subject, section or course. The proposed timetable follows assigned-class access rather than granting school-wide student-directory or academic-setup access. Additional independently granted staff roles retain their own scopes. Views and scheduling changes remain subject to database audit logging.

## Teacher timetable permissions: agreed MVP rule

The user confirmed view-only Teacher timetables for the MVP. The Teacher role does not permit changing meeting times, assigning Teachers or creating Subject Classes. Authorized School Administrators maintain those records under their existing scope. Direct final-grade entry and recorded corrections are confirmed for Phase 1; assessments, scores and Learning Materials are deferred. A person separately granted a School Administrator role retains that role's own permissions; teaching permission alone does not grant setup access.

A Teacher-requested schedule-change approval workflow is outside this proposed MVP scope. School Administrator rescheduling and Registrar enrollment amendments with retained COR Versions are confirmed below. Post-enrollment Teacher reassignment and any schedule-only COR reissue procedure remain separate policies. The whole enrollment correction remains a discussion draft until the user confirms the shared understanding.

## Units and curriculum-specific subject classification: agreed MVP rule

The user raised that a subject has credit units and can be major for one course while minor or supporting for another. Separate the shared subject's identity from its role in each curriculum.

The user chose the recommendation: keep one unit value per shared subject, with Major/Minor classification depending on the curriculum. See [ADR 0010](adr/0010-share-subject-units-classify-per-curriculum.md). This resolves this part of the model while the overall enrollment correction remains under discussion.

Ownership of academic details:

- Subject catalog: the shared subject code, title and a consistent credit-unit value across curricula.
- Curriculum requirement: the course/version-specific year, term, subject classification and prerequisites. The School Administrator chooses the classification while including the subject in a curriculum.
- Subject class: the actual teacher, meeting times and enrolled roster. Sharing a section does not change a student's curriculum classification.

Illustrative school configuration, not a claim about any external program standard: a three-unit Statistics subject is Major in Course A and Supporting in Course B. Both curricula can reference the same subject, and eligible students can share its offered section. Each student's curriculum retains its own classification.

Major/Minor classification is set when the administrator includes the subject in a particular curriculum version. Other category labels can be considered separately if needed. A category does not automatically alter credit units or assessment weights. Administrators still manually set meeting times; units do not automatically generate the weekly timetable.

Per-curriculum unit overrides are outside the MVP. Shared subject classes use the same catalog subject referenced by the relevant curricula; matching names or Major/Minor labels alone do not establish equivalence between separately defined subjects. The administrator's school-level and grading-policy choices must also be respected; this rule does not imply arbitrary mixing of incompatible classes.

Preserve awarded units in finalized enrollment/COR history. If classification is shown in a student's records, use their own assigned curriculum requirement rather than another student's classification from the shared section. No GPA calculation is introduced by this decision.

## Transferee credit evaluation during enrollment: user clarification

The user clarified that subjects from another school may not match the local catalog and that manual credit evaluation takes place during transferee enrollment. This is consistent with the previously agreed registrar approval requirement. Do not interpret automatic exclusion of approved credits as automatic evaluation or matching of transcripts.

The enrollment review should allow authorized Enrollment Staff or the Registrar to record the previous school, external subject details and original grade, attach transcript evidence and manually select a local curriculum requirement for Registrar evaluation. Preserve any recorded source units separately. The Registrar decides equivalency according to school policy and records the approval reason. Differing names, codes or source units do not create or rule out an equivalency automatically.

The consistent-units MVP rule applies to the school's shared subject catalog. It does not require an outside school's subject to have the same identifier or source-unit value. An approved credit satisfies the mapped local requirement; its awarded local units follow that local subject, and the original external result stays separate from local grades and any future grade average.

Pending evaluations do not satisfy prerequisites and do not establish completion. Only registrar-approved mappings count as credited under the assigned curriculum. Credit approval alone does not create an attended class or add the student to a teacher roster. A separately selected and finalized retake can create a new attended attempt under the warning-only retake rule below. Audit the evidence access, mapping, approval and related draft changes under the existing database-only audit policy.

The existing standalone manual credit workflow can be reused and brought into enrollment context. The approval step does not need to be replaced by an automatic equivalency engine.

## Applying approved transfer credits to a draft: agreed working rule

The user confirmed that, after the registrar manually approves an external-to-local equivalency, the system marks the mapped local subject Credited and removes it from the student's still-editable enrollment draft. Preserve other subjects and subject-class selections already chosen by staff; do not regenerate the whole load or reset their changes.

Recheck prerequisite eligibility and present the updated draft for review. Subjects newly eligible because a prerequisite was credited can be shown as available; automatically adding them was not approved by this decision. Credit approval does not itself finalize enrollment or issue a COR. Financial clearance still applies, and already finalized enrollments/CORs are not rewritten by this draft-update behavior. Record the approval and resulting draft changes in the database audit history.

This is an agreed part of the ongoing correction plan; the application has not been changed by this planning discussion. Approved-credit cleanup is the default draft update. Staff may subsequently add the subject back for an intentional retake under the agreed warning-only rule. Routine draft refreshes must preserve that explicit selection rather than repeatedly removing it.

## Retaking passed or credited subjects: agreed warning-only rule

The user rejected the proposed hard block. The MVP must allow staff to add an already passed or approved-credited subject for a retake, with a clear non-blocking warning about its existing completion/credit status. This includes retakes intended to improve a grade. Do not require another permission, academic override, approval or mandatory reason solely because the subject was passed or credited.

The warning can show the relevant prior result or approved-credit reference. Curriculum eligibility, prerequisites, student/teacher timetable conflicts, capacity and finance rules continue to apply. Duplicate selection of the same subject within one enrollment is not authorized by allowing a later retake. Record the new load selection and attempt in the existing audit/history process, preserving previous results and credits.

The completion effect of a later failed retake is resolved below. GPA/GWA treatment of repeated results remains separate. Incomplete, withdrawn and unresolved results also remain open; do not invent their rules from this warning-only decision.

## Completion after a failed retake: agreed MVP rule

The user agreed that an earlier valid passing result continues to satisfy the curriculum requirement and prerequisites even if a later retake is failed. Preserve both attempts. The failed retake stays an official failed result for that attempt; it is not relabeled Passed or substituted with the older grade in its teacher's gradebook.

Completion and eligibility must therefore consider valid passing history rather than assuming the latest attempt always determines completion. This does not choose a GPA/GWA averaging formula. A correction that changes the original passing result is a separate event, and this rule does not make an invalidated result count as a valid pass. Approved transfer-credit validity also remains governed by its registrar-approved record.

## Section as a continuing student collection: user clarification

The optional home group previously agreed is now called Section, matching the user's terminology. It is the same student collection, not an additional group layered on top of another mandatory Section. It normally persists from incoming enrollment while subject-class attendance can differ.

Record the Section used by each enrollment so later membership changes do not overwrite prior history, and allow the group itself to continue across periods. Do not silently create a new unrelated group each semester, automatically promote a student's academic year, or move the student merely because of a class exception. Display-name progression such as 1-A to 2-A is still unspecified.

No mandatory adviser assignment, special adviser access or identical complete timetable follows from the Section concept. Actual subjects, teacher rosters and meeting times remain on Subject Class enrollments.

## Defaulting to the Section's classes: agreed working rule

The user confirmed that the draft should use the Student's Section's usual Subject Classes by default, then let Enrollment Staff or the Registrar adjust for retakes or other needed subjects. Combine the assigned curriculum's applicable subject requirements with the actual class offerings associated with the existing Section for the current academic period.

This does not store teacher assignments or meeting times inside the curriculum. It also does not derive an official roster directly from the whole Section membership. Each student's actual finalized class enrollment supplies attendance and teacher access after the normal eligibility and financial checks.

Keep the agreed rules when preparing and editing a draft: exclude unmet-prerequisite subjects, apply approved transfer credits, allow intentional passed/credited-subject retakes with a warning, and preserve other staff changes. Classes from another Section may be selected for an eligible individual without changing the student's own Section. Students without a Section assignment still need a manual class-selection path; the optional Section field does not remove ordinary enrollment eligibility requirements.

Missing or ambiguous class matches must be visible for Enrollment Staff or Registrar review rather than silently inventing a schedule or dropping a required subject. The agreed capacity limits and remaining override questions are described below. This planning agreement does not implement the application changes by itself.

## Shared default class for multiple Sections: agreed working rule

The user confirmed that one Subject Class may normally serve multiple Sections when it is the same subject and the class has enough capacity. For example, Section 1-A and Section 1-B can both default to the same offered English class rather than creating a separate duplicate class for each Section.

Maintain one teacher assignment, weekly timetable, grading policy/gradebook and actual roster for the shared class. Count each actually enrolled student once against its common capacity, across all represented Sections and courses. Do not allocate the full capacity separately to each Section or create a duplicate teaching booking. Existing branch, academic-period, curriculum and permission boundaries continue to apply.

Default-class associations are many-to-many: a Section has usual classes for its different subjects, and one offered class can normally serve several Sections. These associations supply default choices but do not by themselves finalize anyone's enrollment or add a whole group's members to an official roster. An individual can still take an eligible class outside those usual associations without changing their Section. The seat-confirmation and assignment refinement follows below.

## Seat confirmation and assignment limits: user refinement

The user answered yes to confirming class seats on registrar finalization, with drafts not reserving seats, and added configurable allowable student counts with an override during assignment. Automatic assignment should be available, with staff able to update the result. Draft assignments remain provisional; recheck capacity when finalizing enrollment.

Retain the distinction between Section membership and actual Subject Class attendance when defining these counts. The user initially said "allowable student count per section" while discussing classes, then explicitly confirmed both independent limits in the agreement below. Do not treat those counts as interchangeable or assume a separate seat quota for each Section attending a shared class.

The user confirmed both parts of automatic assignment: suggest an initial eligible Section with space for an incoming Student without one, then prefill eligible usual Subject Classes for the proposed Section; returning Students retain their existing Section. Enrollment Staff or the Registrar can adjust the draft. This does not introduce automatic Teacher allocation or timetable generation, and draft updates must continue to preserve the Student's eligible individual subject load.

Capacity exceptions are requested. The authority and effect are resolved below: the Registrar is the MVP approver, a Dean can be granted the same scoped capacity-override permission, and each exception covers one Student's specific assignment with a recorded reason while leaving the configured limit unchanged. Automatic assignment respects the configured limits; exceeding a limit requires an explicit action by the authorized Capacity Approver, captured in the existing database audit history. Prerequisite and Student/Teacher timetable blocks remain in force. A draft exception must not silently authorize an unlimited number of later assignments.

The current EnrollmentService counts only finalized enrollments when checking a class's capacity and rechecks before finalization. It currently blocks a full class without an override path. The new assignment and override behavior is planning work, not implemented functionality.

## Both capacity limits: agreed MVP rule

The user confirmed support for both limits. The School Administrator configures a Section Capacity for the continuing Student group and a separate Class Capacity for each Subject Class. For example, Section 1-A may allow 40 members while a shared English class allows 60 Students total from Sections 1-A, 1-B and any other eligible attendees. The two counts are independent; neither is a per-Section quota inside a shared class.

Automatic assignment respects each applicable configured limit. Enrollment Staff or the Registrar can review and adjust the result, subject to the same checks. A capacity override must be explicit and recorded in the database audit history, with the approver authority described below. Section membership remains separate from actual Subject Class enrollment, and an override does not waive prerequisite, timetable or financial requirements.

The earlier clarification about whether both limits are required is resolved by this confirmation. Initial Section suggestions for incoming Students, the fill-first order, confirmation of new membership at enrollment finalization and School Administrator configuration of Section Availability are also agreed below. Later membership changes and departures remain separate questions. No application changes are made by this planning decision.

## Registrar capacity approval with future Dean access: agreed rule

The user agreed to the Registrar as capacity approver for the MVP and requested preparation for Deans to perform the same action too. Treat capacity override as a distinct permission, granted to the Registrar by default, that can also be granted to a Dean when the school enables it. Check the permission and the relevant record scope rather than hard-coding an exact Registrar role name. This can extend the existing role-permission bundles; it does not require a general workflow builder or a new role editor for the MVP.

The configured branch scope continues to apply. A future Dean's department or faculty scope must be explicitly defined, including authority over any shared class; the Dean title alone must not imply school-wide access. A Dean with capacity-override permission can approve a permitted capacity exception without also requiring a second Registrar approval for that exception. Registrar enrollment finalization and all other eligibility and financial checks remain separate.

Capacity-override permission does not grant enrollment finalization, transfer-credit approval, prerequisite exceptions, timetable-conflict exceptions or authority over a Subject Teacher's grades. Enrollment Staff retain normal assignment preparation and adjustment within limits. The School Administrator maintains the configured limits and authorized role access; setup permission alone is not the enrollment capacity-override permission. Audit the actual approver, affected Student, Section or Subject Class, and the capacity exception in the database.

The present application has no capacity-override permission or Dean role. This agreement specifies the correction plan and future extension point; no application permissions have been changed in this interview.

## Per-Student capacity exception: agreed MVP rule

The user confirmed that a capacity override covers one Student's specific assignment and requires a reason, while the configured limit remains unchanged. For example, the Registrar can approve one Student as the 41st member of a Section limited to 40. This does not raise the Section Capacity to 41 or approve later additional members. The same rule applies to a full Subject Class.

Tie the exception to the Student, the specific target Section or Subject Class and the applicable enrollment context. An exception for one assignment must not become a transferable permission for other Students, another class or a later enrollment. Identify which capacity limit is being overridden; approval for one limit does not implicitly waive the other. Another assignment that exceeds a limit needs its own explicit approval by an authorized Capacity Approver.

Record the approver, reason, date/time and affected assignment in the database audit history. Ordinary assignment edits and changes to configured limits retain their own authorization and audit rules. A capacity exception continues to leave prerequisites, Student/Teacher timetable checks, financial clearance and Registrar finalization requirements in force. This is an accepted planning rule; it has not been implemented in the application.

## Initial Section suggestions: agreed MVP rule

The user confirmed automatic initial Section suggestions for incoming Students who do not have an existing Section. Suggest an eligible Section with available capacity and prefill its eligible usual Subject Classes for the applicable curriculum and current period. Enrollment Staff or the Registrar reviews and may adjust the draft before finalization. Returning Students retain their existing Section; automatic assignment must not redistribute an established group.

Keep the suggestion reviewable and respect both capacity limits and the agreed curriculum, prerequisite, credit, retake and timetable rules. Automatic assignment cannot approve a capacity exception. Missing or unavailable classes and incomplete assignments must be shown to Enrollment Staff or the Registrar for resolution. Do not silently overflow a limit, omit a required subject or create a new Section. Preserve explicit draft adjustments rather than reassigning the Student whenever a draft is refreshed.

The scope of automatic assignment is confirmed here, and the selection order and membership-confirmation timing are confirmed below. The existing application still lacks a persistent Section/membership model and automatic Section suggestions; this interview has updated the plan only.

## Fill-first Section suggestions: agreed MVP rule

The user chose "fill first." Use the Section order set by the School Administrator and suggest the first eligible Section with space, provided its applicable class selections satisfy the agreed checks. Continue using that Section while capacity is available, then move to the next eligible Section. Do not spread incoming Students evenly merely because a later Section has fewer members.

For example, if Section 1-A has 25 of 40 members and Section 1-B has 10 of 40, suggest 1-A. Once 1-A is full, suggest 1-B when it is eligible and the class choices are available. Enrollment Staff or the Registrar can change the draft suggestion. Automatic assignment does not exceed a limit, create a Section, reset an explicit draft adjustment or redistribute returning Students. A capacity exception still requires the agreed explicit approval.

Availability is checked when making a suggestion and rechecked before enrollment is finalized. A suggestion is not a guaranteed place. Both a new confirmed Section membership and confirmed Subject Class seats depend on Registrar enrollment finalization, under the agreement below.

## Section membership confirmation: agreed MVP rule

The user confirmed that a proposed new Section membership becomes confirmed only when the Registrar finalizes enrollment. A draft suggestion does not reserve a Section place. Existing current confirmed members continue counting toward Section Capacity while their next enrollment is a draft; do not treat their places as free merely because they have not finalized enrollment for the new period.

Recheck Section Capacity and Subject Class capacity before committing finalization. If a proposed Section's last place has been taken, stop finalization for Enrollment Staff or Registrar review: adjust the assignment or obtain an explicit capacity exception under the agreed permission and reason rules. Do not silently move the Student, replace the selected classes or issue a COR for an unreviewed assignment. Confirmation of a new membership, class enrollment and COR must succeed together; a rejected finalization must not leave a partially confirmed membership.

Count each current Section member once. Retaining the same membership for a returning Student does not consume another place or constitute a new admission to the Section. Continuing membership remains distinct from renewed per-period Subject Class seats; old class enrollment does not reserve the next period's class seats. Recording a Section remains optional under the earlier MVP agreement; this rule governs confirmation when a Section is selected.

This agreement resolves confirmation timing and draft reservation behavior. The Section Availability settings are agreed below; Section membership departures and later group changes remain separate topics. The application has not been changed by this planning decision.

## Available Sections per enrollment context: agreed MVP rule

The user confirmed that the School Administrator sets available Sections per Branch, Course or school-level offering, incoming Year/Grade and enrollment period. For example, the Main Branch's first-year BSIT intake for a particular period may use Sections 1-A and 1-B in that order. Automatic suggestions apply the agreed fill-first rule within the configured available Sections, subject to capacity, curriculum eligibility and class availability.

These settings identify eligible groups for new assignments; they do not make a Section a curriculum or a timetable, and they do not permanently bind its identity to an incoming year. A Section can continue with its confirmed members across later years and periods. Changing availability for a later intake does not by itself remove existing members or redistribute returning Students. A Section may be made available to more than one Course if configured by the school; each Student still follows their own assigned curriculum and actual Subject Classes.

The School Administrator also maintains the applicable current-period usual Subject Classes separately. One class may continue to serve several Sections with one shared capacity, Teacher assignment and timetable. Audit Section Availability setup changes under the existing database-only audit requirement. This is an agreed planning requirement; the persistent Section and availability setup are not implemented by this interview.

## Yearly or semester-based enrollment per school level: agreed MVP rule

The user confirmed that the School Administrator chooses yearly or semester-based enrollment per school level. Keep this as a school configuration setting rather than assuming that all school levels use the same cycle. An annual enrollment covers its dated school-year period; semester-based enrollment uses a separate enrollment and COR for each dated semester. Illustrative settings are yearly Junior High and semester-based College, but the school's chosen configuration governs each level, including Senior High.

The selected enrollment period still combines with the Student's assigned curriculum, Year/Grade and applicable curriculum term to supply the prescribed subjects. The curriculum remains independent of the current year's dates, Teacher assignments and weekly timetable. A new period requires new Subject Classes and renewed enrollment/COR while the Student Record, assigned curriculum history and continuing Section membership are preserved. Year progression is not automatic.

Grading checkpoints within an enrollment do not themselves trigger re-enrollment or another COR. The earlier grading-period design below is deferred from Phase 1 under the user's scope revision. Direct final-grade entry is confirmed as the only new Phase 1 grading workflow. Support for configurable trimester, summer or other special enrollment-cycle modes has not been agreed by approving the yearly/semester choice.

Audit changes to the school-level cycle setting. Apply new settings without rewriting earlier enrollment periods, finalized CORs or academic results. The current application already supports year/semester kinds on period records, but a per-school-level cycle setting and its enforcement are not implemented by this interview.

## Grading-period grades: deferred later-phase design

The earlier expanded MVP discussion included grades per Grading Period and the Final Subject Grade. The user subsequently narrowed Phase 1 to enrollment, subjects and schedules, so the following grading-period design is retained for a later phase. It is not a Phase 1 requirement. That future design can retain separate quarter results plus an overall subject result, with distinguishable period labels in Teacher gradebooks, Student records and reports.

The School Administrator defines the applicable Grading Periods under the school's grading setup. The assigned Subject Teacher retains authority over assessments, scores, reviewed grades, finalization and reasoned corrections within the existing permissions. Preserve each period's results and history separately; a later period must not overwrite an earlier period's grade. The final result remains associated with the actual enrolled subject attempt, with previous attempts retained under the agreed retake rules.

Only a finalized passing Final Subject Grade or an approved equivalent credit satisfies subject completion and prerequisites. A passing quarter or other interim result alone does not establish completion. Grading periods do not create new enrollment, Section membership or COR records. Both percentage and numeric rating support remain governed by the assigned school-defined policy; this decision does not supply a universal grade-conversion formula.

This expanded design is deferred. Its weights, calculation basis, conversion/rounding order, handling of missing results, period finalization/locking and Student release timing remain open for the later phase. Keep the existing rule that draft grades are not shown as official Student results. Teacher authority is unchanged; no Registrar or Dean grade-approval step is introduced.

The current grade table has one result per Student and Subject Class, and assessments are not assigned to a grading-period record. Existing grade finalization therefore does not prove this proposed grading-period workflow is implemented.

## Manual final-grade entry: confirmed Phase 1 requirement

The user confirmed direct Teacher entry and finalization of one Final Subject Grade per enrolled Student and Subject Class attempt. The assigned Teacher can save a draft and finalize the reviewed result, using the school's official grade scale and passing rules. Preserve reasoned corrections and result history. Only finalized results count toward the next enrollment's prerequisite checks.

No assessments, quizzes, grading-period results, weights or automatic calculation are required. This confirms the feature in the [Phase 1 MVP scope](phase-1-mvp-scope.md); the current assessment-dependent code still needs a manual-only finalization path during implementation.

## Rescheduling after enrollment: confirmed Phase 1 rule

The user confirmed that the School Administrator can reschedule a Subject Class after Students have enrolled, with a required reason and conflict checks. Validate against the assigned Teacher's other classes and every actually enrolled Student's other classes, including Students from all Sections or Courses sharing the class. Existing Student and Teacher conflict blocks remain enforced; capacity-override permission does not bypass them.

Reject a conflicting change without partially applying new times. Save the old/new meeting times, reason, School Administrator and date/time with the retained audit history. Show saved new times in current Student and Teacher timetable views while keeping each original issued COR snapshot unchanged. Rescheduling does not change the subject, actual roster, Section membership or grades. Recheck drafts against the current timetable before enrollment finalization.

School Administrator scope continues to apply. Conflict checks must cover all affected enrollments without disclosing unrelated private records outside the administrator's access. Registrar subject/class amendments and new COR Versions are confirmed below; post-enrollment Teacher reassignment and schedule-only COR reissues remain separate policies. The current application uses free-text schedules and does not implement this structured, conflict-checked rescheduling flow yet.

## Manual financial clearance: confirmed Phase 1 rule

The user confirmed manual financial clearance for Phase 1. Finance Staff records Cleared or On Hold for the Student's enrollment according to the school's current-term payment requirements. Retain the decision, reason or hold details, responsible person and date/time in database audit history. Registrar finalization requires valid Cleared status; On Hold or no recorded clearance blocks finalization.

Payment arrangements for unsettled past debt require Finance Approver approval. Preserve the approver, reason, payment terms and history. An ordinary Finance Staff clearance cannot replace that approval, and the Registrar cannot waive the financial conditions. The approved arrangement permits clearance under its terms while the unpaid balance remains recorded.

The school assesses its current-term payment requirements; Phase 1 records the manual clearance outcome without an automatic tuition/payment-rule engine. Retain existing balance/payment records and the ledger-change requirement to review clearance when relevant financial records change. Financial permission and Branch scope still apply, and enrollment roles receive only the clearance details their duties require.

The current request accepts settled/arrangement clearance kinds, and FinanceService checks balance and ledger version. It does not provide an explicit On Hold state or establish a complete separation of prior debt from current-term fee requirements. The confirmed workflow needs implementation rather than a label-only change; do not weaken the prior-debt approval guard.

## Registrar enrollment amendments: confirmed Phase 1 rule

The user confirmed enrollment amendments in Phase 1. The Registrar may add or drop subjects or change the Student's Subject Class selections after COR issuance, with a required reason. Recheck the full proposed subject load against curriculum eligibility, prerequisites, credits, retakes, class capacity, Student/Teacher timetable checks and valid financial clearance. An existing capacity exception does not authorize a different target assignment.

Apply the accepted amendment and updated current enrollment/rosters with a new COR Version, retaining the original document and every earlier issued version. Record the Registrar, reason, date/time and before/after selections in database audit history. A failed validation must leave the confirmed enrollment, rosters and currently issued COR unchanged. Do not create another Student or duplicate same-period enrollment merely to amend an existing one.

Preserve finalized grades, previous subject attempts, approved credit evidence and financial records. Never copy an official grade to a different class or erase history as a side effect of a selection change. Changing one Subject Class does not change continuing Section membership. Registrar amendment permission does not grant Teacher grade-editing authority or School Administrator timetable permissions. The confirmed final-grade lock boundary follows below.

EnrollmentService currently permits selection only for draft enrollments, and finalization stores one COR snapshot. The accepted amendment/version-history workflow needs implementation and verification; no code changes have been made in this discussion.

## Finalized-grade amendment lock: confirmed Phase 1 rule

The user confirmed the lock: the Registrar cannot drop a subject or switch its Subject Class once that Student's Final Subject Grade for the attempt has been finalized. Apply the lock to all finalized outcomes, including a failing grade, not just passing results. Other subjects without a finalized result remain amendable under the existing reason, eligibility, capacity, timetable, financial and COR-version rules.

This is a lock on the affected Student's graded subject selection, not a blanket lock on all of the Student's other ungraded subjects. Teacher grade corrections remain separate, with their required reason and preserved previous/new result history. Correcting a finalized result does not move it to another class or reopen the Registrar's drop/switch permission. Reject an amendment affecting a locked subject without partly applying other selections or issuing a partial COR revision.

## Ending Section membership: confirmed Phase 1 rule

The user confirmed that the Registrar can end a Student's current Section membership with a required reason when the Student leaves the group or graduates. Record the Registrar, reason and date/time, and retain the ended membership rather than deleting its history. The ended membership no longer counts toward Section Capacity, while every earlier enrollment retains its recorded Section.

Keep enrollment records, grades, COR Versions and audit history. Do not automatically drop subject enrollments, remove the Student from actual class rosters, free Subject Class places or change grades. Automatic academic promotion/graduation processing is not introduced by ending membership. Keep normal authorization on any later class amendment or new Section assignment; a draft refresh/finalization must not silently undo an ended membership.

## Consolidated Phase 1 plan

The core Phase 1 business rules have now been confirmed individually. The [implementation plan](phase-1-implementation-plan.md) consolidates their delivery sequence, existing code gaps, worked examples and acceptance checks. The [scope](phase-1-mvp-scope.md) remains authoritative for the reduced release. No application changes or deployment are performed by these planning updates.

The previous period-weighting question is deferred with the gradebook. Its calculation basis and conversion order are not prerequisites for a direct final-grade input screen.

## Implementation planning boundary

Manual final-grade entry, controlled School Administrator rescheduling, manual Finance Staff clearance, Registrar enrollment amendments/new COR Versions, the finalized-grade amendment lock and ending Section membership are confirmed. Use structured weekday/start/end meeting entries for manual scheduling and conflict checks. Verify the concrete curriculum year/term mapping in yearly and semester enrollment examples. Treat existing-data backfills and report presentation as implementation work to review, rather than reopening deferred gradebook formulas or adding unrelated modules.

Once the selection model is agreed, verify both a regular college enrollment and a high-school enrollment from curriculum requirements through subject-class selection, COR, timetable and correct rosters. Also verify a shared subject class with students from different courses and a student joining for only that subject. Existing finalized records must be preserved during any later migration.

The shared-subject scenario must include two curricula classifying the same three-unit subject differently. Both students retain three units, the classification follows each student's assigned curriculum, and both appear in the same actual subject-class roster without duplicating the subject or creating another teacher assignment.

Also verify the curriculum/timetable boundary: a curriculum-derived draft initially supplies subject requirements without assigning teachers or weekly times. Offered subject classes provide those details, and selecting an actual subject class does not alter the published curriculum or the student's Section membership.

Retake verification must include an already passed subject and an approved-credited subject being added to a draft with a visible warning. The warning must not block otherwise eligible enrollment, and a routine refresh must preserve the staff's explicit retake choice. The new attempt must not overwrite earlier results or credit evidence.

Also verify a failed retake after an earlier valid pass: the new attempt is shown as Failed, the original passing attempt is retained, and the requirement/prerequisite remains satisfied. This must not be confused with a correction of the original passing grade.

Verify continuing Section membership across enrollment periods and individual class exceptions: a Section 1-B student attending one class normally serving Section 1-A remains in 1-B, and a 1-A student with approved credit can be absent from that class roster without being removed from 1-A.

Verify that a regular student's draft starts with the Section's applicable current-period classes, then preserves an individual retake or added class from another Section across draft updates. Choosing those classes must not edit the curriculum or switch the student's Section membership.

Verify a single class configured as usual for two Sections: both groups can default to it for the same subject, the teacher sees one combined actual roster, one student is not counted twice, and the shared capacity is enforced across the whole class rather than independently per Section. The class occupies one slot on the teacher's timetable.

Verify that draft class assignments do not reserve confirmed seats and that capacity is rechecked at finalization. Verify an explicit audited capacity exception for one Student's assignment, with a required reason, without bypassing prerequisite or timetable blocks or changing the configured limit. A subsequent over-capacity assignment needs its own approval, and another Student or a changed target cannot reuse the first approval. Automatic assignment must not silently overflow a limit or erase Enrollment Staff or Registrar adjustments.

Verify both independent limits: a full Section does not acquire extra membership capacity because one of its Subject Classes has spare seats, and spare Section membership capacity does not permit enrollment in a full Subject Class. A shared class counts all actually enrolled Students once across Sections. Verify that the Registrar can approve a scoped capacity exception and Enrollment Staff cannot do so through normal assignment permission. Verify a future Dean grant through the same permission, denied without that grant or outside scope, without granting grade authority or enrollment finalization.

Verify an incoming Student receives a reviewable eligible Section suggestion and the corresponding eligible usual Subject Classes. Verify an Enrollment Staff or Registrar adjustment survives a draft refresh. Verify a returning Student's existing Section remains unchanged and a full or otherwise unavailable assignment is surfaced for review without an automatic capacity exception or new Section.

Verify fill-first behavior with eligible Sections 1-A at 25/40 and 1-B at 10/40: suggest 1-A, then suggest 1-B after 1-A reaches its limit. The School Administrator's configured order governs the choice, and the assignment must still respect class availability and all eligibility checks. Verify that this does not balance the groups or redistribute returning Students.

Verify two incoming draft enrollments competing for the last Section place: neither draft reserves it, the first successful finalization confirms its Student's membership, and the other stops for review without a silent reassignment or partial membership/COR. Verify that a returning Student's existing membership still occupies one place before and after the next enrollment is finalized, without reserving renewed Subject Class seats.

Verify that incoming Section suggestions use the School Administrator's Branch, Course or school-level offering, incoming Year/Grade and period availability settings in the configured order. An unavailable group must not be suggested for a new assignment. Changing a future intake's available Sections must not change existing confirmed memberships or an earlier enrollment's historical Section. Verify that actual class sharing and each Student's assigned curriculum remain independent of these availability settings.

Verify two school levels using different configured enrollment cycles in the same school: a yearly level receives one enrollment/COR for the school year, and a semester-based level receives a fresh enrollment/COR for the next semester. Select the appropriate curriculum subjects and current-period Subject Classes in each case. Preserve earlier periods, grades, CORs and Section membership; do not promote Students or trigger new enrollment solely because a grading checkpoint has ended.

Later-phase acceptance only: verify separate Grading-Period Grades and a Final Subject Grade, preserving period results and corrections without treating an interim pass as subject completion. Do not make this a Phase 1 release requirement. Phase 1 must verify direct final-grade entry, its Teacher ownership, input validation, finalization and correction history without assessment dependencies, followed by the next enrollment's prerequisite checks.

Verify School Administrator rescheduling for a shared Subject Class with enrolled Students from different Sections: a non-conflicting change with a reason updates current timetables, while a conflict for any enrolled Student or the Teacher rejects the change. Preserve the original COR snapshots and old/new times with the reason and audit history. Recheck a pending enrollment against the changed schedule before finalizing it. Teacher access alone must not permit rescheduling.

Verify Finance Staff can record Cleared or On Hold only within scope; On Hold and missing clearance block Registrar finalization. An outstanding past balance cannot be bypassed with Cleared status alone: require settlement or the Finance Approver's recorded arrangement. Preserve decision/arrangement history, reason, approver and terms, and verify ordinary Finance Staff and Registrar permissions cannot approve the arrangement. Relevant ledger changes require clearance review before finalization.

Verify a Registrar amendment after COR issuance: the reviewed change passes every eligibility/capacity/timetable/financial check, updates only the current enrollment/rosters and issues a new COR Version while retaining the original and audit history. A rejected amendment leaves the live selections and COR unchanged. Preserve existing grades, previous attempts and Section membership; ordinary Enrollment Staff draft-editing access cannot apply a finalized enrollment amendment.

Verify the amendment lock for a Student with one finalized passing subject, one finalized failing subject and another ungraded subject. Attempts to drop or switch either graded subject are rejected without partial changes or a new COR. A valid amendment to the ungraded subject can still proceed. An assigned Teacher correction preserves official history and does not reopen Registrar drop/switch access for that subject.

Verify the Registrar ends a current Section membership with a reason: the Section count decreases once, but the Student remains enrolled in their subjects and on actual class rosters, and Subject Class capacity does not become available from this action alone. Enrollment/COR history, grades and audit records remain unchanged. An unauthorized role or missing reason is rejected. Refreshing a draft must not silently restore the ended membership.
