This file records notable catalog-contract and maintenance changes.
0.0.8 — Skill as the main entry (companion-repository half; see the
website plan docs/product-and-growth-plan-0.0.8.md).
- FP-820: bare
python verify.pyis the learner's default command on every course and the data-analysis capstone — runs the suites, prints per-checkpoint status and earned claim codes (English first, Chinese after), exits non-zero while gated checkpoints are open. The four explicit usages remain maintainer checks; the publishedprogress --json/--receipt-outformats are unchanged. - FP-821:
tools/verify_courses.pynow copies each course folder plus the sharedtools/claim_receipt.pyinto an isolated tree and runs the default command and the receipts contract there — a course fetched via the files endpoint verifies alone.
- FP-822: the six agent-tool courses' lesson 1 (EN+ZH) is rewritten
around the fixed order get-the-tool-running → install the FlyPython
Skill (network access included) → let the agent fetch the course
files; every "download this folder" wording is gone from
COURSE.md,COURSE_cn.md, and the lessons, andverify.py solutionis no longer presented as a completion standard. - FP-823: the prose checkpoints of
agent-rules-single-source,mcp-server-in-python, andverifying-ai-generated-codeare question lists the agent can ask directly at the human-in-the-loop gate; data-analysis courses keep their concrete checkpoint criteria and frontmatter hint questions. - FP-824: both READMEs' "Start in three minutes" leads with the Skill entry sentence and the six agent-tool courses instead of a clone + download flow.
0.0.4 phase A — challenge-platform rework on top of 0.1.0.
- Per-checkpoint claim codes, badge frontmatter contracts, and the
deterministic
verify.py progresssubcommand (FP-411/412/415), enforced bytools/verify_courses.py. - The data-analysis course track:
da-eda,da-visualization, andda-report(EN+ZH), each with pandas/matplotlibrequirements.txtwhere needed and a stdlib-only report capstone. paths/learning paths sequencing courses into badge routes, plustools/verify_paths.pyenforcing the path contract (FP-413/416/417/418, wired into the Makefile and the validation workflow).content-manifest.jsonpath entries (type: "path") for the website.- Checkpoint hints, the branch-path contract, and agent-solvability review records across all eight courses (2026-09-13).
- Repository narrative moved from agent-taught courses to challenge courses
with
TASK.mdcontracts andverify.pyclaim codes;COURSE.mdremains the guided mode. README, README_cn, andllms.txtnow reflect it.
First versioned release: agent-taught courses, the Project Radar system, and the 0.0.3 contract updates.
- A
courses/content type: agent-taught folders with COURSE.md teaching contracts, bilingual lesson pairs, scenario skins, task contracts, runnable starter/solution pairs, and objectiveverify.pycompletion evidence. - The five-course 0.0.3 batch: "Hands-on Python with Claude Code" (flagship), "Hands-on with OpenAI Codex CLI" (reuses the C1 core), "One source of truth for agent rules" (rule-drift checker core), "From 'it runs' to 'it ships'" (release-evidence builder core), and "Give your agent tools with MCP" (reuses the reviewed mcp-server contract) — each EN+ZH with scenario skins and REVIEW.md run-through records.
tools/verify_courses.pyenforcing the course folder contract, wired into the Makefile and the validation workflow.- Project Radar per-project YAML records (
catalog/projects/*.yml) with lifecycle status, maintenance evidence, andai_familiaritygrading. - Deterministic
radar.jsonexport withschema/radar-v1.schema.jsonand--checksupport intools/export_catalog.py(--target both). - Bilingual generated Radar tables in
catalog/projects/README.mdandREADME_cn.md. tools/radar_scan.py: read-only, rate-limited discovery of Radar review candidates from GitHub Search, the PyPI feed, and Hacker News — candidates only, never descriptions or status.- A
course-feedbackissue template for teaching drift and verify mismatches. content-manifest.jsonand its schema now carrycoursedocuments.- Courses and Radar sections in
llms.txt.
- README/README_cn gained a course banner, a courses row, and contextual
flypython.com footers on every guide, playbook, and example (first-party
continuation links per
docs/REPO_TO_WEBSITE.md). - The validation workflow now verifies the radar export and every course folder in addition to the existing gates.
- Bilingual guide-URL tests now allow first-party flypython.com footer links alongside reviewed catalog URLs.
- A complete bilingual Python AI-coding workflow covering task contracts, repository inspection, reproducible environments, bounded changes, tests, runtime verification, side-effect review, and evidence-based delivery.
- Browsable English and Chinese README indexes containing every reviewed resource, its rationale, level, access requirements, risk, and review date.
- Deterministic README generation and drift checks backed by canonical catalog data.
- One source file per reviewed resource under
catalog/resources/. - A deterministic, versioned
catalog.jsonexport for pinned website consumers. - A JSON Schema describing the public catalog v1 contract.
- A pinned-revision and checksum contract for website consumers.
- Export drift checks in tests and pull-request validation.
- Positive, unique, consecutive ordering within each learning path.
- Catalog validation and a safe external-link auditor with retry, report, and SSRF/DNS-rebinding protection.
- Contribution, conduct, security, issue, and resource-curation policies.
- A product-quality guide and five bilingual task playbooks for bug fixes, API work, external integrations, dependency upgrades, and releases.
- A standard-library-only example with a deliberately failing starter, verified solution, and task contract.
- Reusable task, plan, review, verification, agent-instruction, and pyproject templates.
- A versioned
content-manifest.jsonwith bilingual paths, summaries, review state, and source checksums for pinned website consumers. - A human-review contribution queue for current Python Project Radar entries.
- Defined this repository as the canonical Python product-engineering content, catalog-data, and review layer behind flypython.com, rather than a second public website.
- Split catalog metadata, paths, and resources into independently reviewable files while preserving the 21 existing human-reviewed resource records.
- Required website consumers to pin a full repository commit and verify the exported catalog checksum instead of following a moving branch.
- Reduced the required local toolchain to Python 3.12 and locked Python dependencies.
- Removed Jekyll, Ruby, page templates, styles, scripts, social assets, CNAME, robots configuration, and site-rendering tests.