Diagnostics
Configuration
- Deployment
- sandbox
- School
- Riverbend Secondary College
- Tenant
- 11111111-1111-4111-8111-111111111111
- Database
- aws-0-ap-southeast-2.pooler.supabase.com:5432 — opened by node-postgres. Every read and write goes through
createDatabase(…).withTenant(verifiedClaims, …)asauthenticated— a role that is not a superuser and does not holdBYPASSRLS, checked on first use. Nothing in this build has a service-role path, andcheck:service-rolefails the build if one appears. - Development bearer token
- absent — the API cannot authenticate anyone
Entitlements
Licensed non-core modules: none.
Absent from navigation because they are not licensed: student-profile, identity, curriculum, learning, student-profile, staff-operations, attendance, emergency, student-care, health, events, assets, data-insights, assessment, learner-record, examinations, enrolment-admissions, sport, careers, student-care, behaviour, emergency, health, events, data-insights, movement, transport, community-services, board-and-committees, knowledge-and-policy, knowledge-and-policy, faith-mission-ministry, workflow, workflow, organisation. They are absent, not disabled — there is no greyed-out item anywhere in the shell, and no code path that could produce one.
Mounted routes
GET /api/v1/curriculum/course-versions/:id— requirescurriculum.course.view, denial shapeforbidden, risk tierstandardGET /api/v1/identity/students/:id— requiresstudent.profile.view, denial shapenot_found, risk tierstandardGET /api/v1/attendance/sessions/:id/roll— requiresattendance.roll.view, denial shapeforbidden, risk tierstandardGET /api/v1/attendance/observations/:id— requiresattendance.roll.view, denial shapenot_found, risk tierstandardGET /api/v1/attendance/summaries/:id— requiresattendance.roll.view, denial shapenot_found, risk tierstandardGET /api/v1/gradebook/results/:id— requiresgradebook.result.view, denial shapenot_found, risk tierstandardGET /api/v1/events/consent-requests/:id— requiresevents.consent-response.view, denial shapenot_found, risk tierstandardGET /api/v1/events/excursions/:id— requiresevents.event.view, denial shapeforbidden, risk tierstandardGET /api/v1/assessment/submissions/:id— requiresassessment.submission.view-assigned, denial shapenot_found, risk tierstandardGET /api/v1/identity/students/:id/family-relationships— requiresstudent.profile.view, denial shapenot_found, risk tierstandardGET /api/v1/movement/passes/:id— requiresmovement.pass.view, denial shapenot_found, risk tierstandardGET /api/v1/transport/manifests/:id/passengers— requirestransport.manifest.mark, denial shapeforbidden, risk tierstandardGET /api/v1/reporting/report-editions/:id— requiresreporting.report.contribute, denial shapenot_found, risk tierstandardGET /api/v1/assets/device-loans/:id— requiresassets.device-loan.manage, denial shapeforbidden, risk tierstandardGET /api/v1/staff-operations/compliance-alerts/:id— requiresstaff-operations.compliance.view, denial shapenot_found, risk tierstandardGET /api/v1/assessment/extension-requests/:id— requiresassessment.submission.view-assigned, denial shapenot_found, risk tierstandardGET /api/v1/learner-record/transcripts/:id— requirescredential.transcript.generate, denial shapenot_found, risk tierstandardGET /api/v1/learner-record/credentials/:id— requirescredential.award.issue, denial shapenot_found, risk tierstandardGET /api/v1/examinations/sittings/:id— requiresexaminations.session.supervise, denial shapenot_found, risk tierstandardGET /api/v1/activities/participation-records/:id— requiresactivities.participation.view, denial shapenot_found, risk tierstandardGET /api/v1/governance/meetings/:id— requiresgovernance.meeting.view, denial shapeforbidden, risk tierstandardGET /api/v1/enrolment/applications/:id— requiresenrolment.application.process, denial shapenot_found, risk tierstandardGET /api/v1/recognition/ledger-entries/:id— requiresrecognition.ledger.view-assigned, denial shapenot_found, risk tierstandardGET /api/v1/curriculum/framework-versions/:id— requirescurriculum.framework.view, denial shapeforbidden, risk tierstandardGET /api/v1/transport/service-runs/:id— requirestransport.manifest.mark, denial shapeforbidden, risk tierstandardGET /api/v1/staff-operations/positions/:id— requiresstaff-operations.position.view, denial shapeforbidden, risk tierstandard
Audit
Records go to audit.event, through PostgresAuditWriter. They are durable and queryable, and the table refuses UPDATE, DELETE and TRUNCATE from every role including its owner. RETENTION is not implemented and no default was invented: how long a school must keep an access record is a legal question nobody has answered here.