Skip to content

docs: introduce the level 3 starter - #75

Merged
michalmaj merged 1 commit into
mainfrom
docs/polish-level3-starter-continuity
Oct 3, 2026
Merged

michalmaj merged 1 commit into
mainfrom
docs/polish-level3-starter-continuity

Conversation

@michalmaj

Copy link
Copy Markdown
Owner

Summary

Last planned docs-only polish batch. Scope deliberately tiny: fix the one gap where starter_raw_rpg/ was never introduced to the student in Level 3's own README.

What I found before writing anything

  • starter_raw_rpg/main.py is a curated, prepared snapshot — its own header comment frames it as "result of Level 2 refactoring" with four deliberately labeled smells (M01/M02, M04, M05, M06) matching specific Level 3 missions. It is explicitly not claimed to be the literal file a student personally wrote.
  • Every Level 3 mission (01-07) is fully self-contained with its own task.py and data files — students never run or edit starter_raw_rpg/main.py directly.
  • starter_raw_rpg/ is referenced by path only once, incidentally, in Mission 07 (settings_and_paths) as a hardcoded-path example — the first and only place a student would encounter it before this fix.
  • Project 03 (boss fight) is also self-contained; it doesn't operate on starter_raw_rpg/ either.

This matches the pattern already used for L4/L5's starters (prepared, curated, honestly framed as not-literally-what-you-wrote) — just never applied to L3.

Change

One paragraph added to level_3_validation_and_persistence/README.md, right after the level's problem statement and before the existing Pydantic-boundary diagram:

This level also includes starter_raw_rpg/ — a prepared RPG starter (not literally the file you'd have produced in Level 2) with those exact problems already labeled in its comments. You won't edit it directly; each mission works in its own self-contained files, though Mission 07 references it for a config example. Open starter_raw_rpg/main.py early if you want to see what each mission is about to fix.

No new starter_raw_rpg/README.md — the existing level README was sufficient to explain this honestly and briefly, matching the instructed default of a single changed file.

Test plan

  • starter_raw_rpg/main.py path verified to exist
  • New text checked against Mission 01 (doesn't claim Mission 01 uses the starter directly — it doesn't) and Mission 07 (correctly says it references the starter for a config example — it does)
  • No new links added (backtick-quoted paths only, matching L4/L5's existing starter-intro style)
  • tools/author_check.py → 750 checks passed, 0 errors (unchanged)
  • tools/course_status.py → output unchanged
  • git diff --name-only → exactly 1 file, level_3_validation_and_persistence/README.md

🤖 Generated with Claude Code

starter_raw_rpg/ was never introduced to the student in Level 3's own
README — it first surfaced incidentally in Mission 07 as a hardcoded-path
example. Added a short paragraph (in the existing README, no new file)
explaining what the starter is (a prepared, curated snapshot with the
level's problems pre-labeled, not literally Level 2's output), that
missions work in their own self-contained files rather than editing it
directly, and that Mission 07 references it directly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@michalmaj
michalmaj merged commit da39213 into main Oct 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant