Repository navigation
fix(course): capstone extras as links, progress counts live lessons - #1425
Merged
Merged
Conversation
The capstone's extra widget wars is a site tab with no framable page, so the lesson framed null. Extras without a preview now open as links in their own row, outside the tablist. Saved progress keeps only ids the course still has, and a finished course offers Start, not Continue to lesson 1. Lesson 12 names the seventh backend (Verilog through the HIR) in EN and RU; the CI comment counts 30 lessons. Closes #1424 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
X Brain Health CheckScore: 100.0/100 X Brain is above merge threshold |
Contributor
🚨 CRITICAL: Brain Health Below ThresholdThe brain health CI gate has failed. This PR cannot be merged until:
Please review the failed job logs and fix the issues. |
Contributor
🧪 Brain Stress Test ResultsTests: 261/261 passed, 0 leaked |
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.
Fixes from an audit of
#/courseafter #1420.warsis a site tab (preview: null), and the lesson page framed it anyway. Extras without a framable page now open as links in their own row, outside thetablist, so the tabs stay valid ARIA.website-checkscomment counts 30 lessons (27 and a lab of 3).Closes #1424
{ "version": 1, "head_sha": "3c4ce84c872972b6c797674d2af6f2f4fa73a6ee", "summary": "The course's capstone no longer frames a widget with no page, saved progress counts only live lessons, and lesson 12 names all seven backends.", "changes": [ "src/pages/Course.tsx: extras with no preview render as links in a row outside the tablist; readDone keeps only ids the course has; the overview offers Start when every lesson is done.", "specs/course/course.t27 and i18n/course.ru.json: lesson 12 says Verilog comes two ways, straight from the spec and through the HIR; generated files rewritten by course-from-spec.", ".github/workflows/website-checks.yml: the course comment counts 30 lessons." ], "tests": [ {"command": "node scripts/course-from-spec.mjs --check", "result": "30 lessons in 10 modules, 45 widgets, 10 lesson specs compile clean; locales en, ru; spec tests 6, asserts 24, all hold", "status": "passed", "evidence": "Local run on this branch."}, {"command": "npm run test:course", "result": "15 pass, 0 fail", "status": "passed", "evidence": "Local run on this branch."}, {"command": "npm run typecheck:ratchet", "result": "179 errors across 26 files; baseline 179 across 26; no file gained", "status": "passed", "evidence": "Local run on this branch."}, {"command": "vite build, then vite preview of #/course/capstone", "result": "the WARS extra shows as a link to #/queen?tab=wars; the gatle widget frames as before", "status": "passed", "evidence": "Local preview read in the browser."} ], "limitations": [ "eslint reports react-hooks/set-state-in-effect in Course.tsx; it is on main already and this PR does not touch that effect.", "Ordering of the tutorial specs across lessons and per-lesson preview cards are left for a separate change." ], "tags": ["Course", "Website"], "blog": { "title": "Small fixes to the t27 course after launch", "summary": "An audit of the 30-lesson course found an empty frame in the capstone, a progress count that could run high and a lesson that named six of seven backends.", "outline": [ "Why a widget with no framable page, such as the WARS tab on the Queen board, now becomes a link in its own row instead of an empty iframe.", "Counting progress only against lessons the course still has, so a renamed lesson cannot push the count past 30, and what a finished course offers.", "The seventh backend: Verilog written a second way, through the HIR, and why lesson 12 now names it in English and Russian." ] } }🤖 Generated with Claude Code