Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions .claude/skills/curate-research/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: curate-research
description: 把一批 Harness Engineering 调研候选(文章/论文/工具的 URL)走完「抓取→翻译→评审→收录→清理」流水线,整合进本仓库 works/ 与 references/articles.md,并保持 C1–C12 一致性检查全绿。当用户说"处理这批调研候选 / 收录这些链接 / 整理 translate / 把这几篇翻译收进来"时使用。这是仓库给自己用的策展 harness。
description: 把一批 Harness Engineering 调研候选(文章/论文/工具的 URL)走完「抓取→翻译→评审→收录→清理」流水线,整合进本仓库 works/ 与 references/articles.md,并保持 C1–C13 一致性检查全绿。当用户说"处理这批调研候选 / 收录这些链接 / 整理 translate / 把这几篇翻译收进来"时使用。这是仓库给自己用的策展 harness。
---

# curate-research —— 仓库自我策展 harness
Expand Down Expand Up @@ -60,12 +60,14 @@ description: 把一批 Harness Engineering 调研候选(文章/论文/工具

**入库前 checklist(每篇 works/ 候选必过,再进 ⑤):**
- [ ] frontmatter 声明 `sourceFigureCount` 并与原文实际图数核对(null = 原文不可得、未审计);原文插图下载入 `works/imgs/<slug>/` 本地嵌入——C10 校验嵌图数 ≥ 声明数、本地路径文件存在
- [ ] **数图要抓原文 HTML 数,不能只看渲染出来的正文。** 2026-07-27 的教训:一篇 claude.com 译文声明 `sourceFigureCount: 0`,而原文 HTML 里有 4 个 `<figure>`——抓取工具吐出的 markdown 把它们丢了,人只看那份 markdown 就会以为没有图。可用 `curl <url> | grep -c '<figure'` 交叉验证
- [ ] 若确实为 0,必须同时写 `sourceFigureAudit`(含 `YYYY-MM-DD`),说明怎么核对的——C13 会拦。判定只算正文配图,站点 logo / 作者头像 / 页脚图标 / 推荐位缩略图 / 社交卡片不计入,但这个判断要写进审计值
- [ ] 译文保留原文正文超链接(不得译丢)
- [ ] 关键数字 / 结论句与原文抽查比对(防翻译走样)
- [ ] 跑 `bash scripts/check-consistency.sh` 全绿

### ⑤ 校验 + 提交
- 跑 `bash scripts/check-consistency.sh`,C1–C12 必须全绿再提交。
- 跑 `bash scripts/check-consistency.sh`,C1–C13 必须全绿再提交。
- commit 匿名:无 `Co-Authored-By`,作者用 noreply `deusyu@users.noreply.github.com`(依赖全局 git 配置,勿覆盖)。
- push 仅在用户要求时。

Expand All @@ -91,4 +93,5 @@ description: 把一批 Harness Engineering 调研候选(文章/论文/工具
- C8 lint:`source-full.md` 存在时禁止 analysis 谎报摘要页(`scripts/check-consistency.sh`)
- C9 lint:`concepts/` / `thinking/` / `feedback/` 正文禁止裸写文库计数(历史提法须带"写作时点/当时/此前/首批/首轮/截至/快照"限定词)
- C10/C11/C12 lint:图片保真(`sourceFigureCount` vs 正文嵌图数 + 本地嵌图路径存在)/ markdown 表格列数与表头一致 / articles.md 编号条目必含 **作者:**/**日期:** 字段(同上脚本)
- C13 lint:`sourceFigureCount: 0` 必须配 `sourceFigureAudit`(含核对日期)。这条是补 C10 的结构性盲区——C10 的判据是"嵌图数 < 声明数才 FAIL",所以 0 永远为真,无论你有没有真去数过原文。机械检查只能证伪"多报","零报"只能靠留痕让人复核
- 历史首批实例:articles.md #19–27(2026-06 收录的 9 篇)+ 末尾观察项表 14 行
6 changes: 5 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
- [x] Phase 2:形成自己的观点(thinking/,11 篇,持续中)
- [x] Phase 3:选一个小项目实践(practice/,1 个 Ralph Demo)
- [x] Phase 4:记录反馈迭代(feedback/,1 篇,持续中)
- [x] Phase 5:输出可展示的作品(works/,31 篇翻译 + 1 篇原创 + 2 篇外部中文收录)
- [x] Phase 5:输出可展示的作品(works/,33 篇翻译 + 1 篇原创 + 2 篇外部中文收录)

> 进度详情以人类向 README.md 的"学习路线"段为准;本节是给智能体的快照。

Expand All @@ -45,6 +45,10 @@
- **C7** — 三脉络 per-track 计数(脉络一/二/三)在 4 处下游声明保持一致:READMEs 资料库表、`references/AGENTS.md` 三脉络小标题、`prompts/deep-research-tracker.md` 三脉络明细
- **C8** — 翻译流水线本地守卫:`translate/<...>/sources/<slug>/source-full.md` 存在时,对应 `01-analysis.md` 不得再声称"仅摘要页 / 建议补抓全文"。`translate/` 已 gitignore,CI 与干净 clone 自动 SKIP,仅本地有过程稿时触发
- **C9** — `concepts/` / `thinking/` / `feedback/` 正文不得裸写文库计数("N 篇文章 / N 篇翻译 / N 大概念");历史性提法须带"写作时点 / 当时 / 此前 / 首批 / 首轮 / 截至 / 快照"限定词,否则去数字改链 `references/articles.md`
- **C10** — 图片保真(纯本地、零网络):每篇 `works/*-translation.md` 的 frontmatter 必须声明 `sourceFigureCount`(缺失即 FAIL;`null` = 原文不可得、未审计 → SKIP;数字 N → 正文嵌图数须 ≥ N),且所有本地嵌图路径(`imgs/...`)必须在磁盘上存在
- **C11** — markdown 表格形状:README ×2、`references/AGENTS.md`、`references/articles.md`、`works/AGENTS.md` 里每一行表格的单元格数须与表头一致
- **C12** — 条目字段完整性:`references/articles.md` 每个 `### N.` 编号条目必须带 **作者:** 与 **日期:** 字段
- **C13** — 零插图声明须留痕:C10 只能证伪"多报"(嵌图数 < 声明数才 FAIL),因此 `sourceFigureCount: 0` 在本地**永远无法被证伪**——不管你有没有真去核对原文,它都是绿的。2026-07-27 就是这个洞放行了一个假 0(原文实有 4 张配图)。C10 刻意零网络、无法回查原文,所以改为要求留痕:**声明 0 的译文必须同时带 `sourceFigureAudit` 字段,值里要有 `YYYY-MM-DD` 核对日期**,写清怎么核对的、结论是什么。`null` 仍然 SKIP——它本来就自陈未审计

执行:`bash scripts/check-consistency.sh`(仓库根目录)
启用 pre-commit 阻断:`git config core.hooksPath .githooks`
Expand Down
26 changes: 16 additions & 10 deletions README.en.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[中文](README.md) | English

![License: MIT](https://img.shields.io/badge/license-MIT-blue)
![Articles](https://img.shields.io/badge/articles-61-green)
![Translations](https://img.shields.io/badge/translations-31-orange)
![Articles](https://img.shields.io/badge/articles-73-green)
![Translations](https://img.shields.io/badge/translations-33-orange)

# Harness Engineering Study Guide

Expand Down Expand Up @@ -112,10 +112,10 @@ harness-engineering/
├── thinking/ # Phase 2: Independent analysis (11 articles)
├── practice/ # Phase 3: Hands-on experiments (1 Ralph Demo)
├── feedback/ # Phase 4: Lessons learned (1 article)
├── works/ # Phase 5: Shareable outputs (31 translations + 1 original + 2 external Chinese captures)
├── works/ # Phase 5: Shareable outputs (33 translations + 1 original + 2 external Chinese captures)
├── tools/ # Tools that reduce the 6 complexity dimensions
├── prompts/ # Validated prompts collection
└── references/ # External resource index (61 articles with deep summaries)
└── references/ # External resource index (73 articles with deep summaries)
```

Each subdirectory has its own `AGENTS.md` explaining its purpose and conventions — a direct practice of the "progressive disclosure" principle from the original article.
Expand All @@ -126,15 +126,15 @@ Each subdirectory has its own `AGENTS.md` explaining its purpose and conventions
- [x] **Phase 2: Form your own opinions** — 11 independent analyses (ongoing)
- [x] **Phase 3: Pick a small project to practice** — Ralph Demo completed (321s, $0.31)
- [x] **Phase 4: Record feedback & iterations** — 1 article (ongoing)
- [x] **Phase 5: Produce shareable work** — 31 professional translations + 1 original synthesis + 2 external Chinese captures
- [x] **Phase 5: Produce shareable work** — 33 professional translations + 1 original synthesis + 2 external Chinese captures

## 📚 Research Library

61 articles across three knowledge tracks + 2 extended readings:
73 articles across three knowledge tracks + 2 extended readings:

| Track | Coverage | Perspectives |
|-------|----------|-------------|
| AI-Era Harness Engineering | 57 articles | OpenAI → Fowler → Anthropic → LangChain → Stanford → Claude Code reverse engineering & source leak → Subagent runtime → Sensors/SPDD/ADLC → Out-of-scope, safety auditing & quality postmortems → Evaluation trilogy → Dynamic workflows → Origins (Ralph / Hashimoto) & discipline synthesis → Codex harness anatomy → Loop Engineering trilogy → Self-evolving harnesses & RSI → Formal verification → Multi-agent scaling (Cursor / C compiler) → Official containment & evals methodology → Behavior maps / DSLs / local models / outer-loop accountability → industrial-scale mechanical porting (Bun) & harness-model co-evolution (HarnessX) |
| AI-Era Harness Engineering | 69 articles | OpenAI → Fowler → Anthropic → LangChain → Stanford → Claude Code reverse engineering & source leak → Subagent runtime → Sensors/SPDD/ADLC → Out-of-scope, safety auditing & quality postmortems → Evaluation trilogy → Dynamic workflows → Origins (Ralph / Hashimoto) & discipline synthesis → Codex harness anatomy → Loop Engineering trilogy → Self-evolving harnesses & RSI → Formal verification → Multi-agent scaling (Cursor / C compiler) → Official containment & evals methodology → Behavior maps / DSLs / local models / outer-loop accountability → industrial-scale mechanical porting (Bun) & harness-model co-evolution (HarnessX) → long-running harness foundations & eval-environment confounders (Anthropic backfill) → harness operations metrics & reward hacking (Cursor backfill) → tool schemas are not neutral → the software-factory debate (Dex Horthy / Osmani) → agent-swarm cost economics → deleting 80% of the system prompt |
| Cloud-Native Harness.io | 2 articles | CI/CD platform architecture (same name, different meaning) |
| Efficiency Paradox & Capability Evolution | 2 articles | YDD systematic teardown + METR follow-up (measurement-methodology crisis) |
| Extended Reading | 2 articles | Context Engineering, Human-Agent collaboration |
Expand All @@ -144,11 +144,13 @@ See [references/articles.md](references/articles.md) — each article includes c
## 📖 Translations

<details>
<summary><b>31 Chinese translations of key articles</b> (click to expand)</summary>
<summary><b>33 Chinese translations of key articles</b> (click to expand)</summary>

| Translation | Original Author | Source |
|-------------|----------------|--------|
| ⭐ [Eight Years of Wanting](works/maganti-eight-years-building-ai-translation.md) | Lalit Maganti | Personal blog |
| [The New Rules of Context Engineering for Claude 5](works/anthropic-context-engineering-claude5-translation.md) | Thariq Shihipar | Anthropic / Claude |
| [Better Models: Worse Tools](works/ronacher-better-models-worse-tools-translation.md) | Armin Ronacher | Personal blog |
| [Rewriting Bun in Rust](works/bun-in-rust-translation.md) | Jarred Sumner | Bun Blog |
| [Building a C Compiler with a Team of Parallel Claudes](works/anthropic-c-compiler-translation.md) | Nicholas Carlini | Anthropic |
| [Scaling Long-Running Autonomous Coding](works/cursor-scaling-agents-translation.md) | Wilson Lin | Cursor |
Expand Down Expand Up @@ -220,7 +222,7 @@ The "Ralph Wiggum Loop" is the core implementation pattern of Harness Engineerin

## 🛠️ Development Notes

The repo ships with a consistency checker, `scripts/check-consistency.sh`, guarding against count drift across nine layers of checks:
The repo ships with a consistency checker, `scripts/check-consistency.sh`, guarding against count and fidelity drift across thirteen layers of checks:

- **C1-C2** — `references/articles.md` article count + its 4 downstream claim sites (README × 2 badges, `prompts/deep-research-tracker.md` header, `references/AGENTS.md` overview)
- **C3** — actual `*.md` file counts in `concepts/` / `thinking/` / `feedback/` match the README "X 篇" claims
Expand All @@ -230,6 +232,10 @@ The repo ships with a consistency checker, `scripts/check-consistency.sh`, guard
- **C7** — per-track counts (Track 1/2/3) stay consistent across their 4 downstream claim sites (README research-library tables × 2, `references/AGENTS.md` track headings, `prompts/deep-research-tracker.md` track lines)
- **C8** — local translation-pipeline guard: once `translate/<...>/sources/<slug>/source-full.md` is captured, the matching `01-analysis.md` may no longer claim "abstract-only / fetch full text later". `translate/` is gitignored, so this auto-SKIPs on CI and clean clones
- **C9** — authored prose in `concepts/` / `thinking/` / `feedback/` must not restate library counts ("N articles / N translations") as live facts; historical mentions must carry a dated-snapshot qualifier, otherwise drop the number and link `references/articles.md`
- **C10** — figure fidelity (purely local, zero network): every translation's frontmatter must declare `sourceFigureCount`, the body must embed at least that many images, and every local embed path must exist on disk (`null` = source unavailable / unaudited → SKIP)
- **C11** — markdown table shape: in the checked files, every table row must carry the same cell count as its header
- **C12** — every numbered entry in `references/articles.md` must carry the **作者:** and **日期:** fields
- **C13** — zero-figure claims need an audit trail. C10 can only falsify OVER-claiming, so `sourceFigureCount: 0` is unfalsifiable locally — that hole shipped a false 0 on 2026-07-27 (the source had 4 body figures). Any translation claiming 0 must therefore also carry `sourceFigureAudit` containing a `YYYY-MM-DD` date, stating how the claim was verified

**Enable the pre-commit hook after first clone:**

Expand All @@ -249,7 +255,7 @@ See the "机械化检查" section of the root `AGENTS.md` for details.

> This archive now curates itself.
>
> Bringing in outside research no longer runs on vibes — it follows a pipeline frozen into a skill, [`curate-research`](.claude/skills/curate-research/SKILL.md): review is automated by parallel agents (the feedback loop), `scripts/check-consistency.sh` keeps counts from drifting via C1–C9 (the mechanical rail), and whether something gets in is always a human gate (humans steer, agents execute).
> Bringing in outside research no longer runs on vibes — it follows a pipeline frozen into a skill, [`curate-research`](.claude/skills/curate-research/SKILL.md): review is automated by parallel agents (the feedback loop), `scripts/check-consistency.sh` keeps counts and fidelity from drifting via C1–C13 (the mechanical rail), and whether something gets in is always a human gate (humans steer, agents execute).
>
> So the constraints themselves became the product — exactly what [concepts/07-spec-as-product.md](concepts/07-spec-as-product.md) argues, except this time the subject is the repo itself.

Expand Down
Loading
Loading