# Skulitech Alumni Lifecycle Validation Update

## How an alumni declaration is handled

A learner is not duplicated or moved into an unrelated account. Skulitech keeps the same student record, admission number, user account, Student role, transcript, results, finance history and completed clearance records.

When an authorised Admissions or Administration officer declares the learner as alumni, Skulitech:

1. Confirms the learner has a cleared **Completion / Graduation** clearance request.
2. Confirms the fee balance is zero.
3. Confirms there are no outstanding library issues.
4. Creates or updates the current alumni lifecycle record.
5. Changes the student status to **Alumni**.
6. Sets `active_for_academics` to `0` and registration status to **Complete**.
7. Retains the same Student login in read-only alumni mode.
8. Records who declared the alumni status and the declaration date.

## Alumni portal access

Available:
- Historical unit registrations and results
- Transcript and transcript PDF
- Fee statement and finance history
- Previous session reporting history
- Completed clearance history and printable cleared forms

Disabled:
- Semester enrollment
- Adding or removing registered units
- New session reporting
- New assignments
- Marks entry or academic allocation
- New billing or academic assignment
- Exam-card generation and printing

## Reversal control

An authorised officer may reverse an incorrect alumni declaration from **Alumni Lifecycle Management**. A reason is required. Skulitech restores the status, registration state and academic-active flag held immediately before the alumni declaration and preserves the alumni row as history.

Normal student activation, status editing, bulk import and deletion cannot bypass the lifecycle controls. Alumni status can only be assigned or reversed from the dedicated Alumni Lifecycle page.

## Student List change

The Student List page now includes a visible **Add New Student** button linked to the student registration form. Alumni rows show **Manage Alumni** instead of the normal Activate button.

## Existing database upgrade

Run:

`database_updates/alumni_lifecycle_validation.sql`

The application also performs the same column checks at runtime for compatibility with existing installations.
