AI2N.AI · Software Release Notes

What's new in v1.0

The complete first release of the AI2N.AI platform — a four-app, multi-tenant LMS covering the Student, Teacher, School Administrator, Parent/Guardian, Platform Admin, and Content Studio experiences.

Released
Four live apps

learn.ai2n.ai (student), school.ai2n.ai (teacher & school admin), parent.ai2n.ai (guardian), and admin.ai2n.ai (platform admin) — each on its own custom domain with managed TLS.

Real-time behind every module

Every module in this release is backed by real database tables, live API routes, and role-based authorization — verified by an automated test suite and a live browser walkthrough before shipping.

Use the menu on the left

Pick a portal or module to see exactly what shipped for it in this release.

Portal learn.ai2n.ai

Student

The full K-12 learner journey — dashboard, courses, assessments, AI tutoring, portfolio, and account controls.

Dashboard & Learning Paths

Mission Control dashboard (XP, level, streak, progress), course catalog with enrolled/recommended pathways, and the module/lesson workspace with unlock logic.

Video Lesson player

Resume position, playback speed, captions/transcript panels, a real watch-gated completion threshold, in-video knowledge checks, notes, downloads, and fullscreen.

Quizzes & Assignments

Auto-graded quizzes and code/assignment submissions, rubric-scored when a rubric exists.

Robot Buddy AI tutor

Claude-powered, grounded in the student's active module, rate-limited, with teacher oversight of chat history.

Saved Collections, Activity History & Search

Real bookmarks page, a merged chronological activity feed, and client-side search across modules/announcements/bookmarks.

Accessibility settings

Text size and high-contrast preferences, persisted across sessions.

Certificates & Academic Transcript

Certificates auto-issued on course completion; a transcript aggregating completion rate and scores per enrolled course.

Personal calendar & live sessions

Real scheduled live-class sessions with join links, replacing the old static calendar placeholder.

In-app notifications

A real notification bell — submission reviewed, AI-chat reviewed, and other real triggers, with mark-read/mark-all-read.

Privacy controls

Download a full JSON export of your data, or submit an account-deletion request for admin review.

Portal school.ai2n.ai

Teacher

A complete instructional workspace for grading, monitoring, and supporting students at your school.

Grading Queue & Roster

Review pending/reviewed submissions with rubric-aware scoring; invite and manage your school's students.

AI Chats review

Oversight of every Robot Buddy conversation, with an optional review note.

Attendance & Gradebook

Daily attendance (take + summary views) and a weighted gradebook with configurable grade categories.

Rubric-based grading

Score submissions against per-assignment rubric criteria; the score recomputes automatically.

Intervention Plans

Track at-risk students with a dated check-in log, not just a static record.

Analytics

A real engagement dashboard — 7-day active students, event breakdown, and per-student drill-down into 30 days of activity.

Live Sessions

Schedule a live class with a join link (Zoom/Meet/Teams/etc.); it appears automatically on your students' calendars.

Portal school.ai2n.ai

School Administrator

School-scoped administration — staff, enrollment, and course registry for your own school only.

Staff management

Invite and manage teacher and school-admin accounts at your school.

Enrollment management

Enroll or withdraw students from courses assigned to your school.

School Registry

Assign platform courses to your school, with an optional owning-teacher label.

Bulk student import

Import a pasted list of students in one batch, with per-row success/error reporting.

Portal parent.ai2n.ai

Parent / Guardian

A privacy-preserving, read-only window into each of your linked children's progress.

Guardian account linking

Accounts are created and linked by school staff — new account or an existing guardian linked to a second child.

Progress, Engagement & Announcements

Module completion, streaks/minutes-per-week, and your child's school announcements.

Submissions & AI Chats

Assignment scores and feedback, plus a read-only view of your child's Robot Buddy chat history.

Multi-child switcher

Switch between linked children — shown automatically when you have more than one.

Portal admin.ai2n.ai

Platform Admin & Governance

Platform-wide operations, oversight, and governance controls.

Staff & RBAC

Create staff accounts of any role platform-wide; a real role/permission/tenant model underlies every access check.

Audit Log

A filterable, paginated record of every meaningful platform-admin and content action.

Feature Flags & Role Privileges

Platform-wide feature flags, plus per-role (School Admin / Teacher) enable/disable of individual nav tabs — enforced server-side, not just hidden in the UI.

Bulk course push-to-schools

Push a course to every school, or a hand-picked selection, in one action.

Data Deletion Requests

A review queue for account-deletion requests — complete (anonymize) or deny, with an audit trail.

Accessibility (WCAG)

Contrast and focus-visible fixes applied consistently across all four apps.

In-app notifications

A real notification bell for admin-relevant events, including lesson-edit approvals/rejections.

Portal admin.ai2n.ai

Content Studio

Authoring, review, and publishing controls for every course, module, lesson, quiz, and assignment.

Course authoring & taxonomy

Create and edit courses with a structured School Stage → Grade dependent taxonomy (Foundation/Preparatory/Middle/Secondary).

Review & approval workflow

Courses move through draft → pending review → published before students can enroll.

Module, quiz & assignment authoring

Full CRUD for course structure and assessments.

Lesson edit approval workflow

A real Edit button for existing lessons — every edit is submitted for a separate Approve step before it reaches students.

Rubrics

Optional per-assignment scoring criteria that feed directly into teacher grading.

Version history

Every content write is snapshotted, so past states of a course/module/lesson are always recoverable.

Media Library

Video/file upload with duplicate detection, rights confirmation, and file-signature validation — the storage layer behind Video Lessons.

Video Lesson authoring

Attach an uploaded video to a lesson, set the watch-completion threshold, toggle downloads, and author in-video knowledge checks.

Course-list filters

Filter the course list by School Stage, Grade, and publish Status.

AI2N.AI · Software Release Notes

What's new in v1.1

Scheduling & organization tools, five Content Studio authoring upgrades, platform-wide Global Privilege Management, a new AI-assisted Curriculum CMS with a public preview page, and account-access fixes across every portal.

Released
Account security, everywhere

TOTP multi-factor authentication for all five roles, Microsoft Entra ID sign-in for platform admins, and a real "Forgot password?" flow now on every portal (previously Student-only).

Global Privilege Management

A new Global Administrator tier, a real Roles & Permissions catalog, Access Reviews, Access Simulation, Impersonation, Risk Alerts, and Bulk Assignment — the platform's full governance layer.

Curriculum CMS

Upload a curriculum guide (PDF/DOCX), get an AI-assisted structured draft grounded in the real source text, and publish an immutable snapshot — now live on a real public page.

Use the menu on the left

Pick a portal or module to see exactly what shipped for it in this release.

Portal learn.ai2n.ai

Student

Account security and access improvements.

Two-factor authentication

Enable TOTP MFA (authenticator app + backup codes) from Settings > Security.

Weekly progress digest

An opt-in weekly email summarizing progress, independent of the existing notification-email preference.

Portal school.ai2n.ai

Teacher

New scheduling and organization tools, plus a more useful Attendance Summary.

Timetable

A real weekly class schedule per school, with teacher double-booking prevented automatically.

Student Groups & Lesson Plans

Organize students into your own teaching groups and keep a real lesson-plan calendar, both teacher-owned.

Attendance Summary date-range filter

Filter attendance totals by This month, This quarter, This half-year, This year, a custom range, or all time — instead of only an all-time total.

Two-factor authentication

Same TOTP MFA available in Settings > Security.

Portal school.ai2n.ai

School Administrator

Scheduling tools and account security.

Timetable management

Create and manage your school's weekly class schedule.

Two-factor authentication & Forgot password

TOTP MFA in Settings > Security, and a real "Forgot password?" link on the login screen (previously missing).

Portal parent.ai2n.ai

Parent / Guardian

Account access improvements.

Forgot password

A real "Forgot password?" link on the login screen, sending a working reset-link email (previously missing entirely, and the underlying email link itself was broken for this portal even when requested directly).

Two-factor authentication

TOTP MFA available wherever your account settings live.

Portal admin.ai2n.ai

Platform Admin & Governance

The full v1.1 Appendix B Global Privilege Management build — role hierarchy, feature control, and governance oversight.

Global Administrator role

A new admin tier scoped to an explicit set of assigned schools — not one school, not every school.

Roles & Permissions

A real permission catalog and a role × permission matrix for the platform's six built-in roles.

Feature Flags — school overrides & 11 states

Enabled/Disabled/Inherited/Pilot/Scheduled/Suspended/Deprecated/Retired/Read-only/Restricted/Approval-required, settable per school, with declarable dependency/conflict rules between features.

Bulk Assignment

Apply a feature state to many schools, or a permission to many roles, in one action — always previewed (dry run) before it's applied.

Access Reviews & Access Simulation

Certify or revoke staff access on a schedule, and preview the impact of a role/feature change before making it.

Impersonation & Risk Alerts

View-as any user for support, and threshold-based alerts for repeated denials, rapid privilege changes, and dormant privileged accounts.

Curriculum CMS editor

Upload, extract, AI-structure, and publish curriculum guides — see Content Studio for the full picture.

Entra ID sign-in & MFA

Microsoft sign-in for admin accounts, and TOTP MFA available to every role.

Portal admin.ai2n.ai

Content Studio

Five authoring upgrades, plus a new Curriculum CMS for ingesting and publishing external guides.

Content cloning

Duplicate a whole course or a single module as a starting point — a real independent copy, not a live reference.

Accessibility & localization metadata

Language, long description, and a flashing-content warning flag, alongside the existing alt text/caption/transcript fields.

Immutable version-locking

A student's quiz attempt, assignment submission, and rubric score each freeze the exact content they were graded against — editing the live quiz/assignment/rubric afterward can never change a historical record.

Retirement & dependency checks

Retire a course to hide it from new enrollment while keeping existing students' history intact; deleting a course now blocks with a clear reason if real enrollments, school assignments, or certificates depend on it.

True frame-synced captions (WebVTT)

Real per-cue timed captions on video lessons, replacing the old static caption panel.

Curriculum CMS

Upload a curriculum guide (PDF/DOCX), get a real text extraction, let Claude propose a structured units/lessons/sections/assessment-items draft grounded in that exact text, then review, approve, and publish an immutable snapshot.

Site r2a.ai2n.ai

R2A Academy Site

The public-facing consumer of the new Curriculum CMS.

Curriculum preview page

A new page that renders any published Curriculum CMS page in the site's real theme — hero facts, learning-domain cards, a unit/lesson accordion, resources, and FAQ, all pulled live from what was actually published.

AI2N.AI · Software Release Notes

What's new in v1.2

Multi-school teaching assignments, a real school registry with logo branding, platform-wide header search, and a full navigation redesign across the Admin, School, and Parent portals.

Released
Teach at more than one school

A teacher or school administrator can now be assigned additional schools and switch which one is active without logging out — their existing single-school workflows are completely unaffected.

Real school registration

Admins can now register a new school and give it a logo directly from the console — previously the only way a school row was ever created was through the public signup form.

Grouped navigation & header search

The Admin Console's sidebar is now organized into 7 collapsible sections with a live search across staff, schools, and courses; the School and Parent portals were redesigned to match.

Use the menu on the left

Pick a portal or module to see exactly what shipped for it in this release.

Portal learn.ai2n.ai

Student

A navigation fix.

Sidebar scrolling fix

The course/module navigation list on the left now scrolls independently when it's too long to fit the screen, instead of silently clipping the bottom items.

Portal school.ai2n.ai

Teacher

Multi-school support and a redesigned portal shell.

School switcher

If you're assigned to more than one school, a switcher appears in the header — pick a school and every view (roster, attendance, gradebook, and the rest) instantly reflects that school, with no re-login.

Vertical navigation

The tab bar moved from a horizontal row (which was starting to overflow) to a scrollable left sidebar.

Header search

Search your school's own staff and courses directly from the top bar.

Identity chip & school branding

Your name, role, and an avatar now sit in the top bar; a footer at the bottom of the page shows your active school's name and logo, when one is set.

Portal school.ai2n.ai

School Administrator

The same multi-school and navigation upgrades as Teacher, above.

School switcher & vertical navigation

Identical to the Teacher role's upgrades — see the Teacher tab for details.

Portal parent.ai2n.ai

Parent / Guardian

A full portal shell redesign.

Vertical navigation

The portal now uses the same scrollable left sidebar as the School and Admin portals, in place of the old horizontal tab row.

Identity chip & school branding

Your name and an avatar now sit in the top bar; a footer shows the name and logo of whichever child is currently selected, and updates automatically when you switch between children at different schools.

Portal admin.ai2n.ai

Platform Admin & Governance

A full console navigation redesign, real school registration, and platform-wide header search.

Grouped sidebar navigation

All 18 console sections are now organized into 7 collapsible groups — People & Schools, Content & Curriculum, Access Control, Platform Configuration, Data Governance, Security & Compliance, and Support & Operations — with sensitive functions marked, remembered expand/collapse state, and the active section's group always auto-expanded.

Real school registration

A new "Register a school" form in School Registry, with an optional logo upload; existing schools can be renamed and have their logo replaced or removed.

Header search

Search staff, schools, and courses platform-wide directly from the top bar; selecting a result jumps straight to it.

Confirmation on high-risk actions

Starting an impersonation session or changing a Global Administrator's privileges now asks for confirmation before proceeding, on top of the existing audit trail.

Multi-school assignment

Assign a teacher or school administrator additional schools directly from their Staff record, alongside their primary school.

Identity chip & console branding

Your name, role, and an avatar now sit in the top bar; the sidebar carries the AI2N.AI logo and a "Powered by" mark, and shows the selected school's own logo whenever School Registry has one chosen.

AI2N.AI · Software Release Notes

What's new in v1.3

A layout-bug cleanup pass on the Student portal, the full People & School Management redesign (Corporate partners, profile details, a directory-first School Registry), Faculty Depth, Competency-to-Mastery, Consent & Forms, Legal & Policy Management, and Support & Settings on every portal.

Released
Impersonation and footer fixes, verified live

"View as" from Admin now correctly lands in the student's real session instead of Login; the student footer is shorter, aligned, and no longer carries an unused email link.

Three layout bugs found and fixed in the same sweep

A left-gutter regression, STEM Lab stuck permanently on "Loading…", and a misaligned dashboard grid gutter — none were in the original report, all caught by a full-page verification pass and confirmed fixed against the live site.

People & School Management, completed

Corporate partners as a real registered org type, a searchable directory-first School Registry, People Directory profile details (Overview/Contact/Employment), Faculty Depth, and Class Galleries — see Platform Admin for the full list.

Consent & Forms

Publish a consent form to a school and every matching student's guardian sees it in their own portal, reviews the real text, and signs or declines — tracked in real time.

Legal & Policy Management

Author, version, and publish platform policy documents, with every published version permanently recorded.

Support & Settings, everywhere

Every portal — Student, Teacher, Parent — now has its own Support ticket inbox and a Settings page to enable two-factor authentication.

Competency-to-Mastery

Define competencies, link them to rubric-graded work, and watch mastery progress automatically and transparently as students submit real, graded evidence.

Use the menu on the left

Pick a portal or module to see exactly what shipped for it in this release.

Portal learn.ai2n.ai

Student

Impersonation, footer, and three layout bugs — fixed and verified against a live session — plus a new place to track your own mastery.

Impersonation session fix

Opening "View as" from Admin now lands directly in the real, logged-in app shell instead of the login screen.

Footer redesign

Reduced height, aligned with the "Powered By" mark, and the unused email link removed.

Layout gutter fix

A left-edge dead space that appeared across every page (introduced while fixing the footer) has been removed — content now spans the full column width again.

STEM Lab loading fix

The STEM Lab nav item no longer gets stuck on "Loading…" — it now opens directly into your active module.

Dashboard grid alignment

The vertical divider between the hero section and the dashboard cards below it now runs in a single straight line.

My Skills

A new nav item listing every competency you're tracked on, your current mastery state, and a plain-language explanation of why — the same explanation your teacher sees.

Support

A Support tab for opening a ticket and reading replies, without leaving the portal.

Portal school.ai2n.ai

Teacher

A new Mastery tab alongside Gradebook and Intervention Plans, plus Support and Settings.

Class mastery summary

See how your class is distributed across every mastery state, at a glance.

Student drill-down & override

Open any student to see their full competency list with the calculated reason behind each state, and set a manual override with a required reason when the automatic ladder doesn't fit.

Support & Settings

A Support tab for raising a ticket, and a Settings tab to enable two-factor authentication — both new to this portal.

Portal parent.ai2n.ai

Parent / Guardian

Consent Forms, plus Support and Settings.

Consent Forms

Review any consent form your child's school has published, read the full text, and sign or decline — right from your own portal.

Support & Settings

A Support tab for raising a ticket, and a Settings tab to enable two-factor authentication — both new to this portal.

Portal admin.ai2n.ai

Platform Admin & Governance

The complete People & School Management redesign, Faculty Depth, Competencies, Consent & Forms, and Legal & Policy Management.

Education Board course filter

Filter the course list by Education Board (with a searchable State/UT field for state boards), alongside the existing School Stage, Grade, and Status filters.

People Directory

Staff accounts and student accounts now live in one unified directory with Profile Type, Role, School, and Status filters — sidebar reorganized into separate People Management and School Management groups. Every person now has an Overview/Contact/Employment profile workspace (phone, designation, department, joining date, address, notes).

Corporate partners

School Registry can now register a real B2B corporate partner alongside schools, with its own type filter — a person can be assigned to one exactly like being assigned to a school.

School Registry, directory-first

A searchable, filterable list of every school and corporate partner is now the primary way to find one — no more picking blind from a dropdown before you can see anything.

Class Galleries

Upload class photos/videos with a required consent confirmation; each upload enters a pending-review queue for a platform admin to approve, reject, or permanently delete.

Consent & Forms

Publish a consent form to one school or platform-wide; a pending response is created automatically for every matching student, and a full response-status view shows exactly who has signed, declined, or not yet responded.

Legal & Policy Management

Author a policy (Privacy, Terms of Use, AI Disclaimer, and more), publish it to snapshot a permanent version, and browse the full version history — with a public endpoint serving whatever is currently live.

Faculty Role & lifecycle on every school assignment

Each row in a staff member's "Additional schools" panel can now carry one of five named roles (Program Control, Program Director, Program Coordinator, Teaching Staff, Technical Lab Coordinator) — leave it blank and that assignment behaves exactly as before. Once a role is set, a status pill and the valid next actions (submit, approve, suspend, reactivate, revoke, complete, archive, transfer) appear inline, and Program Control/Director/Coordinator become read-only at that school.

Scheduled starts, automatic expiry & transfer

Set a future start date and the assignment activates on its own; set an end date and it expires on its own; move an assignment to a different school in one action, carrying the same role forward. Every transition is permanently recorded for audit.

Competencies

Create, list, and retire competencies from Content & Curriculum. The existing rubric-criteria editor now has an optional competency picker per criterion — link it and every future grade against that criterion feeds mastery automatically.

AI2N.AI · Software Release Notes

What's new in v1.4

Everything used to create learning content moves out of the Admin Console and into a portal of its own, Content Studio. Assignment stays with the school and finally knows what grade a student is in.

Written · not yet deployed
Nothing in v1.4 is live yet

All of it is written, tested and committed, but none of it has been deployed to any environment and the database changes have never been run. Read the Upgrade notes before scheduling this release — one change alters what students already see.

Content Studio is where content is made

Courses, lessons, quizzes, media, curriculum books, the question bank, competencies and misconceptions are all authored in studio.ai2n.ai now. The Admin Console keeps platform operations, Documentation, email templates and galleries.

Two new staff roles

Content Author writes and submits. Content Reviewer approves and publishes. Neither can put content in front of students — that stays with school administrators, by design.

One review queue

Everything waiting on a reviewer — courses, lesson edits, curriculum books, generated videos — now appears in a single list, oldest first, instead of being scattered across four screens with nothing saying any of it was waiting.

Nobody approves their own work

Whoever submits something can no longer be the one who approves or publishes it. Previously this was enforced on exactly one action out of six.

Assignment by grade

A student now has a recorded grade, a course can be offered to one grade rather than the whole school, and a whole grade can be enrolled in one action instead of thirty clicks.

A data-loss bug fixed

Any curriculum book organised into Parts lost every Part, and every unit's link to one, the first time anyone saved it. See Content Studio for what happened and what replaced it.

Use the menu on the left

Pick a portal to see exactly what changed for the people who use it.

Portal studio.ai2n.ai

Content Studio

A new home for every kind of learning content, with one place to find each of them, a workflow from draft to published, and a queue that tells you what is waiting.

Courses

The full course builder: list and filter by stage, grade and status; modules with clone and delete; lessons, knowledge checks, quizzes, assignments and rubrics; version history on every entity; and import from a curriculum book with a preview of what will come across.

Curriculum books, with a real editor

A book's structure used to be one textarea of raw JSON. Every unit, lesson, section and assessment item is now a proper control, at any depth, with validation before saving instead of an unexplained error after it.

Books with Parts no longer lose them

Saving a book replaces its whole structure, and the old editor left one of the five collections out of what it sent — so every book organised into Parts lost them, silently, the first time anyone saved. The new editor always sends the complete structure.

Media Library as its own screen

Upload a file before deciding where it goes, search and filter the whole library, edit titles, alt text, transcripts and captions, then attach, move or detach. Uploads now show real progress instead of sitting on "Uploading…" for a 500 MB book.

Lesson Generator

Turn a lesson's text into a narrated avatar video: a script is drafted, a reviewer reads and edits it, and only then is anything rendered. The generated knowledge checks land on the lesson at the right moments in the video.

Question bank as a place, not a pop-up

It used to exist only inside a module's quiz editor, so writing a reusable question meant first opening some course, some module and its quiz. It has a screen of its own now, questions can be edited rather than deleted and rewritten, and the tag filter actually filters by tag.

Competencies and misconceptions

Both are editable for the first time. Competency stage and grade are chosen from a list instead of typed, so they match the courses they are meant to match. A misconception that has no tagged answer — and therefore can never be detected — is now called out rather than mentioned in grey text at the end of a row.

Review queue

One list of everything waiting on a reviewer, oldest first, with the decision available inline and a required note when something is sent back. Authors can watch the queue and see where their own submission sits.

Block templates

The existing Content Author workspace joins the rest of Studio. The old /author/templates address still works and redirects.

Portal school.ai2n.ai

School Administrator

The school decides who sees what, and can now say it by grade.

A student has a grade

Record a student's stage, grade, section and academic year from the Enrollment tab. Nothing in the platform recorded this before. The year carries forward from the last one you typed, so a whole roster does not mean typing it thirty times.

You can see who is missing one

The tab says how many students have no grade recorded and filters down to exactly those. A student without one is skipped when you enrol a grade and sees only courses offered to the whole school, so this is worth clearing.

Moving a student up a year keeps the old record

Setting a new grade supersedes the previous one rather than overwriting it, so "which grade was this child in last year" stays answerable.

Offer a course to a grade

Choose a stage and grade when offering a course, or leave both blank to offer it to the whole school, which is what every existing offer means. The same course can be offered to more than one grade.

Enrol a whole grade at once

One action enrols every student recorded in that grade. It confirms first, then reports what happened — including naming any students it skipped because they have no grade recorded, so a silent omission is not possible.

The course picker tells you what you are picking

It listed bare course titles while the panel directly below it displayed the stage and grade each course was written for. It now shows both, and narrows to courses that fit the grade you chose, with a checkbox to deliberately offer a course outside its grade.

Error messages say what is wrong

Several validation messages used to arrive as "Something went wrong." They now arrive as the actual sentence, such as "Write the academic year as 2026-27."

Portal learn.ai2n.ai

Student

What you can enrol in is now what your school has offered to your grade. This is the one part of v1.4 that changes something students can already see.

Students at a school that has not offered anything will now see an empty catalogue

Until now, a school with no courses assigned showed its students every published course on the whole platform — which meant a nine-year-old could be shown the Grade 12 syllabus, and a school that had never been set up looked as though it had been.

That fallback is gone. Any school that has not offered a course needs to offer one before its students see anything to enrol in.

Courses match your grade

Your course list shows what your school offered to your grade, plus anything it offered to the whole school.

The book library matches your grade too

Same rule for curriculum books. A book your grade was not given behaves exactly as though it does not exist.

An empty list explains itself

The portal now knows the difference between "your school has offered nothing", "no grade has been recorded for you yet" and "you are not at a school", instead of showing the same blank space for all three.

Portal admin.ai2n.ai

Platform Admin

Content authoring leaves this console. Platform operations, Documentation, email templates and galleries stay.

Content Studio and Curriculum CMS move out

Both move to studio.ai2n.ai. They stay visible here behind the authoring_in_studio flag until cutover, then are removed two releases later. Documentation stays in this console and is not part of the move.

Two new roles to grant

Content Author and Content Reviewer can be created from the People Directory and appear in the privileged-staff sets used by access reviews. A platform admin keeps everything both roles can do.

Assign a book to a grade

School Assignment on a curriculum book now takes an optional stage and grade. Existing assignments read "The whole school", which is what they have always meant. Removing one can target a single grade or the school's whole access.

Separation of duty across the content workflow

Approving and publishing a course, a lesson edit, a curriculum book or a generated video all now refuse the person who submitted it. A platform admin is deliberately exempt, so a one-person environment is never deadlocked.

A grade label that was always blank

The assigned-courses list read its grade from a column it never asked the database for, so that label never appeared. The course's grade and the grade it was offered to are now separate, and both are shown.

Release · v1.4

Upgrade notes

What has to happen before v1.4 is real, and the one change that needs telling people about first.

One behaviour change reaches existing students immediately

A school with no courses offered currently shows its students the entire published catalogue. After this release it shows them nothing until the school offers something.

Check which schools have no offers before deploying, and give them notice. This is the change most likely to arrive as a support call.

Nothing here has been run against a real database

Every part of v1.4 was verified against a stubbed database and a local stand-in for the API. The schema changes have never been executed anywhere, including the ones that drop and replace a uniqueness rule on school_courses. Treat the first migration run as the real test.

Deployment steps

In order, per environment:

  1. Run the database migration.
  2. Add the Studio origin to the API's CORS_ALLOWED_ORIGINS setting.
  3. Create one Content Author and one Content Reviewer account.
  4. Run the content-gate test against the deployed API; add --write to include the separation-of-duty check, which creates one course and deletes it again.
  5. Leave authoring_in_studio off until Studio is verified, then turn it on to hide the old sections in this console.
Ask schools to record their students' grades

Until a student has a grade, they see only whole-school offers and a grade-wise enrolment skips them. Nothing breaks, and both surfaces say so, but the release is not finished for a school until its roster is placed.

The Lesson Generator needs credentials before it will render

It needs an Anthropic API key to draft a script and Azure Speech credentials to render a video. Without them it refuses clearly rather than failing part-way. No real render or real script has been produced yet, so budget for a first run to surface something.

Existing content is untouched

No data is migrated and nothing is rewritten. Every course, book and assignment keeps its current meaning; the new grade fields are empty, and empty means "the whole school", exactly as before.