feat(lab2): course route with level navigation + MSW fixtures [2/4]#73488
Draft
stephenliang wants to merge 1 commit into
Draft
feat(lab2): course route with level navigation + MSW fixtures [2/4]#73488stephenliang wants to merge 1 commit into
stephenliang wants to merge 1 commit into
Conversation
8f5fa79 to
cf4bfa1
Compare
489b6dc to
e6660cc
Compare
cf4bfa1 to
e2fe438
Compare
e6660cc to
f8a31ad
Compare
c53f1be to
fe03c1f
Compare
f8a31ad to
51feef7
Compare
a824702 to
5f9b09b
Compare
Add the /courses/:name/units/:u/lessons/:l/levels/:p route with: - Permissive Zod schemas for script_structure and level_properties endpoints (passthrough for unknown serializer fields) - Query key factory excluding levelPosition for in-lesson cache reuse - Position→activeId→levelId join (resolveCourseLevel) - AppName-keyed lab entrypoint resolver (fish→oceans, standalone_video→stub) - Level navigation with prev/next links, live-region position indicator - MSW fixtures captured from production for all 8 oceans levels - Signed-out auth stub in enableMocks for standalone MSW mode - A11y: aria-live position announcements, label-in-name buttons, correct heading hierarchy on fallback states Lab2-studio-oceans tasks §3 (3.1–3.9). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51feef7 to
fd5b25d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add
/courses/:name/units/:u/lessons/:l/levels/:proute with permissive Zod schemas forscript_structureandlevel_propertiesendpoints. Query-key cache reuse across in-lesson navigation. Position→activeId→levelId join (resolveCourseLevel), appName-keyed lab entrypoint resolver (fish→oceans,standalone_video→stub). Level navigation with prev/next links and live-region position indicator.Lab2-studio-oceans tasks §3 (3.1–3.9). No Rails changes.
Stack: [1/4] #73487 → [2/4] ← this PR → [3/4] #73490 → [4/4] #73496
Links
openspec/changes/lab2-studio-oceans/design.md(on proposal branch)Testing story
resolveCourseLevel,getLabEntrypointByAppName,LevelNavigationyarn typecheck+./tools/hooks/pre-commitpassDeployment notes
Standard merge-and-deploy. New route only activates when navigated to directly — no existing routes affected.
🤖 Generated with Claude Code