Skip to content

Course page: read the mastery law and link the X handles (blocked: foreign TSX) #1805

Open

Description

@gHashTag

Boundary

  • apps/website/src/pages/Course.tsx and the course generator apps/website/scripts/course-from-spec.mjs.
  • BLOCKED: both are hand-written TypeScript/JavaScript. The only-t27 rule forbids adding or changing hand-written non-t27 code without the owner's owner-approved-foreign label. Nothing here starts until the owner labels it, or until t27c can generate this page from a spec.

User Scenarios

  • A reader marks a lesson done by pressing "Mark as done"; the mark checks nothing. The law that replaces it exists: gHashTag/t27 specs/course/mastery.t27 (predict, poke, explain, transfer, prove; reviews after 1/3/9/27 days).
  • A reader sees "On X: x.com/t27_dev and x.com/t27_lang" on the course landing as plain text; it should be two links.

Requirements

  • The page reads the mastery law (through a generated module, not a hand copy of it): a prediction input before the widget, a proof input with the lesson's answer key, and progress that counts only MASTERED.
  • Each course spec gains an answer key per lesson (a constant read from the lesson's spec frame), checked by the generator.
  • SAY_LEAD's two handles render as links (https://x.com/t27_dev, https://x.com/t27_lang).

Success Criteria

  • Pressing a button alone never fills a cell of the 27-cell grid.
  • The two handles are links with rel="noopener noreferrer".

Refs #1703.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions