Commit 05f3eff
feat: implement all 45 enhancements — bespoke projects, modernization, platform tools
Transformative update implementing the full ENHANCEMENT_ROADMAP.md:
Tier 0 — Bug Fixes:
- Fix hardcoded path in tools/rebuild_navigation.py
- Fix broken elite links in 14_NAVIGATION_AND_STUDY_WORKFLOW.md
- Fix unquoted variables in shell scripts
- Add ripgrep guards to all shell scripts
- Fix XXXXX and 0.XXXs placeholders
- Extend portable path checker to scan .py files
- Correct project count from 261 to 246
Tier 1 — Quick Wins:
- Add Python Tutor visualization links to all 15 concept docs
- Create reading-error-messages.md concept doc + quiz
- Create FEATURE_UNLOCK.md progressive disclosure chart
- Create AI_USAGE_GUIDE.md with per-level AI policies
- Fix dict ordering in collections-explained.md (Python 3.7+)
- Consolidate duplicate Practice sections across concept docs
- Create 15 advanced coding challenges (Level 6+)
- Normalize quiz input handling across all 20 quiz files
Tier 2 — Strategic Content:
- Replace ALL 165 templated project.py files with bespoke code
- Replace ALL 165 templated test files with project-specific tests
- Update ALL 165 README Alter/Break/Fix/Explain sections
- Create project-specific sample data for all 165 projects
- Adopt uv as default package manager (setup guide, CI)
- Create type-hints, dataclasses, match-case, modern-tooling concept docs
- Add PR-triggered CI with ruff and py_compile checks
- Create TEACHING_GUIDE, PORTFOLIO_GUIDE, CAREER_READINESS, FAST_TRACK
- Create CHANGELOG.md, expand certification protocol
- Add shields.io badges to README
Tier 3 — Major Initiatives:
- Configure mkdocs-material GitHub Pages site with 234-page nav
- Create Pyodide browser exercises for Level 00 (CodeMirror + Pyodide)
- Create Python CI equivalents (no bash/ripgrep dependency)
- Implement SM-2 spaced repetition for flashcard runner
- Generate SVG level completion badges
- Create badge generator tool
778 files changed across the entire curriculum.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 2174b56 commit 05f3eff
File tree
810 files changed
+57151
-24584
lines changed- .github/workflows
- badges
- browser
- concepts
- quizzes
- curriculum
- practice/challenges/advanced
- projects
- level-00-absolute-beginner
- level-0
- 01-terminal-hello-lab
- data
- tests
- 02-calculator-basics
- data
- tests
- 03-temperature-converter
- data
- tests
- 04-yes-no-questionnaire
- data
- tests
- 05-number-classifier
- data
- tests
- 06-word-counter-basic
- data
- tests
- 07-first-file-reader
- data
- tests
- 08-string-cleaner-starter
- data
- tests
- 09-daily-checklist-writer
- data
- tests
- 10-duplicate-line-finder
- data
- tests
- 12-contact-card-builder
- data
- tests
- 13-alarm-message-generator
- data
- tests
- 14-line-length-summarizer
- data
- tests
- 15-level0-mini-toolkit
- data
- tests
- level-10
- 01-enterprise-python-blueprint
- data
- tests
- 02-autonomous-run-orchestrator
- data
- tests
- 03-policy-as-code-validator
- data
- tests
- 04-multi-tenant-data-guard
- data
- tests
- 05-compliance-evidence-builder
- data
- tests
- 06-resilience-chaos-workbench
- data
- tests
- 07-high-risk-change-gate
- data
- tests
- 08-zero-downtime-migration-lab
- data
- tests
- 09-strategic-architecture-review
- data
- tests
- 10-executive-metrics-publisher
- data
- tests
- 11-production-readiness-director
- data
- tests
- 12-onboarding-accelerator-system
- data
- tests
- 13-legacy-modernization-planner
- data
- tests
- 14-sme-mentorship-toolkit
- data
- tests
- 15-level10-grand-capstone
- data
- tests
- level-1
- 01-input-validator-lab
- data
- tests
- 02-password-strength-checker
- data
- tests
- 03-unit-price-calculator
- data
- tests
- 04-log-line-parser
- data
- tests
- 05-csv-first-reader
- data
- tests
- 06-simple-gradebook-engine
- data
- tests
- 07-date-difference-helper
- data
- tests
- 08-path-exists-checker
- data
- tests
- 09-json-settings-loader
- data
- tests
- 10-ticket-priority-router
- data
- tests
- 11-command-dispatcher
- data
- tests
- 12-file-extension-counter
- data
- tests
- 13-batch-rename-simulator
- data
- tests
- 14-basic-expense-tracker
- data
- tests
- 15-level1-mini-automation
- data
- tests
- level-2
- 01-dictionary-lookup-service
- data
- tests
- 02-nested-data-flattener
- data
- tests
- 03-data-cleaning-pipeline
- data
- tests
- 04-error-safe-divider
- data
- tests
- 05-text-report-generator
- data
- tests
- 06-records-deduplicator
- data
- tests
- 07-list-search-benchmark
- data
- tests
- 08-mini-inventory-engine
- data
- tests
- 09-config-driven-calculator
- data
- tests
- 10-mock-api-response-parser
- data
- tests
- 11-retry-loop-practice
- data
- tests
- 12-csv-to-json-converter
- data
- tests
- 13-validation-rule-engine
- data
- tests
- 14-anomaly-flagger
- data
- tests
- 15-level2-mini-capstone
- data
- tests
- level-3
- 01-package-layout-starter
- data
- tests
- 02-cli-arguments-workbench
- data
- tests
- 03-logging-baseline-tool
- data
- tests
- 04-test-driven-normalizer
- data
- tests
- 05-refactor-monolith-drill
- data
- tests
- 06-structured-error-handler
- data
- tests
- 07-batch-file-auditor
- data
- tests
- 08-template-driven-reporter
- data
- tests
- 09-reusable-utils-library
- data
- tests
- 10-dependency-boundary-lab
- data
- tests
- 11-project-config-bootstrap
- data
- tests
- 12-parser-with-fixtures
- data
- tests
- 13-quality-gate-runner
- data
- tests
- 14-service-simulator
- data
- tests
- 15-level3-mini-capstone
- data
- tests
- level-4
- 01-schema-validator-engine
- data
- tests
- 02-excel-input-health-check
- data
- tests
- 03-robust-csv-ingestor
- data
- tests
- 04-data-contract-enforcer
- data
- tests
- 05-path-safe-file-mover
- data
- tests
- 06-backup-rotation-tool
- data
- tests
- 07-duplicate-record-investigator
- data
- tests
- 08-malformed-row-quarantine
- data
- tests
- 09-transformation-pipeline-v1
- data
- tests
- 10-run-manifest-generator
- data
- tests
- 11-audit-log-enhancer
- data
- tests
- 12-checkpoint-recovery-tool
- data
- tests
- 13-reconciliation-reporter
- data
- tests
- 14-configurable-batch-runner
- data
- tests
- 15-level4-mini-capstone
- data
- tests
- level-5
- 01-schedule-ready-script
- data
- tests
- 02-alert-threshold-monitor
- data
- tests
- 03-multi-file-etl-runner
- data
- sources
- tests
- 04-config-layer-priority
- data
- tests
- 05-plugin-style-transformer
- data
- tests
- 06-metrics-summary-engine
- data
- tests
- 07-resilient-json-loader
- data
- tests
- 08-cross-file-joiner
- data
- tests
- 09-template-report-renderer
- data
- tests
- 10-api-polling-simulator
- data
- tests
- 11-retry-backoff-runner
- data
- tests
- 12-fail-safe-exporter
- data
- tests
- 13-operational-run-logger
- data
- tests
- 14-change-detection-tool
- data
- tests
- 15-level5-mini-capstone
- data
- sources
- tests
- level-6
- 01-sql-connection-simulator
- data
- tests
- 02-staging-table-loader
- data
- tests
- 03-idempotency-key-builder
- data
- tests
- 04-upsert-strategy-lab
- data
- tests
- 05-transaction-rollback-drill
- data
- tests
- 06-query-performance-checker
- data
- tests
- 07-sql-summary-publisher
- data
- tests
- 08-data-lineage-capture
- data
- tests
- 09-incremental-load-simulator
- data
- tests
- 10-table-drift-detector
- data
- tests
- 11-dead-letter-row-handler
- data
- tests
- 12-etl-health-dashboard-feed
- data
- tests
- 13-batch-window-controller
- data
- tests
- 14-sql-runbook-generator
- data
- tests
- 15-level6-mini-capstone
- data
- tests
- level-7
- 01-api-query-adapter
- data
- tests
- 02-monitoring-api-adapter
- data
- tests
- 03-unified-cache-writer
- data
- tests
- 04-source-field-mapper
- data
- tests
- 05-polling-cadence-manager
- data
- tests
- 06-token-rotation-simulator
- data
- tests
- 07-stale-data-detector
- data
- tests
- 08-ingestion-observability-kit
- data
- tests
- 09-contract-version-checker
- data
- tests
- 10-multi-source-reconciler
- data
- tests
- 11-pipeline-feature-flags
- data
- tests
- 12-incident-mode-switch
- data
- tests
- 13-service-account-policy-check
- data
- tests
- 14-cache-backfill-runner
- data
- tests
- 15-level7-mini-capstone
- data
- tests
- level-8
- 01-dashboard-kpi-assembler
- data
- tests
- 02-query-cache-layer
- tests
- 03-pagination-stress-lab
- tests
- 04-filter-state-manager
- data
- tests
- 05-export-governance-check
- data
- tests
- 06-response-time-profiler
- data
- tests
- 07-concurrency-queue-simulator
- data
- tests
- 08-fault-injection-harness
- data
- tests
- 09-graceful-degradation-engine
- data
- tests
- 10-dependency-timeout-matrix
- data
- tests
- 11-synthetic-monitor-runner
- data
- tests
- 12-release-readiness-evaluator
- data
- tests
- 13-sla-breach-detector
- data
- tests
- 14-user-journey-tracer
- data
- tests
- 15-level8-mini-capstone
- data
- tests
- level-9
- 01-architecture-decision-log
- data
- tests
- 02-domain-boundary-enforcer
- data
- tests
- 03-event-driven-pipeline-lab
- data
- tests
- 04-observability-slo-pack
- data
- tests
- 05-capacity-planning-model
- data
- tests
- 06-reliability-scorecard
- data
- tests
- 07-canary-rollout-simulator
- data
- tests
- 08-change-impact-analyzer
- data
- tests
- 09-security-baseline-auditor
- data
- tests
- 10-data-governance-enforcer
- data
- tests
- 11-recovery-time-estimator
- data
- tests
- 12-incident-postmortem-generator
- data
- tests
- 13-platform-cost-estimator
- data
- tests
- 14-cross-team-handoff-kit
- data
- tests
- 15-level9-mini-capstone
- data
- tests
- modules
- 01-web-scraping/01-fetch-a-webpage
- 10-django-fullstack/05-complete-app
- tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
810 files changed
+57151
-24584
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
4 | 8 | | |
5 | 9 | | |
6 | 10 | | |
| |||
23 | 27 | | |
24 | 28 | | |
25 | 29 | | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
26 | 45 | | |
27 | 46 | | |
28 | 47 | | |
| |||
62 | 81 | | |
63 | 82 | | |
64 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
65 | 87 | | |
66 | 88 | | |
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
146 | 173 | | |
147 | 174 | | |
148 | 175 | | |
149 | 176 | | |
150 | 177 | | |
151 | 178 | | |
152 | 179 | | |
153 | | - | |
| 180 | + | |
154 | 181 | | |
155 | 182 | | |
156 | 183 | | |
| |||
159 | 186 | | |
160 | 187 | | |
161 | 188 | | |
| 189 | + | |
| 190 | + | |
162 | 191 | | |
163 | 192 | | |
164 | 193 | | |
165 | 194 | | |
166 | 195 | | |
167 | | - | |
| 196 | + | |
168 | 197 | | |
169 | 198 | | |
170 | 199 | | |
| |||
173 | 202 | | |
174 | 203 | | |
175 | 204 | | |
| 205 | + | |
| 206 | + | |
176 | 207 | | |
177 | 208 | | |
178 | 209 | | |
179 | 210 | | |
180 | 211 | | |
181 | | - | |
| 212 | + | |
182 | 213 | | |
183 | 214 | | |
184 | 215 | | |
| |||
187 | 218 | | |
188 | 219 | | |
189 | 220 | | |
| 221 | + | |
| 222 | + | |
190 | 223 | | |
191 | 224 | | |
192 | 225 | | |
| |||
196 | 229 | | |
197 | 230 | | |
198 | 231 | | |
199 | | - | |
200 | | - | |
| 232 | + | |
201 | 233 | | |
202 | 234 | | |
203 | 235 | | |
204 | 236 | | |
205 | 237 | | |
| 238 | + | |
| 239 | + | |
206 | 240 | | |
207 | | - | |
208 | 241 | | |
209 | 242 | | |
210 | 243 | | |
| |||
280 | 313 | | |
281 | 314 | | |
282 | 315 | | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
283 | 319 | | |
284 | 320 | | |
285 | | - | |
| 321 | + | |
286 | 322 | | |
287 | 323 | | |
288 | 324 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| |||
| 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 | + | |
0 commit comments