Uh oh!
There was an error while loading. Please reload this page.
db/study-code: study artifacts → offering_id (epic slice PR7) - #273
Conversation
Study artifacts (documents/notes/sessions/study_guides/flashcards) now key
on offering_id (0025); the knowledge graph + course context stay on the
abstract course_id. Routes resolve the abstract course id from the API
boundary to the current-term offering via services.academics before
reading/writing, and translate offering -> abstract for every graph path.
- notes_service: offering_id column + soft-delete (deleted_at) on read/delete.
- documents: persist offering_id; soft-delete; resolve offering on upload;
study-guide cache + doc reads key on offering; graph/syllabus/course-context
keep the abstract course id.
- study_guide / flashcards: read+write the offering; expose abstract course id
in responses; flashcards.import_commit resolves offering (nullable).
- learn: sessions key on offering_id; doc context reads by offering; wire the
shared-context block to the session's abstract course (resolves the
db/study-code TODO, no more {} degrade).
- quiz: validate difficulty against the 0025 CHECK enum; stop touching the
dropped graph_nodes.mastery_events column — route mastery writes through
services.graph_service.apply_graph_update (sanctioned path), keyed on the
abstract course id. IDOR 404 still fires before any write.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>Deploying with |
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs | frontend-staging | 20e08bc | Commit Preview URL Branch Preview URL | Jun 24 2026, 09:06 AM |
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Uh oh!
There was an error while loading. Please reload this page.
Study slice (migration 0025). documents/notes/sessions/study_guides/flashcards re-keyed to
offering_id(resolved viaservices/academics); soft-deletedeleted_at; CHECK enums; wired learn's session offering→abstract for the graph/shared-context (resolved the academics TODO); quiz mastery routed throughapply_graph_update. Green; ruff clean.Plan:
docs/superpowers/plans/2026-06-24-db-study-code.md.Merge AFTER db/graph-code. Follow-up flagged:
flashcard_import_service.dedup_against_existingstill filters a column namedcourse_id(nowoffering_id).