AltusPlatform API Migration Hardening – 02/23/2026
Release Notes: AltusPlatform API Migration Hardening (Production Readiness)
Release scope
- Strengthened API request logging lifecycle to prevent orphaned/incomplete log rows.
- Standardized auth behavior for
mevs API-key routes. - Improved
site/usersperformance path and observability. - Added migration compatibility cleanups in dependent plugins.
- Added operational scripts/tests for KPI tracking, null diagnostics, 404 caller inventory, and smoke checks.
Implemented changes
-
PR1 Logging lifecycle hardening
- Start/finalize usage log is now threaded reliably through request lifecycle.
- Finalization runs through normal dispatch and shutdown/fatal fallback paths.
- Better handling for status/duration capture in non-happy paths.
- Runtime and fatal-path verification tests added.
-
PR2 Auth contract alignment
/altus/v1/users/me/coursesconstrained to session-auth expectation./altus/v1/users/{contact_id}/coursesestablished for API-key/server callers.- Clearer auth-mode mismatch behavior and docs/examples updated.
-
PR3 Performance + diagnostics
site/usersendpoint contract and explain probes added.- Pagination/latency telemetry and diagnostics tooling strengthened.
- KPI report now tracks status distribution, null lifecycle rows, and route timing slices.
-
PR4 Migration cleanups
- AltusLearnLMS enrollment flow prefers contact-id endpoint for API-key mode.
- Legacy fallback guarded to avoid incorrect
/meuse. - Altus AI Support enrollment status flow modernized to preferred contract with fallback.
Operational outcome (latest validation)
- Last 1h KPI:
NULL status+duration = 0 / 101 (0.00%). - Recent 15m buckets: no NULL spikes.
- No
/users/me/courses401 cluster. - One 500 present from intentional fatal smoke route test.
Rollback Checklist (if needed)
1. Plugin rollback
- Revert
altus-apiplugin to pre-hardening tag/commit. - Revert dependent plugin updates:
altuslearnlmsaltus-ai-support
2. Disable new/diagnostic-only routes or smoke hooks
- Disable fatal-smoke/testing endpoints in production if they were enabled.
3. Script/tool rollback
- Keep scripts in place if harmless, or remove only if required by policy.
- If removing, retain at least KPI and null diagnostics scripts for incident triage.
4. Data rollback
- No mandatory schema-destructive changes required for this release.
- If optional indexes were added, they can be dropped with the paired drop script.
5. Post-rollback verification
Run:
bash scripts/altus-api-log-kpi-report.sh 1bash scripts/altus-api-null-diagnostics.sh 1
Confirm:
- API availability normal
- No auth regression on critical routes
- No elevated 5xx/4xx trends
EBl handoff checklist
- Promote the exact validated build artifacts for
altus-api,altuslearnlms, andaltus-ai-support. -
Run post-deploy smoke:
bash scripts/altus-api-logging-smoke.shbash scripts/altus-api-log-kpi-report.sh 1bash scripts/altus-api-null-diagnostics.sh 1
- Capture KPI output snapshot for release evidence.
- Monitor first hour for status mix, NULL rows, and
/site/userslatency.
