Skip to content

Commit e5d4ba8

Browse files
feat: checkpoint hints, branch path contract, agent-solvability reviews
- Inject progressive per-checkpoint hints into all 40 checkpoint pairs (80 EN/ZH lesson files); DA lessons gain full frontmatter so they enter the content manifest like the other courses. - paths/foundation/path.json declares the first-agent branch group so the site can treat Claude Code / Codex modules as alternatives. - Record real-agent solvability runs (Devin, SWE-2 Max) in all 8 course REVIEW.md files — challenge-mode runs with observed deviations noted; starters restored and --expect-failure re-verified. - Regenerate content-manifest.json; update repo-plan status lines. - Verified: verify_courses (8/8), verify_examples (5/5), manifest, catalog export, and readme rendering checks all green. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent b9bf17e commit e5d4ba8

92 files changed

Lines changed: 2215 additions & 67 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

content-manifest.json

Lines changed: 395 additions & 50 deletions
Large diffs are not rendered by default.

courses/agent-rules-single-source/REVIEW.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,20 @@
2020

2121
## Deviation log
2222

23-
(none recorded yet — first agent-taught run-through pending)
23+
### 2026-09-13 — agent solvability run (challenge mode, not taught mode)
24+
25+
- Agent: Devin (SWE-2 Max), CLI session on macOS arm64, system Python
26+
3.14 (stdlib only — this course needs no third-party deps).
27+
- Method: implemented `starter/rules_check.py` from `TASK.md` and the
28+
test expectations only; did not read or copy `solution/`.
29+
- Result: `python verify.py starter` exits 0 (all eleven tests);
30+
`verify.py progress` printed all five claim codes (l03/l04
31+
`[passed]`, l01/l02/l05 `[attest]`).
32+
- Observed deviation: one iteration needed, not one pass — my first
33+
`diverged` issue text said "differs" where the suite asserts the
34+
substring "differ from AGENTS.md". The contract pins observable
35+
strings, so the fix was wording, not logic.
36+
- Limitations: challenge-mode run (TASK.md → tests), not the taught
37+
COURSE.md walkthrough — teaching quality remains separately pending.
38+
- Starter restored to the deliberately-unfinished state after the run
39+
(`--expect-failure` verified again).

courses/agent-rules-single-source/lessons/L01.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: en-US
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "What this checkpoint tests"
12+
body: "That you can measure drift instead of feeling it: run the checker on the three scenario repositories and read each result as a test failure, not a vibe."
13+
- title: "Find the three repo states"
14+
body: "The scenario folders show the three shapes the contract classifies — a clean single-source repo, one with a thin pointer, and one where a copy has drifted. Name which is which before moving on."
15+
- title: "When you are done"
16+
body: "You can explain what `ok=false` means in terms of files, not feelings: which file diverged from `AGENTS.md` and how the checker knew."
1017
---
1118

1219
# Measure the drift you already have

courses/agent-rules-single-source/lessons/L01_cn.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: zh-CN
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "这个检查点考什么"
12+
body: "考你能不能把漂移量化而不是凭感觉:对三个 scenario 仓库跑检查器,把每个结果当测试失败读,不当气氛。"
13+
- title: "认出三种仓库状态"
14+
body: "scenario 文件夹展示了契约要分类的三种形态——干净的单一真源仓库、带薄指针的仓库、副本已漂移的仓库。先说出谁是谁再往下走。"
15+
- title: "完成标准"
16+
body: "你能用文件而不是感觉解释 `ok=false`:哪个文件偏离了 `AGENTS.md`,检查器是怎么发现的。"
1017
---
1118

1219
# 量化你已经存在的漂移

courses/agent-rules-single-source/lessons/L02.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: en-US
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "What this checkpoint tests"
12+
body: "Deciding the single source of truth: `AGENTS.md` is the file agents read; every other rule file becomes a thin pointer or an exact copy."
13+
- title: "Pointer vs copy"
14+
body: "A pointer is at most 10 non-empty lines and references `AGENTS.md`; a copy is byte-identical. Anything else is `diverged`. Write down which of your own repos' files would classify as which."
15+
- title: "When you are done"
16+
body: "Your decision is written down: which file is the source, and what every other file may contain."
1017
---
1118

1219
# Decide the source of truth

courses/agent-rules-single-source/lessons/L02_cn.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: zh-CN
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "这个检查点考什么"
12+
body: "定出唯一真源:`AGENTS.md` 是 Agent 真正读的文件,其余规则文件只能是薄指针或逐字节副本。"
13+
- title: "指针还是副本"
14+
body: "指针最多 10 个非空行且引用 `AGENTS.md`;副本与真源逐字节一致。其余都是 `diverged`。写下你自己仓库里每个文件会被判成哪类。"
15+
- title: "完成标准"
16+
body: "你的决定落了字:谁是真源,其余文件允许装什么。"
1017
---
1118

1219
# 确定唯一真源

courses/agent-rules-single-source/lessons/L03.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: en-US
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "What this checkpoint tests"
12+
body: "The gate is `python verify.py starter` — implement `load_rule_files`, `is_pointer`, `check_directory`, and `main` until all eleven tests pass."
13+
- title: "Classification order matters"
14+
body: "`AGENTS.md` missing or empty yields `missing-source` and `ok=false`. Every other file classifies as `pointer`, `copy`, or `diverged` — check pointer and copy before diverged, and `ok` only when no entry is diverged or missing."
15+
- title: "Output shape"
16+
body: "`main` prints `ok=... files=... diverged=...` and exits 0 only when ok — argument errors print usage to stderr and return 2."
1017
---
1118

1219
# Drive a bounded change, test by test

courses/agent-rules-single-source/lessons/L03_cn.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: zh-CN
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "这个检查点考什么"
12+
body: "门控是 `python verify.py starter`——实现 `load_rule_files`、`is_pointer`、`check_directory`、`main`,十一个测试全绿。"
13+
- title: "分类顺序很关键"
14+
body: "`AGENTS.md` 缺失或为空产出 `missing-source` 且 `ok=false`。其余文件分 `pointer`、`copy`、`diverged`——先判指针和副本再判漂移,没有任何漂移或缺失项时 `ok` 才为真。"
15+
- title: "输出形态"
16+
body: "`main` 打印 `ok=... files=... diverged=...`,仅当 ok 时退出 0——参数错误打印用法到 stderr 并返回 2。"
1017
---
1118

1219
# 按测试驱动一次有边界的变更

courses/agent-rules-single-source/lessons/L04.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: en-US
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "What this checkpoint tests"
12+
body: "Both suites plus wiring: prove both verifier directions, run all three skins, then add the checker where your review loop actually runs."
13+
- title: "Both directions"
14+
body: "The starter must fail where the scenario is broken and pass where it is clean — `--expect-failure` and the plain run tell you which side you are on."
15+
- title: "Wire it where it bites"
16+
body: "A checker nobody runs is a rule file nobody reads: add it to a pre-commit hook or CI step in one repo you own, and record what it caught first."
1017
---
1118

1219
# Verify and wire it in

courses/agent-rules-single-source/lessons/L04_cn.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ lang: zh-CN
77
content_version: 1
88
status: reviewed
99
reviewed_on: 2026-09-12
10+
hints:
11+
- title: "这个检查点考什么"
12+
body: "双套件加接线:两个方向都验证、三个皮肤都跑,然后把检查器接进你真正的评审环。"
13+
- title: "两个方向"
14+
body: "starter 在坏 scenario 上必须失败、在干净 scenario 上必须通过——`--expect-failure` 和普通运行告诉你自己在哪一侧。"
15+
- title: "接到咬得动的地方"
16+
body: "没人运行的检查器等于没人读的规则文件:把它加进你某个仓库的 pre-commit 或 CI,记下它第一次抓到了什么。"
1017
---
1118

1219
# 验证并接入流程

0 commit comments

Comments
 (0)