Skip to content

Merge current codebase: adaptive learning, hardened sandbox, SaaS UI redesign - #1

Merged
rohanesor merged 2 commits into
mainfrom
merge/current-codebase
Oct 31, 2026
Merged

rohanesor merged 2 commits into
mainfrom
merge/current-codebase

Conversation

@rohanesor

Copy link
Copy Markdown
Owner

Merges the current LessonFoundry codebase into main without replacing existing code.

  • Adaptive syllabus coach: weak-topic identification, classroom-scoped curriculum matching, 3-day remedial plans, Bubblewrap-isolated coding challenges (fails closed without bwrap; hosted execution returns 503).
  • Migrations 015/016 and API routes; student-role direct table grants revoked in favour of authenticated routes.
  • Frontend redesign: design tokens, teacher home, classroom overview, grouped pack workspace navigation, explicit login auth-mode badge, responsive header/tables, Status guard against undefined state.
  • CI: E2E selectors aligned with grouped navigation; WORKER_DATABASE_URL passed to the isolated worker.
  • Excluded on purpose: SOURCES/, ai video/ media, scratch scripts, prototype HTML, local databases, uploads, and .env files.

Verification: local secret scan PASS (0 blocking findings); frontend typecheck and production build pass; CI runs on this PR.

Brings the current LessonFoundry codebase onto origin/main without
replacing existing code.

Adaptive syllabus coach
- weak-topic identification from quiz scores (performance.py)
- classroom-scoped approved curriculum matching (curriculum.py)
- 3-day remedial plan generation and completion tracking (planner.py)
- coding challenges with Bubblewrap-isolated execution (sandbox.py)
- adaptive API routes and migrations 015_quiz_attempts, 016_learning_plans
- student "What to work on next" panel

Security
- sandbox fails closed without bwrap; hosted execution returns 503
- student-role direct table grants revoked in favour of API routes

Frontend redesign
- design tokens (Inter, navy/blue palette, 4px spacing, subtle borders)
- teacher home, classroom overview, and grouped pack workspace navigation
- explicit auth-mode badge on login (hosted vs local dev token)
- responsive header, scrollable tabs, stacked tables on phones
- Status component guarded against undefined state

CI/CD
- E2E selectors aligned with grouped pack navigation
- WORKER_DATABASE_URL passed to the isolated worker

Docs: adaptive design/validation/E2E results, PPT brief, product overview,
UI redesign plan.

Excluded on purpose: teacher source material (SOURCES/), ad-production
media (ai video/), exploratory scratch scripts, prototype HTML, local
databases, uploads, and .env files.
@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 181054b3-4344-4c41-9a56-509cac3eca84
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

…for student routes

- Student-role routes were called with the teacher token, so role
  enforcement correctly returned 403. Use the student token
  (ADAPTIVE_TEST_STUDENT_TOKEN, default local-student-only).
- Pack assignment used a non-existent PATCH route. Create the pack in the
  classroom, upload a source, run gap-check and generation, approve, publish,
  then have the student join by code.
- Coding problems are attached to the published classroom pack, matching the
  API rule that students only see challenges on published classroom units.
- Record real quiz attempts through the student answer route so the planner
  builds from actual scores.

All 13 adaptive tests pass with the CI backend configuration.
@rohanesor
rohanesor merged commit 4dd0b57 into main Oct 31, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant