Commit fc1f258
feat: implement remaining V2 roadmap — Tiers 2-5 across 8 parallel agents
Scaffold & Pedagogy (Tier 2A):
- Faded scaffolding: levels 3-5 open-ended, levels 7-8 autonomous prompts (15 READMEs)
- Mastery checks scaled for levels 7-9 (15 READMEs)
- Design phase added to levels 3-5 first projects (9 READMEs)
- Contributor bridge in 15 notes.md files
- Cross-level recall boxes in level-5 projects
Assessment (Tier 2C):
- 6 Bug Hunt exercises (practice/challenges/bug-hunt/) with solutions
- 6 Fill-In completion problems (practice/challenges/fill-in/) with 78 tests
- Partial credit grading + code quality scoring in tools/grade.py
Content Gaps (Tier 2D):
- NumPy foundations project (Module 07)
- Jupyter notebooks concept doc
- WebSocket chat server project (Module 05)
- Security notes added to FastAPI and Django module READMEs
Browser (Tier 2B):
- Pyodide exercises for Level 0 (8), Level 1 (6), Level 2 (5)
- Browser index hub page
- "Try in Browser" banners on 20 project READMEs
Community (Tier 3):
- CONTRIBUTORS.md, HALL_OF_FAME.md, updated CONTRIBUTING.md
- Repo metadata optimized (description + 8 topics)
- Launch prep: Show HN draft, Reddit strategy, newsletter submissions
Platform Tooling (Tier 4A):
- Enhanced progress.py with JSON tracking, --history, --level, --export csv
- SELF_ASSESSMENT.md with rubrics for all level tiers
- tools/ai_review.py (LLM code review via Claude API)
- tools/generate_exercise.py (exercise variation generator)
Curriculum Enrichment (Tier 4C):
- 3 code reading exercises (practice/code-reading/)
- 3 legacy code refactoring exercises (practice/challenges/refactoring/)
- 3 open-ended capstone projects (projects/capstones/)
- Expanded certification doc with sample output
Infrastructure (Tier 5):
- Translation infrastructure (translations/, TRANSLATING.md, es/pt-BR stubs)
- LRMI Schema.org metadata (_metadata/lrmi.json)
- MkDocs nav updated with all new content
- WORKSHOP_KIT.md for Python user group leaders
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent a0cb58c commit fc1f258
File tree
157 files changed
+8047
-211
lines changed- _metadata
- browser
- concepts
- curriculum
- practice
- challenges
- bug-hunt
- solutions
- fill-in
- solutions
- tests
- refactoring
- 01_spaghetti_calculator
- tests
- 02_monolithic_report
- tests
- 03_copy_paste_api
- tests
- code-reading
- 01_mystery_function
- 02_find_the_bugs
- tests
- 03_add_a_feature
- tests
- projects
- capstones
- 01_personal_finance_tracker
- 02_api_aggregator
- 03_task_automation_system
- level-0
- 01-terminal-hello-lab
- 02-calculator-basics
- 03-temperature-converter
- 04-yes-no-questionnaire
- 05-number-classifier
- level-1
- 01-input-validator-lab
- 02-password-strength-checker
- 03-unit-price-calculator
- 04-log-line-parser
- 05-csv-first-reader
- level-2
- 01-dictionary-lookup-service
- 02-nested-data-flattener
- 03-data-cleaning-pipeline
- 04-error-safe-divider
- 05-text-report-generator
- level-3
- 01-package-layout-starter
- 02-cli-arguments-workbench
- 03-logging-baseline-tool
- 04-test-driven-normalizer
- 05-refactor-monolith-drill
- level-4
- 01-schema-validator-engine
- 02-excel-input-health-check
- 03-robust-csv-ingestor
- level-5
- 01-schedule-ready-script
- 02-alert-threshold-monitor
- 03-multi-file-etl-runner
- 06-metrics-summary-engine
- 07-resilient-json-loader
- 08-cross-file-joiner
- 09-template-report-renderer
- 10-api-polling-simulator
- level-7
- 01-api-query-adapter
- 02-monitoring-api-adapter
- 03-unified-cache-writer
- 04-source-field-mapper
- 05-polling-cadence-manager
- level-8
- 01-dashboard-kpi-assembler
- 02-query-cache-layer
- 03-pagination-stress-lab
- 04-filter-state-manager
- 05-export-governance-check
- level-9
- 01-architecture-decision-log
- 02-domain-boundary-enforcer
- 03-event-driven-pipeline-lab
- 04-observability-slo-pack
- 05-capacity-planning-model
- modules
- 04-fastapi-web
- 05-async-python/06-websocket-chat
- tests
- 07-data-analysis/06-numpy-foundations
- tests
- 10-django-fullstack
- tools
- translations
- es
- pt-BR
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
157 files changed
+8047
-211
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
18 | 21 | | |
19 | 22 | | |
20 | 23 | | |
21 | 24 | | |
22 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
65 | 77 | | |
66 | 78 | | |
67 | 79 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
326 | 326 | | |
327 | 327 | | |
328 | 328 | | |
| 329 | + | |
329 | 330 | | |
330 | 331 | | |
331 | 332 | | |
| |||
334 | 335 | | |
335 | 336 | | |
336 | 337 | | |
| 338 | + | |
337 | 339 | | |
338 | 340 | | |
339 | 341 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
0 commit comments