Repository navigation
feat(course): course three -- GoldenFloat, 27 modules (20 done, 7 pending) - #1470
Merged
Merged
Conversation
…t float family 20 lessons with their own widget and a clean lesson spec; 7 pending as cast placeholders until goldenfloat_family.t27 is clean. Course spec + RU twin registered in courses.t27, 27 widgets inserted into the compiler run of the gallery, routes, blog post (EN + RU). Closes #1469 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Seven pending lessons (2 phi ratio, 4 split optimality, 5 radix economy, 9 GF8, 11 GF12, 15 GF24, 16 GF32) now open their own lesson spec and a table widget drawn from it; every number is a constant, a test value or arithmetic of that spec. Where a comment and the code disagree (gf8 max_value 15.5 vs 31, gf12 "lowest" vs a < 0.05 assert, gf32 "second after GF12") the lesson says which is which. - Vendored lesson specs carry the smallest compile fix, proposed upstream as gHashTag/t27#7496. - Course spec regrouped to 9 modules of 3 lessons (owner's decision); catalog courses.t27 set to MODULES_PER_COURSE 9, LESSONS_PER_MODULE 3, same values as fix/course-nine-modules. - Gallery: the seven placeholders become tools; term/ placeholders removed. - Blog course-three-goldenfloat EN + RU: 9 modules of 3, no pending lessons. Known red until fix/course-nine-modules lands: check:course, test:course, check:course-pages (courses 0-2 still declare 27 x 1 on this branch, so course.generated.ts and the learn/ pages are not regenerated here). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…at/course-goldenfloat-3 # Conflicts: # apps/website/public/learn/a-whole-network/index.html # apps/website/public/learn/ai-numbers/index.html # apps/website/public/learn/cards.json # apps/website/public/learn/index.html # apps/website/public/ru/learn/a-whole-network/index.html # apps/website/public/ru/learn/ai-numbers/index.html # apps/website/public/ru/learn/index.html # apps/website/src/data/blog/index.ts # apps/website/src/data/blog/posts.ts # apps/website/src/lib/course.generated.ts
gHashTag
changed the base branch from
feat/course-t27-basics-0
to
fix/course-nine-modules
October 7, 2026 12:54
gHashTag
marked this pull request as ready for review
October 7, 2026 12:54
…at/course-goldenfloat-3
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.
Closes #1469
Course three, GoldenFloat (arXiv:2606.05017), route
#/goldenfloat, share pathlearn/goldenfloat/. Built by a bee that read only trinity's AGENTS.md "New course to open a topic" andspecs/course_recipe/{course-27,roadmap}.t27from PR #1465, as a test of whether that recipe is self-sufficient. Answer: not yet -- see Recipe gaps.What is in it
specs/course/goldenfloat.t27+goldenfloat-ru.t27+i18n/goldenfloat.ru.json; registered fourth inspecs/course/courses.t27.specs/widgets/golden-*.t27,public/widgets/golden-*/, card 1200x630) and a lesson spec that compiles clean in the site's wasm compiler.phi_ratio,phi_split_optimality,radix_economy,gf8,gf12,gf24,gf32). The vendored copies underpublic/t27/files/specs/carry the smallest compile fix, proposed upstream as spec(numeric,math): the GoldenFloat lesson specs compile clean and say only true things t27#7496. Every table number is a constant, a test value or arithmetic of that spec; where a comment and the code disagree (gf8max_valuecomment 15.5 vs computed 31; gf12 test named..._lowestasserts only < 0.05 while GF14 sits at 0.007; gf32 comment "second after GF12") the lesson says which is which. Theirpublic/term/golden-*/placeholders are deleted and the gallery entries are tools.courses.t27set toMODULES_PER_COURSE 9,LESSONS_PER_MODULE 3-- the same values as the courses 0-2 work onfix/course-nine-modules, so that merge is trivial.gallery.t27(end of the compiler run, before game); shifted index tests (wars 117, race-the-bee 121, gatle 122).owner-approved-foreign): routes inmain.tsx,COURSE_ROOTSinGlobalStarfield.tsx, aNavigation.tsxentry, blog postcourse-three-goldenfloat(ENbody+ RUruBody) registered inposts.ts/index.ts, regeneratedcourse.generated.ts/queenWidgets.generated.ts.course-from-spec.test.mjsmutation target moved 3->4 courses.Recipe gaps
RU_CONTRACTandGENERATED.pending, session.cast, card), yet the gates require a real gallery entry per lesson.LESSON_SPEC; many roadmap specs are dirty, so "pending" has no honest spec to point at.WIDGET_COUNTand specific indices;tri widget gallery-addis only mentioned in a gallery comment.test:widgets-spec,check:widget-pages,tsc, and runningonboarding-from-spec.tools/gen_formats_catalog.py, outside trinity.-3is ambiguous (course index vs attempt).basics-*.COURSE_ROOTS, NavigationPAGES) are not in the recipe.WIDGET_CATEGORIESmust be one contiguous run per category inCATEGORY_IDSorder, so a new compiler course must be inserted mid-gallery, shifting hard-coded index tests -- appending fails.posts.tsimport + map,index.tsentry + RU block) is not in the recipe.course-from-spec.test.mjshard-codes the current course count in a mutation test (COURSE_COUNT = 3); adding a course breakstest:courseuntil it is bumped.feat/widget-cards-from-spec(5bdcf8e); cards here were drawn with a temporary copy of it, not committed.{ "version": 1, "head_sha": "cc806047ccbed37d7eb6ccb3c18908dbc233a9fb", "summary": "Course 3, GoldenFloat: 27 of 27 lessons real in 9 modules of 3 on the phi-split float family, each with a unique widget and a lesson spec that compiles clean; built from the PR #1465 recipe, 22 recipe gaps found.", "changes": [ "apps/website/specs/course/goldenfloat.t27, goldenfloat-ru.t27, i18n/goldenfloat.ru.json: the course in 9 modules of 3, its Russian contract and bundle", "apps/website/specs/course/courses.t27: four courses, goldenfloat fourth; MODULES_PER_COURSE 9, LESSONS_PER_MODULE 3", "apps/website/specs/widgets/golden-*.t27 and public/widgets/golden-*/: 27 tool widgets with cards; the 7 public/term/golden-* placeholders deleted", "apps/website/public/t27/files/specs/{numeric,math}: 8 vendored lesson specs with the smallest compile fix, same as gHashTag/t27#7496", "apps/website/specs/widgets/gallery.t27: 27 widgets inserted at index 90 inside the compiler run; count 123; shifted index tests", "apps/website/src: routes, starfield root, nav entry, blog post course-three-goldenfloat (EN + RU, 9 modules of 3, no pending lessons), generated catalogs", "apps/website/scripts/course-from-spec.test.mjs: catalog mutation target follows the course count (4 -> 5)" ], "tests": [ { "command": "npm run check:widgets, test:widgets-spec, check:widget-pages, check:onboarding, check:play", "result": "123 widgets, spec tests 10 asserts 37 hold; 81 tool pages, spec tests 282 asserts 970 hold; widgets-spec 5 of 5; onboarding spec tests 10 asserts 55 hold", "status": "passed", "evidence": "local runs, rc 0 each, on f94130df" }, { "command": "npx tsc --noEmit -p apps/website; node --test scripts/blog-cover-*.test.mjs", "result": "tsc rc 0; blog tests 12 of 12", "status": "passed", "evidence": "local runs on f94130df" }, { "command": "npm run check:course, test:course, check:course-pages", "result": "rc 0 after merging fix/course-nine-modules (trinity#1472) and rerunning every generator; check:widgets, test:widgets-spec, check:widget-pages, check:onboarding, check:play, check:subpath-urls and tsc also rc 0", "status": "passed", "evidence": "local run on cc806047" }, { "command": "mutant: specs/widgets/golden-gf8.t27 K_TABLE_ROWS 5 -> 6; specs/course/goldenfloat.t27 LESSON_WIDGETS[1] == golden-phi-ratiox", "result": "widget: check:widget-pages rc 1, the_cells_fill_whole_rows assert #1 false; course: 7 problems incl. every_lesson_opens_its_own_spec assert #20 false; after git checkout -- both back (rc 0; 6 catalog problems)", "status": "passed", "evidence": "local runs after commit f94130df" }, { "command": "lefthook pre-commit and commit-msg", "result": "language contracts pass, subject is English ASCII", "status": "passed", "evidence": "hook output on f94130df" } ], "limitations": [ "Stacked on trinity#1472 (courses 0-2 to 9 x 3); lands after it", "The 7 lesson specs are fixed in vendored copies; upstream gHashTag/t27#7496 is open, not merged", "public/t27/manifest.json stats were not regenerated for the vendored specs", "The browser compiler runs only constant asserts of a spec, not its function tests; function results in the lessons come from the specs' own test values", "Pages were not opened in a browser; cards were checked as images", "No tri casts were recorded", "Stacked on feat/course-t27-basics-0; merge after it" ], "tags": [ "t27", "course", "goldenfloat" ], "blog": { "title": "Course 3: GoldenFloat in 9 modules of 3 lessons", "summary": "A course on the phi-split float family from arXiv:2606.05017: 27 lessons in 9 modules of 3, each with a widget and a lesson spec that compiles clean.", "outline": [ "GoldenFloat gives every width the same rule: the exponent takes round((N - 1) / phi^2) of the bits after the sign, so E / M stays near 1 / phi.", "The course walks the family from GF4 to GF1024 and the ternary GF-T formats in 9 modules of 3 lessons, each lesson with one widget and one spec.", "Seven lesson specs did not compile clean in the browser compiler; each got the smallest fix, proposed upstream as t27 PR 7496, before its lesson went live.", "Where a spec's comment and its code disagree, as with the largest GF8 value, the lesson says which is which instead of quoting the comment.", "The course was built by an agent that read only the recipe, and the post lists the twenty-two places where the recipe left it guessing." ] } }🤖 Generated with Claude Code