Part of #76.
Three hands-on missions out of six, and the graduation mission (105) is arguably the strongest exercise in the whole app: the backend asks GitHub whether your PR is really merged and really yours. Nothing to fix structurally here. The two gaps are small and worth closing.
Proposals
Mission 101 (read a real codebase) currently ends at "the button credits you when you have looked around", which is an honour-system step wearing a knowledge label. Ask for something specific instead: the file and line where a named function is defined in rust-bitcoin or BDK, or the number of tests in a given module. Checkable against the GitHub API, and it forces the search the lesson is actually teaching.
Mission 104 (tests are contributions too) teaches the arrange/act/assert shape and then asks nothing. Have the learner paste the test they wrote, or link the file they added it to. paste-value covers this today.
Mission 100 is framing and is fine as a knowledge mission.
Notes
Part of #76.
Three hands-on missions out of six, and the graduation mission (105) is arguably the strongest exercise in the whole app: the backend asks GitHub whether your PR is really merged and really yours. Nothing to fix structurally here. The two gaps are small and worth closing.
Proposals
Mission 101 (read a real codebase) currently ends at "the button credits you when you have looked around", which is an honour-system step wearing a
knowledgelabel. Ask for something specific instead: the file and line where a named function is defined in rust-bitcoin or BDK, or the number of tests in a given module. Checkable against the GitHub API, and it forces the search the lesson is actually teaching.Mission 104 (tests are contributions too) teaches the arrange/act/assert shape and then asks nothing. Have the learner paste the test they wrote, or link the file they added it to.
paste-valuecovers this today.Mission 100 is framing and is fine as a knowledge mission.
Notes
verify_github_prinbackend/src/routes/missions.rsalready talks to the GitHub API and shows how to handle rate limits and missing resources; a repo-content lookup would follow the same shape.paste-valueanswers require some substance.frontend/src/lib/types.ts. See Curriculum: 91 of 106 missions end at a quiz #76. One mission is a fine PR.