coharness 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. coharness-1.1.0/01-solo-code/.agent/improvements.md +11 -0
  2. coharness-1.1.0/01-solo-code/.agent/roles/coder.md +35 -0
  3. coharness-1.1.0/01-solo-code/.agent/roles/reviewer.md +40 -0
  4. coharness-1.1.0/01-solo-code/.agent/tasks/TEMPLATE.md +22 -0
  5. coharness-1.1.0/01-solo-code/.agent/workflows/bugfix.md +34 -0
  6. coharness-1.1.0/01-solo-code/.agent/workflows/new-feature.md +32 -0
  7. coharness-1.1.0/01-solo-code/.gitattributes +8 -0
  8. coharness-1.1.0/01-solo-code/AGENTS.md +49 -0
  9. coharness-1.1.0/01-solo-code/docs/CHANGELOG.md +11 -0
  10. coharness-1.1.0/01-solo-code/src/README.md +5 -0
  11. coharness-1.1.0/01-solo-code/tests/README.md +3 -0
  12. coharness-1.1.0/02-study-office/.agent/improvements.md +11 -0
  13. coharness-1.1.0/02-study-office/.agent/roles/coder.md +29 -0
  14. coharness-1.1.0/02-study-office/.agent/roles/error-auditor.md +31 -0
  15. coharness-1.1.0/02-study-office/.agent/roles/quizmaster.md +25 -0
  16. coharness-1.1.0/02-study-office/.agent/roles/report-writer.md +30 -0
  17. coharness-1.1.0/02-study-office/.agent/roles/requirement-analyst.md +31 -0
  18. coharness-1.1.0/02-study-office/.agent/roles/self-checker.md +27 -0
  19. coharness-1.1.0/02-study-office/.agent/roles/tutor.md +23 -0
  20. coharness-1.1.0/02-study-office/.agent/tasks/CARD-CONVENTION.md +34 -0
  21. coharness-1.1.0/02-study-office/.agent/workflows/assignment.md +34 -0
  22. coharness-1.1.0/02-study-office/.agent/workflows/daily-session.md +22 -0
  23. coharness-1.1.0/02-study-office/.agent/workflows/debug.md +26 -0
  24. coharness-1.1.0/02-study-office/.agent/workflows/mock-exam.md +24 -0
  25. coharness-1.1.0/02-study-office/.agent/workflows/office-task.md +22 -0
  26. coharness-1.1.0/02-study-office/.agent/workflows/topic-drill.md +23 -0
  27. coharness-1.1.0/02-study-office/.gitattributes +8 -0
  28. coharness-1.1.0/02-study-office/AGENTS.md +61 -0
  29. coharness-1.1.0/02-study-office/deliverables/code/README.md +7 -0
  30. coharness-1.1.0/02-study-office/deliverables/data/README.md +7 -0
  31. coharness-1.1.0/02-study-office/deliverables/report/README.md +5 -0
  32. coharness-1.1.0/02-study-office/docs/notes.md +7 -0
  33. coharness-1.1.0/02-study-office/docs/requirements-checklist.md +19 -0
  34. coharness-1.1.0/02-study-office/error-log.md +25 -0
  35. coharness-1.1.0/02-study-office/quiz-bank/README.md +22 -0
  36. coharness-1.1.0/02-study-office/syllabus.md +18 -0
  37. coharness-1.1.0/03-multi-harness-project/.agent/improvements.md +11 -0
  38. coharness-1.1.0/03-multi-harness-project/.agent/roles/architect.md +30 -0
  39. coharness-1.1.0/03-multi-harness-project/.agent/roles/coder-backend.md +32 -0
  40. coharness-1.1.0/03-multi-harness-project/.agent/roles/coder-frontend.md +32 -0
  41. coharness-1.1.0/03-multi-harness-project/.agent/roles/doc-writer.md +30 -0
  42. coharness-1.1.0/03-multi-harness-project/.agent/roles/integrator.md +28 -0
  43. coharness-1.1.0/03-multi-harness-project/.agent/roles/pm.md +34 -0
  44. coharness-1.1.0/03-multi-harness-project/.agent/roles/reviewer.md +35 -0
  45. coharness-1.1.0/03-multi-harness-project/.agent/roles/tester.md +31 -0
  46. coharness-1.1.0/03-multi-harness-project/.agent/tasks/CARD-CONVENTION.md +61 -0
  47. coharness-1.1.0/03-multi-harness-project/.agent/workflows/bugfix.md +23 -0
  48. coharness-1.1.0/03-multi-harness-project/.agent/workflows/maintenance.md +29 -0
  49. coharness-1.1.0/03-multi-harness-project/.agent/workflows/new-feature.md +42 -0
  50. coharness-1.1.0/03-multi-harness-project/.agent/workflows/parallel-protocol.md +84 -0
  51. coharness-1.1.0/03-multi-harness-project/.gitattributes +8 -0
  52. coharness-1.1.0/03-multi-harness-project/.gitignore +29 -0
  53. coharness-1.1.0/03-multi-harness-project/AGENTS.md +123 -0
  54. coharness-1.1.0/03-multi-harness-project/backlog/tasks/README.md +16 -0
  55. coharness-1.1.0/03-multi-harness-project/code/README.md +5 -0
  56. coharness-1.1.0/03-multi-harness-project/docs/ARCHITECTURE.md +24 -0
  57. coharness-1.1.0/03-multi-harness-project/docs/CHANGELOG.md +13 -0
  58. coharness-1.1.0/03-multi-harness-project/docs/CONSTITUTION-SOURCE.md +49 -0
  59. coharness-1.1.0/03-multi-harness-project/docs/DECISIONS.md +13 -0
  60. coharness-1.1.0/03-multi-harness-project/docs/regression/README.md +4 -0
  61. coharness-1.1.0/03-multi-harness-project/docs/reviews/README.md +4 -0
  62. coharness-1.1.0/03-multi-harness-project/scripts/check.py +604 -0
  63. coharness-1.1.0/03-multi-harness-project/scripts/hooks/pre-commit +28 -0
  64. coharness-1.1.0/04-doc-production/.agent/improvements.md +11 -0
  65. coharness-1.1.0/04-doc-production/.agent/roles/checker.md +24 -0
  66. coharness-1.1.0/04-doc-production/.agent/roles/content-writer.md +23 -0
  67. coharness-1.1.0/04-doc-production/.agent/roles/outline-writer.md +28 -0
  68. coharness-1.1.0/04-doc-production/.agent/roles/reducer.md +29 -0
  69. coharness-1.1.0/04-doc-production/.agent/tasks/TEMPLATE.md +26 -0
  70. coharness-1.1.0/04-doc-production/.agent/workflows/doc-from-scratch.md +33 -0
  71. coharness-1.1.0/04-doc-production/.agent/workflows/revision.md +29 -0
  72. coharness-1.1.0/04-doc-production/.gitattributes +8 -0
  73. coharness-1.1.0/04-doc-production/AGENTS.md +43 -0
  74. coharness-1.1.0/04-doc-production/delivery-checklist.md +32 -0
  75. coharness-1.1.0/04-doc-production/docs/CHANGELOG.md +10 -0
  76. coharness-1.1.0/04-doc-production/docs//345/217/243/345/276/204/344/270/216/346/234/257/350/257/255.md +25 -0
  77. coharness-1.1.0/04-doc-production/export/README.md +5 -0
  78. coharness-1.1.0/04-doc-production/source/README.md +7 -0
  79. coharness-1.1.0/CONTRIBUTING.md +80 -0
  80. coharness-1.1.0/LICENSE +21 -0
  81. coharness-1.1.0/PKG-INFO +181 -0
  82. coharness-1.1.0/README.en.md +132 -0
  83. coharness-1.1.0/README.md +137 -0
  84. coharness-1.1.0/ROUTER.md +68 -0
  85. coharness-1.1.0/SECURITY.md +49 -0
  86. coharness-1.1.0/board.py +562 -0
  87. coharness-1.1.0/coharness.egg-info/PKG-INFO +181 -0
  88. coharness-1.1.0/coharness.egg-info/SOURCES.txt +231 -0
  89. coharness-1.1.0/coharness.egg-info/dependency_links.txt +1 -0
  90. coharness-1.1.0/coharness.egg-info/entry_points.txt +5 -0
  91. coharness-1.1.0/coharness.egg-info/requires.txt +4 -0
  92. coharness-1.1.0/coharness.egg-info/top_level.txt +1 -0
  93. coharness-1.1.0/docs/ACCEPTANCE-v1.1.md +52 -0
  94. coharness-1.1.0/docs/CHANGELOG.md +171 -0
  95. coharness-1.1.0/docs/DEMO-migrate.md +122 -0
  96. coharness-1.1.0/docs/EVOLUTION-PLAN.md +192 -0
  97. coharness-1.1.0/docs/EVOLUTION-PROCESS.md +71 -0
  98. coharness-1.1.0/docs/RELEASE-v1.1.0.md +108 -0
  99. coharness-1.1.0/docs/rfcs/README.md +28 -0
  100. coharness-1.1.0/docs/rfcs/RFC-0001-/350/256/244/351/242/206/345/216/237/345/255/220/345/214/226.md +63 -0
  101. coharness-1.1.0/docs/rfcs/RFC-0002-/351/235/242/346/235/277/345/261/225/347/244/272/351/235/242.md +84 -0
  102. coharness-1.1.0/docs/rfcs/TEMPLATE.md +39 -0
  103. coharness-1.1.0/evolve.py +363 -0
  104. coharness-1.1.0/maintain.py +444 -0
  105. coharness-1.1.0/panel.py +219 -0
  106. coharness-1.1.0/pyproject.toml +76 -0
  107. coharness-1.1.0/setup.cfg +4 -0
  108. coharness-1.1.0/skills/collab-zone/SKILL.md +33 -0
  109. coharness-1.1.0/tests/test_adapters.py +134 -0
  110. coharness-1.1.0/tests/test_card_subset.py +168 -0
  111. coharness-1.1.0/tests/test_check_current.py +171 -0
  112. coharness-1.1.0/tests/test_check_diff.py +107 -0
  113. coharness-1.1.0/tests/test_claim.py +170 -0
  114. coharness-1.1.0/tests/test_console_encoding.py +75 -0
  115. coharness-1.1.0/tests/test_contracts.py +133 -0
  116. coharness-1.1.0/tests/test_degrade.py +111 -0
  117. coharness-1.1.0/tests/test_distribution_surface.py +192 -0
  118. coharness-1.1.0/tests/test_evolve.py +245 -0
  119. coharness-1.1.0/tests/test_frontmatter_differential.py +100 -0
  120. coharness-1.1.0/tests/test_hook_e2e.py +78 -0
  121. coharness-1.1.0/tests/test_hook_install.py +172 -0
  122. coharness-1.1.0/tests/test_improve.py +98 -0
  123. coharness-1.1.0/tests/test_maintain.py +338 -0
  124. coharness-1.1.0/tests/test_minimal.py +101 -0
  125. coharness-1.1.0/tests/test_packaging.py +123 -0
  126. coharness-1.1.0/tests/test_panel.py +424 -0
  127. coharness-1.1.0/tests/test_parallel_race.py +129 -0
  128. coharness-1.1.0/tests/test_protocol_smoke.py +134 -0
  129. coharness-1.1.0/tests/test_registry_cross.py +142 -0
  130. coharness-1.1.0/tests/test_skeleton_integrity.py +121 -0
  131. coharness-1.1.0/tests/test_stats.py +147 -0
  132. coharness-1.1.0/tests/test_wsc_current.py +125 -0
  133. coharness-1.1.0/wsc.py +1205 -0
@@ -0,0 +1,11 @@
1
+ # improvements — 骨架改进登记(追加式:只新增行与更新状态列,不改历史)
2
+
3
+ > 登记门槛(不满足不登记):① 规则缺失/冲突造成实际返工;② 同类摩擦出现 ≥2 次;③ 能力缺口(缺 skill/MCP/依赖)。纯口味偏好不登记。
4
+ > 状态机:登记 → 试点中(改动只落本项目)→ 待审 → 已晋升(写回本体)/ 已驳回(记理由)。
5
+ > 管线与五条审核标准:骨架库 `docs/EVOLUTION-PROCESS.md`。审核指令:对任意 harness 说「evolve <本项目路径>」。
6
+ > 编号自 `I-001` 起递增,一行一条改动;`python {{COHARNESS_LIB}}/wsc.py improve <本项目>` 就是按这个编号读非终态条目,编号写错会被当成格式异常跳不掉。
7
+ > 照下面这行的格式往表里加(示例本身别留在表内):
8
+ > `| I-001 | 2026-01-01 | 规则 | 哪个流程/角色卡在哪 | 什么问题 | 想怎么改 | 发生了什么 | 登记 |`
9
+
10
+ | 编号 | 日期 | 类别 | 场景(哪个流程/角色卡在哪) | 问题或缺口 | 提议改动 | 证据(发生了什么) | 状态 |
11
+ |---|---|---|---|---|---|---|---|
@@ -0,0 +1,35 @@
1
+ # 角色:coder(实现者)
2
+
3
+ ## 目标
4
+
5
+ 按任务卡和 AGENTS.md 的约束,交付可运行、有测试的实现。
6
+
7
+ ## 允许改动
8
+
9
+ - `src/`、`tests/`
10
+ - 任务卡 `allowed_paths` 中列出的其他路径
11
+ - `.agent/tasks/` 中**自己这张卡**(仅限更新 status 和勾选验收项)
12
+
13
+ ## 禁改清单
14
+
15
+ - `AGENTS.md`、`.agent/roles/`、`.agent/workflows/`(发现规则有问题 → 停下提请用户,不自行修改)
16
+ - 任务卡范围之外的任何行为
17
+ - `docs/CHANGELOG.md` 之外的其他文档
18
+
19
+ ## 输出物
20
+
21
+ 1. 实现代码 + 对应测试
22
+ 2. 任务卡:status 置为 `review`,验收清单逐项勾选
23
+ 3. `docs/CHANGELOG.md` 追加一条(日期 + 类型[新增/修复/变更] + 一句话 + 影响文件)
24
+
25
+ ## 验收标准
26
+
27
+ - [ ] `{{TEST_CMD}}` 全绿
28
+ - [ ] 无遗留调试代码:print/console.log、注释掉的代码块、TODO 草稿
29
+ - [ ] 命名与现有代码风格一致,无新引入的依赖(有需要先在任务卡里提出)
30
+ - [ ] diff 仅覆盖 allowed_paths
31
+
32
+ ## 行为红线
33
+
34
+ - 不掩盖错误:注释掉报错代码、删除断言、捕获异常后静默继续,都属掩盖
35
+ - 不硬编码密钥、绝对路径、机器专属配置
@@ -0,0 +1,40 @@
1
+ # 角色:reviewer(审查者)
2
+
3
+ ## 目标
4
+
5
+ 以"实现者一定会犯错"的立场独立审查,是合入前的最后一道门。
6
+
7
+ ## 立场约束
8
+
9
+ - 审查与实现**分两轮做**(即使是同一个 AI 会话):实现完先放下,换到本角色后从零读 diff
10
+ - 只提有证据的问题:每个问题给出 `文件:行号` + 一句话修复建议
11
+ - 不重写实现者的方案;有更好的做法只指出方向,由下一张任务卡处理
12
+
13
+ ## 审查清单(逐项过)
14
+
15
+ **正确性**
16
+ - [ ] 边界条件:空输入、零、负数、极值、单元素集合
17
+ - [ ] 错误路径:文件不存在、网络失败、类型不符时的行为是否合理
18
+ - [ ] 与任务卡验收标准逐条对照
19
+
20
+ **安全**
21
+ - [ ] 无路径拼接注入(用户输入拼路径/命令/SQL)
22
+ - [ ] 无硬编码密钥、token、机器专属路径
23
+
24
+ **风格与可维护性**
25
+ - [ ] 命名、结构与 `src/` 现有代码一致
26
+ - [ ] 无魔法数字(提为常量或配置)
27
+ - [ ] 新逻辑有测试覆盖,测试断言的是行为而非实现细节
28
+
29
+ **范围**
30
+ - [ ] diff 无越权文件、无无关改动混入
31
+ - [ ] CHANGELOG 已记录且与实际改动一致
32
+
33
+ ## 输出物
34
+
35
+ 结论二选一:
36
+
37
+ - **pass**:可合入。列出检查过哪些项(简列即可)
38
+ - **fail**:问题列表(按严重度排序),退回实现者修复后复审
39
+
40
+ fail 不带情面,pass 必须有依据——两者都写进任务卡(或会话记录),供收尾追溯。
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: T-001
3
+ title: (填任务标题)
4
+ status: todo # todo | doing | review | done
5
+ created: YYYY-MM-DD
6
+ allowed_paths:
7
+ - src/
8
+ acceptance:
9
+ - (填可验证条目)
10
+ ---
11
+
12
+ ## 需求
13
+
14
+ (做什么、为什么、怎么算完成)
15
+
16
+ ## 方案要点
17
+
18
+ (改哪些文件、关键决策、风险)
19
+
20
+ ## 验收清单
21
+
22
+ - [ ]
@@ -0,0 +1,34 @@
1
+ # 流程:bugfix(缺陷修复)
2
+
3
+ ## 步骤总览
4
+
5
+ ```
6
+ 复现 → 归因 → 建任务卡[门禁] → 最小修复 → 回归 → 记录收尾
7
+ ```
8
+
9
+ ## 步骤明细
10
+
11
+ ### 1. 复现
12
+ - 写出最小复现步骤,能脚本化就写成 `tests/` 里的失败用例
13
+ - **复现不了就停**:列为待确认问题向用户要更多信息(环境、输入、日志),禁止"盲修"
14
+
15
+ ### 2. 归因
16
+ - 根因用一句话说清("X 函数在空列表时返回 None,调用方未判空")
17
+ - 列出影响范围:这个根因还会影响哪些调用方
18
+ - 区分:代码 bug / 环境问题 / 依赖版本问题 / 使用方式问题——后两类可能根本不用改代码
19
+
20
+ ### 3. 建任务卡 【门禁:用户确认修复方案后动手】
21
+ - 卡里必须包含:根因、修复方案、回归测试要求
22
+
23
+ ### 4. 最小修复
24
+ - 只改导致 bug 的最小范围
25
+ - **禁止顺手重构**相邻代码;看到别的坏味道 → 开新任务卡
26
+ - 修复同时补回归测试(复现用例转正为测试)
27
+
28
+ ### 5. 回归
29
+ - 原复现用例通过 + `{{TEST_CMD}}` 全量通过
30
+
31
+ ### 6. 记录收尾
32
+ - 任务卡 → `done`
33
+ - CHANGELOG 记录:日期 + [修复] + 根因一句话 + 影响文件
34
+ - 若根因暴露了规则/流程漏洞(如缺输入校验是普遍现象),在任务卡里向用户建议是否改 AGENTS.md
@@ -0,0 +1,32 @@
1
+ # 流程:new-feature(新功能)
2
+
3
+ ## 步骤总览
4
+
5
+ ```
6
+ 理解需求 → 建任务卡[门禁1] → 实现(coder) → 自审(reviewer) → 测试运行[门禁2] → 收尾
7
+ ```
8
+
9
+ ## 步骤明细
10
+
11
+ ### 1. 理解需求
12
+ - 用 ≤5 行复述需求:做什么、给谁用、怎么算完成
13
+ - 有歧义**先问**,禁止按猜测开工
14
+
15
+ ### 2. 建任务卡 【门禁 1:用户确认后才能动代码】
16
+ - 从 `.agent/tasks/TEMPLATE.md` 复制为 `T-<三位序号>-<短横线摘要>.md`
17
+ - 填写:title、allowed_paths(精确到目录)、acceptance(可验证的条目,禁止写"做好"这种不可验证项)
18
+
19
+ ### 3. 实现(按 `.agent/roles/coder.md`)
20
+ - 先写/改测试再写实现(行为先行),或实现后立即补测试,二选一保持一致
21
+ - 中途发现需求本身有问题 → 停下,回到门禁 1
22
+
23
+ ### 4. 自审(按 `.agent/roles/reviewer.md` 清单)
24
+ - 结论写入任务卡;fail 项退回步骤 3
25
+
26
+ ### 5. 测试运行 【门禁 2】
27
+ - `{{TEST_CMD}}` 全绿 + 手动跑一次主链路(`{{RUN_CMD}}`)确认端到端可用
28
+
29
+ ### 6. 收尾
30
+ - 任务卡 status → `done`
31
+ - `docs/CHANGELOG.md` 追加条目
32
+ - 向用户报告:改了什么、怎么验证的、遗留了什么
@@ -0,0 +1,8 @@
1
+ # 由 CoHarness 装机带入:执法面的脚本与钩子必须逐字节可审计,换行钉在 LF
2
+ * text=auto
3
+ .gitattributes text eol=lf
4
+ .gitignore text eol=lf
5
+ *.py text eol=lf
6
+ *.md text eol=lf
7
+ *.yml text eol=lf
8
+ scripts/hooks/pre-commit text eol=lf
@@ -0,0 +1,49 @@
1
+ # {{PROJECT_NAME}} — 单人代码项目骨架
2
+
3
+ > 触发约定:用户说「开工:X」(可带 @路径)= 按本文件与 `.agent/` 规程执行 X;调度细则见骨架库 `ROUTER.md`;门禁照走不豁免。
4
+
5
+ 一句话目标:{{GOAL}}
6
+
7
+ ## 项目卡
8
+
9
+ | 项 | 内容 |
10
+ |---|---|
11
+ | 骨架 schema | 3 |
12
+ | 技术栈 | {{STACK}} |
13
+ | 运行命令 | `{{RUN_CMD}}` |
14
+ | 测试命令 | `{{TEST_CMD}}` |
15
+ | 入口 | `{{ENTRY}}` |
16
+
17
+ ## 目录地图
18
+
19
+ ```
20
+ src/ 业务代码(唯一交付代码目录)
21
+ tests/ 测试
22
+ docs/ CHANGELOG 等长期文档
23
+ .agent/ 协作规则:角色、流程、任务卡(规则本体,勿随任务乱改)
24
+ ```
25
+
26
+ ## 全局约束
27
+
28
+ 1. **先 plan 后改**:任何非琐碎改动,先列方案(改哪些文件、怎么验证)待确认,再动手。
29
+ 2. **最小改动**:只改与当前任务卡相关的代码。顺手重构、顺手美化一律禁止,想要就开新任务卡。
30
+ 3. **一任务一卡**:每个任务先在 `.agent/tasks/` 建卡(从 TEMPLATE.md 复制),状态流转 = 改 frontmatter 字段。
31
+ 4. **版本进 git**:交付文件名不带 `-v2` / `-final` / `-副本` 等后缀;每次交付在 `docs/CHANGELOG.md` 追加一条。
32
+ 5. **过程产物不进交付树**:调试截图、临时脚本、日志放系统临时目录,确属测试资产的再放进 `tests/fixtures/`(用到时自己建该目录),用完即删。
33
+ 6. **发现骨架问题就登记**:规则缺失/冲突造成返工、同类摩擦 ≥2 次、或缺 skill/MCP 时,在 `.agent/improvements.md` 登记一行(门槛见该文件头部);试点改动只落本项目,晋升本体走 evolve 审核。
34
+
35
+ ## 工作方式
36
+
37
+ 接到任务后按顺序执行:
38
+
39
+ 1. 判断类型:新功能 → `.agent/workflows/new-feature.md`;修 bug → `.agent/workflows/bugfix.md`
40
+ 2. 按流程建任务卡,**门禁处停下来等确认**
41
+ 3. 实现阶段以 `.agent/roles/coder.md` 的约束行事;自审阶段切换到 `.agent/roles/reviewer.md` 的清单
42
+ 4. 收尾:更新任务卡状态 + 追加 CHANGELOG
43
+
44
+ 规则本身要改时(如命令变了、目录变了),直接改本文件并在 CHANGELOG 记一行,**不要**新建任何"规则补充说明"文档。
45
+ ## 降级行为(依赖没装时)
46
+
47
+ 本骨架刻意零外部依赖:唯一必需的是 `git`(没有它 pre-commit 与改动挂卡自动跳过,只剩命名规范)。
48
+ 不需要 `backlog` / `specify` / `git-wt` / `node`——一个人一个仓库,看板与并行都不是这一档要解决的问题。
49
+ 想升级:改用 `03` 骨架(`python {{COHARNESS_LIB}}/wsc.py init 03 <空目录>`),或装 backlog CLI 给本仓库加看板。
@@ -0,0 +1,11 @@
1
+ # CHANGELOG
2
+
3
+ 格式:`- YYYY-MM-DD [类型] 一句话说明(影响文件/组件)`
4
+ 类型取值:新增 | 变更 | 修复 | 升级
5
+
6
+ 本文件是**唯一**交付历史记录。版本号只在 git tag 和这里出现,文件名不带版本后缀。
7
+
8
+ <!-- 示例
9
+ - 2026-09-25 [新增] 贪吃蛇吃到食物加速机制(src/game.py, tests/test_game.py)
10
+ - 2026-09-25 [修复] 空输入时计分板崩溃(src/score.py)
11
+ -->
@@ -0,0 +1,5 @@
1
+ # src/
2
+
3
+ 业务代码的唯一目录。入口与运行方式见根目录 `AGENTS.md` 的项目卡。
4
+
5
+ 过程产物(调试截图、临时脚本、日志)不进这里,也不进 `docs/`;版本靠 git,文件名不带 `-v2` / `-final`。
@@ -0,0 +1,3 @@
1
+ # tests/
2
+
3
+ 测试。确属测试资产的样本数据放 `tests/fixtures/`(目录用到时再建),临时调试文件用完即删。
@@ -0,0 +1,11 @@
1
+ # improvements — 骨架改进登记(追加式:只新增行与更新状态列,不改历史)
2
+
3
+ > 登记门槛(不满足不登记):① 规则缺失/冲突造成实际返工;② 同类摩擦出现 ≥2 次;③ 能力缺口(缺 skill/MCP/依赖)。纯口味偏好不登记。
4
+ > 状态机:登记 → 试点中(改动只落本项目)→ 待审 → 已晋升(写回本体)/ 已驳回(记理由)。
5
+ > 管线与五条审核标准:骨架库 `docs/EVOLUTION-PROCESS.md`。审核指令:对任意 harness 说「evolve <本项目路径>」。
6
+ > 编号自 `I-001` 起递增,一行一条改动;`python {{COHARNESS_LIB}}/wsc.py improve <本项目>` 就是按这个编号读非终态条目,编号写错会被当成格式异常跳不掉。
7
+ > 照下面这行的格式往表里加(示例本身别留在表内):
8
+ > `| I-001 | 2026-01-01 | 规则 | 哪个流程/角色卡在哪 | 什么问题 | 想怎么改 | 发生了什么 | 登记 |`
9
+
10
+ | 编号 | 日期 | 类别 | 场景(哪个流程/角色卡在哪) | 问题或缺口 | 提议改动 | 证据(发生了什么) | 状态 |
11
+ |---|---|---|---|---|---|---|---|
@@ -0,0 +1,29 @@
1
+ # 角色:coder(作业代码实现者)
2
+
3
+ ## 目标
4
+
5
+ 在要求清单约束下实现可运行、可复现的作业代码。
6
+
7
+ ## 允许改动
8
+
9
+ - `deliverables/code/`
10
+ - 任务卡 `allowed_paths` 列出的其他路径
11
+
12
+ ## 禁改清单
13
+
14
+ - `deliverables/data/` 中已生成的实验数据(重跑覆盖需先声明)
15
+ - `docs/requirements-checklist.md`(那是 requirement-analyst 和 self-checker 的领地)
16
+ - 要求清单范围之外的任何"加分实现"——想做先提出来,用户同意再开卡
17
+
18
+ ## 可复现性要求(作业代码特有)
19
+
20
+ 1. 运行方式写进 `deliverables/code/README.md`:依赖安装 + 一条命令跑通
21
+ 2. 实验参数(输入规模、随机种子、循环次数)集中在代码顶部或配置区,不散落
22
+ 3. 每次实验输出落 `deliverables/data/`,文件名 = `实验名_日期.csv/json`,文件头注释写明参数
23
+ 4. 运行环境写清楚:语言版本、关键依赖及版本号
24
+
25
+ ## 验收标准
26
+
27
+ - [ ] 一条命令可复现全部结果
28
+ - [ ] 核心模块已向用户讲解原理且用户能复述
29
+ - [ ] `{{RUN_CMD}}` 正常退出,产物落位正确
@@ -0,0 +1,31 @@
1
+ # 角色:error-auditor(错题归因与复习调度)
2
+
3
+ ## 目标
4
+
5
+ 让每一道错题变成一次有效的未来复习——错题本是本骨架的核心资产。
6
+
7
+ ## 错题入库(error-log.md 追加行)
8
+
9
+ 每条必填:日期 / 科目与章节 / 题干摘要(一两行,能唤起记忆即可)/ 错因 / 正确要点(一句话核心)/ 复习到期日。
10
+
11
+ 错因四分类:**概念不清 / 计算失误 / 审题偏差 / 遗忘**。
12
+
13
+ 复习到期日按遗忘曲线:错后 1 / 2 / 4 / 7 / 15 天;到期复习再错则轮次重置。
14
+
15
+ ## 归因纪律
16
+
17
+ - **概念不清** → 转 tutor 讲解 + syllabus 掌握度下调
18
+ - **计算失误** → 不重讲,安排 3 道同型计算题(quizmaster 出)
19
+ - **审题偏差** → 让用户复述题意后,做题干变化题
20
+ - **遗忘** → 直接进到期队列,不用讲
21
+ - 拒绝笼统归因:"粗心"不是错因,要追问到底粗在哪一步
22
+
23
+ ## 到期调度
24
+
25
+ - 每次会话开始输出:今日到期错题数与清单
26
+ - 到期题重测可用原题变形;连续两轮通过 → 结业,移入"已掌握"
27
+ - 每周汇总一次错因分布 → 报告用户:哪个科目哪种错因集中,就是下周主攻方向
28
+
29
+ ## 数据维护
30
+
31
+ - error-log.md 是唯一错题源;quiz-bank 引用错题编号,不复制内容
@@ -0,0 +1,25 @@
1
+ # 角色:quizmaster(出题与批改)
2
+
3
+ ## 目标
4
+
5
+ 按章节和掌握度出题,通过作答暴露真实水平。
6
+
7
+ ## 出题规则
8
+
9
+ 1. 一次 ≤10 题,题型按需混合:选择 / 填空 / 简答 / 综合
10
+ 2. 难度分层:基础(教材例题级)/ 进阶(真题风格)/ 挑战(跨章综合),比例由该章掌握度决定(掌握度低 → 基础为主)
11
+ 3. 题目入 `quiz-bank/<科目>.md`(带日期与章节标签),**出过的题不重复出**(可变形重考)
12
+ 4. 每题标注考察点与教材定位("教材名 P123"风格),便于回查
13
+ 5. 有历年真题的考试:真题风格优先,题干长度贴近真实考试
14
+
15
+ ## 批改规则
16
+
17
+ 1. **出题后立即收手**:不暗示、不漏答案,等用户作答
18
+ 2. 批改逐题给:判定(对/错/部分对)+ 正确答案 + 一句话要点
19
+ 3. 错题交给 error-auditor 归因(自己不代做)
20
+ 4. 批改后报本轮统计:正确率、薄弱考点,并建议下一步(继续新题 / 转 tutor 讲解)
21
+
22
+ ## 禁止
23
+
24
+ - 出超纲题(扩展题要明确标注)
25
+ - 用语气性安慰代替批改("没关系"不是批改)
@@ -0,0 +1,30 @@
1
+ # 角色:report-writer(报告撰写员)
2
+
3
+ ## 目标
4
+
5
+ 按学校模板逐章撰写实验报告,每个结论都有实验数据支撑。
6
+
7
+ ## 输入
8
+
9
+ - `docs/requirements-checklist.md`(已确认)
10
+ - `deliverables/data/` 真实实验数据
11
+ - `{{FORMAT_TEMPLATE}}` 登记的模板结构与格式要求
12
+
13
+ ## 输出物
14
+
15
+ `deliverables/report/` 下的报告(格式按模板要求:md 源或直接 docx)。
16
+
17
+ ## 约束
18
+
19
+ 1. **严格按模板章节结构**,不增删一级章节;模板没有的"创新点"章节想加先问用户
20
+ 2. 图表编号连续(图 1、图 2…),且**正文必须引用**每个图表;孤儿图表删除
21
+ 3. 每个数据都注明来源("见表 2,数据来自 data/sort_benchmark_20260925.csv")
22
+ 4. 禁止空话填充篇幅:"通过本次实验我学到了很多"这类句子一律不写;字数不够时补的是实验分析深度,不是套话
23
+ 5. 结论分两层写:实验直接支持的结论 + 明确标注推测的延伸讨论
24
+ 6. 语言风格与提交者身份一致(学生/职场皆然)——过度书面、排比铺陈的 AI 腔会露馅,用平实直述
25
+
26
+ ## 验收标准
27
+
28
+ - [ ] 模板章节齐全,格式要求逐条满足
29
+ - [ ] 每个图表被正文引用,每个数据可溯源
30
+ - [ ] 与 data/ 文件核对无误(交 self-checker 终审前先自查一遍)
@@ -0,0 +1,31 @@
1
+ # 角色:requirement-analyst(要求提取员)
2
+
3
+ ## 目标
4
+
5
+ 把作业要求文档(PDF / 图片 / 口头描述)转成**机器可逐项核对的交付物清单**。
6
+
7
+ ## 输入
8
+
9
+ - 作业要求原文(扫描件先 OCR / doc-intake 转文字)
10
+ - 老师补充说明、群通知
11
+
12
+ ## 输出物
13
+
14
+ `docs/requirements-checklist.md`,表格格式:
15
+
16
+ | # | 要求原文(逐字摘录) | 交付物 | 形式 | 状态 |
17
+ |---|---|---|---|---|
18
+ | 1 | "提交源代码及可执行文件" | deliverables/code/ | 目录 | ⬜ |
19
+
20
+ 另附一节 **格式要求**:页数、字体、行距、命名规则、提交渠道,单独成表。
21
+
22
+ ## 约束
23
+
24
+ - **原文逐字摘录,禁止转述改写**——转述会丢细节,核验时要对原文
25
+ - 每条要求拆到"可独立判定完成"的粒度("写一个排序程序并分析复杂度"拆成两条)
26
+ - 读不准的要求标 ⚠ 并**向用户提问**,禁止自行脑补含义;追问方式可参考 `/speckit-clarify`,但摘录与 ⚠ 门禁不变
27
+ - 清单确认前,其他角色不得开工
28
+
29
+ ## 门禁
30
+
31
+ 清单产出后必须获得用户确认(用户可能知道老师口头补充),确认后本角色工作结束。
@@ -0,0 +1,27 @@
1
+ # 角色:self-checker(交付核验员)
2
+
3
+ ## 目标
4
+
5
+ 交付前对照 `docs/requirements-checklist.md` **逐项**核验,是交付前最后一道门。
6
+
7
+ ## 核验规则
8
+
9
+ 1. 只依据已确认的清单判定,清单没写的不算缺项(但可以建议补充)
10
+ 2. 每项给出三态判定:
11
+ - ✅ 完成 + **证据**(文件路径 / 报告页码 / 命令输出摘要)
12
+ - ❌ 缺失或不符合(写明差距:缺什么、差多少)
13
+ - ⚠ 无法机器判定,需人工确认(如"报告是否满足老师主观偏好")
14
+ 3. **只报告,不擅动**:发现缺项不擅自补做,退回对应角色或交用户决策
15
+
16
+ ## 核验顺序
17
+
18
+ 1. 硬性格式:命名规则、提交渠道、文件齐全性(清单格式要求节)
19
+ 2. 交付物完整性:代码可运行(重跑 `{{RUN_CMD}}`)、数据文件存在且未被手改
20
+ 3. 报告内容:章节齐全、图表引用闭环、数据与 data/ 一致、参考文献在列
21
+ 4. 诚信抽检:随机抽 3 个报告中的数字,核对 data/ 原始文件
22
+
23
+ ## 输出物
24
+
25
+ - `docs/requirements-checklist.md` 状态列更新为 ✅/❌/⚠
26
+ - 核验小结:总体可交 / 不可交 + 缺项列表
27
+ - **全部 ✅(⚠ 项经用户确认)后**,才允许打包交付
@@ -0,0 +1,23 @@
1
+ # 角色:tutor(追问式讲解)
2
+
3
+ ## 目标
4
+
5
+ 把用户"听懂"变成用户"会推"——用追问代替灌输。
6
+
7
+ ## 讲解流程
8
+
9
+ 1. **先让用户说**:任何问题先问"你现在的思路是什么?卡在哪一步?"
10
+ 2. **只纠当前那一步**:顺着用户思路找第一个错的地方,用反问引导("这一步 XX 为零时会发生什么?"),不直接给修正版
11
+ 3. **用户推出来后**:再给完整标准表述 + 教材定位,补漏但不算改答案
12
+ 4. **追认检验**:讲完立刻出一道同考点变形题让用户独立做——做不出来说明没懂,回到第 2 步
13
+
14
+ ## 讲解深度
15
+
16
+ - 每个结论回答三层:是什么 → 为什么 → 什么时候不成立(边界)
17
+ - 涉及计算的逐步写过程,中间步标注依据(定义/定理/性质名)
18
+ - 禁止"显然""易得"式跳步
19
+
20
+ ## 约束
21
+
22
+ - 一次只讲一个考点,讲透为止;用户跑题时记下话题,拉回主线
23
+ - 发现错误根因是概念混淆 → 交给 error-auditor 记档,不是简单重讲
@@ -0,0 +1,34 @@
1
+ # 卡片格式约定(Backlog.md 任务卡 · 交付型可选)
2
+
3
+ 任务卡由 Backlog.md 管理,建卡/改卡一律走 CLI:`backlog task create` / `backlog task edit`。
4
+ **只有交付型多任务/多人分工时才用卡**;持续型与办公型的状态在数据文件里,不建卡。
5
+ 本骨架不设 check.py 执法(那是 03 的重装备),验收闭环靠 self-checker 按 REQ 编号对账,labels 是硬要求。
6
+
7
+ ## frontmatter:Backlog 全权管理,禁自造字段
8
+
9
+ | 字段 | 本项目约定 |
10
+ |---|---|
11
+ | `status` | 四列 `todo / doing / review / done`(backlog.config.yml 配置) |
12
+ | `labels` | **必须**含对应要求清单条目编号,如 `REQ-1`、`REQ-3`——self-checker 按此对账 |
13
+ | `assignee` | 多 harness 分工时填 harness 标识;单人作业可留空 |
14
+ | `dependencies` / `priority` / `created_date` / `updated_date` | Backlog 维护 |
15
+
16
+ ## 卡体:固定三节
17
+
18
+ ```markdown
19
+ ## 需求
20
+ 对应清单哪几条(引用 REQ-x 编号)+ 做什么。
21
+
22
+ ## 做法与产物
23
+ 产出落到 deliverables/ 哪个目录、用什么方法、参数怎么设。
24
+ 涉及数据:文件名 = 实验名_日期,来源必须是真实运行。
25
+
26
+ ## 验收清单
27
+ - [ ] 可验证条目,逐条引用 REQ-x(如"REQ-2:程序一键运行出结果")
28
+ ```
29
+
30
+ ## 规则
31
+
32
+ 1. 卡的验收清单必须覆盖其 labels 引用的所有 REQ 条目——self-checker 核验时以此对照
33
+ 2. 状态流转走 `backlog task edit`,不手改文件
34
+ 3. 其余纪律(可复现性、数据只读、命名)以各角色文件为准,卡片不重复
@@ -0,0 +1,34 @@
1
+ # 流程:assignment(作业全流程)
2
+
3
+ ## 步骤总览
4
+
5
+ ```
6
+ 提取要求[门禁1] → 拆任务卡 → 编码实验 → 报告撰写 → 逐项自检[门禁2] → 打包交付
7
+ ```
8
+
9
+ ## 步骤明细
10
+
11
+ ### 1. 提取要求(requirement-analyst)【门禁 1】
12
+ - 产出 `docs/requirements-checklist.md`
13
+ - 读不准的条目可借 `/speckit-clarify` 的追问方式收敛,但**逐字摘录与 ⚠ 门禁不变**
14
+ - **用户确认清单后才能开工**——这一步省下的纠正成本最多
15
+
16
+ ### 2. 拆任务卡(可选,多任务/多人分工时用)
17
+ - 单交付物小作业可跳过建卡,直接按后续步骤走
18
+ - 用卡时:每个交付物一张卡,`backlog task create`(格式见 `.agent/tasks/CARD-CONVENTION.md`)
19
+ - 卡的 labels 标注对应清单条目编号(REQ-x),验收清单逐条引用,保证闭环
20
+
21
+ ### 3. 编码与实验(coder)
22
+ - 按 `.agent/roles/coder.md` 的可复现性要求执行
23
+ - 实验数据落 `deliverables/data/`,失败也如实记录
24
+
25
+ ### 4. 报告撰写(report-writer)
26
+ - 数据齐了才动笔;图表先用真实数据画,不画"示意图"冒充结果
27
+ - 中途发现实验设计撑不起结论 → 回到步骤 3 补实验,**不改数据凑结论**
28
+
29
+ ### 5. 逐项自检(self-checker)【门禁 2】
30
+ - 清单全 ✅(⚠ 项经用户确认)才能进步骤 6
31
+
32
+ ### 6. 打包交付
33
+ - 按 AGENTS.md 命名规则输出最终文件到指定提交位置
34
+ - `git commit` 留存交付快照;CHANGELOG 或 docs/notes.md 记一行"已交付 + 提交内容清单"
@@ -0,0 +1,22 @@
1
+ # 流程:daily-session(每日学习会话)
2
+
3
+ ## 步骤
4
+
5
+ ### 1. 状态读取(每次会话必做)
6
+ - 读 `syllabus.md`(章节掌握度、计划进度)
7
+ - 读 `error-log.md`(今日到期错题清单)
8
+ - 对照备考卡:距离 `{{DUE_DATE}}`(截止/考试日期)还有多少天、进度是否落后
9
+
10
+ ### 2. 今日计划建议【门禁:用户确认】
11
+ - 格式:到期错题重测 N 题 → 薄弱考点讲解 M 个 → 新章节推进 X 小节(时间盒按 {{DAILY_HOURS}} 切)
12
+ - 进度落后时明确说出来,建议取舍(砍新内容保复习)
13
+
14
+ ### 3. 执行
15
+ - 到期错题:error-auditor 重测并更新轮次
16
+ - 新内容:quizmaster 出题 → 用户作答 → 批改 → 错题进 error-auditor
17
+ - 卡壳的考点:切 tutor 追问式讲解
18
+
19
+ ### 4. 收尾更新(必做,不等用户提醒)
20
+ - `syllabus.md`:今日章节掌握度、最近复习日更新
21
+ - `error-log.md`:新增错题、到期错题结果
22
+ - 今日小结 ≤5 行:学了什么 / 正确率 / 明日建议
@@ -0,0 +1,26 @@
1
+ # 流程:debug(代码跑不通的修复)
2
+
3
+ 适用:复现实验失败、报错、结果明显不对。
4
+
5
+ ## 步骤
6
+
7
+ ### 1. 固定现场
8
+ - 完整报错信息 + 复现命令 + 环境(语言版本、依赖版本、OS)一次收集齐
9
+ - 禁止"改一下试试"式盲改——先让错误稳定重现
10
+
11
+ ### 2. 三层定位(按序排查,命中即停)
12
+ 1. **环境层**:依赖缺失/版本不符、路径不对、编码问题(Windows GBK vs UTF-8 是重灾区)
13
+ 2. **输入层**:数据文件格式、参数取值、边界输入
14
+ 3. **代码层**:读报错堆栈定位到行,加最小打印或断点确认中间状态
15
+
16
+ ### 3. 修复
17
+ - 最小改动修复当前错误
18
+ - **红线**:不许注释掉报错代码、删断言、捕获异常后静默继续——这些是掩盖,不是修复
19
+ - 同类错误一次修完(比如三处都有同一编码问题)
20
+
21
+ ### 4. 重跑验证
22
+ - 原失败命令重跑通过 + 周边功能未被误伤(跑全量已有测试/脚本)
23
+
24
+ ### 5. 记录(可选但推荐)
25
+ - 排查超过 3 轮的坑,在 `docs/notes.md` 记一条:现象 → 根因 → 修法
26
+ - 这些笔记期末复习和下次作业都值钱
@@ -0,0 +1,24 @@
1
+ # 流程:mock-exam(模拟考试)
2
+
3
+ 适用:阶段检验(每完成一个大模块)与考前冲刺。
4
+
5
+ ## 步骤
6
+
7
+ ### 1. 组卷
8
+ - 按真实考试结构:题型、题量、分值、时长全部照搬 `{{PROJECT_NAME}}`(备考卡里的考试名)的真实规则
9
+ - 抽题来源:quiz-bank 为主 + 按考试大纲补新题;已结业考点可少量抽入
10
+ - 试卷存 `quiz-bank/mock-<日期>.md`,答案单独一节(作答期间不看)
11
+
12
+ ### 2. 限时作答
13
+ - 按 `{{PROJECT_NAME}}` 的真实时长计时;期间 AI 只计时,不答任何题目问题
14
+ - 到点停笔,未答按空处理——模拟的意义在真实压力
15
+
16
+ ### 3. 批改与归因
17
+ - quizmaster 批改出分(按真实评分标准:步骤分、选错不得分等)
18
+ - error-auditor 逐题归因并入库;**整体错因分布**单独统计(概念/计算/审题/遗忘占比)
19
+ - 时间维度一并分析:哪些题超时、是否时间分配失衡
20
+
21
+ ### 4. 复盘
22
+ - 输出模考报告:总分 / 各科得分率 / 错因分布 / 时间分配问题 / 与上次模考对比
23
+ - 得分率低的章节进 topic-drill 队列;syllabus.md 掌握度整体校准
24
+ - 考前最后一周:mock 频率提高,错题只复习"已结业但仍错"的高危题
@@ -0,0 +1,22 @@
1
+ # 流程:office-task(一次性办公文档)
2
+
3
+ 适用:周报 / 实习日志 / 申请材料 / 邮件草稿等"写完就交"的文档任务。
4
+ 多章节、多轮改稿、多写手的重型文档 → 分流 04-doc-production 骨架。
5
+
6
+ ## 步骤
7
+
8
+ ### 1. 三要素对齐【门禁:与用户确认后再动笔】
9
+ - 给谁看(读者与语境)/ 要达到什么效果(目的)/ 有什么素材(已有的与缺的)
10
+ - 缺的素材列清单向用户要;数据、经历、事实**一律不虚构**(见 AGENTS.md 诚信纪律)
11
+
12
+ ### 2. 写作(按 report-writer 约束)
13
+ - 平实直述,符合提交者身份与语气;格式按对方要求(模板/字数/截止)
14
+ - 结论与诉求有素材支撑;数字、日期、名称逐个核对
15
+
16
+ ### 3. 自检(self-checker 三态判定,缩略版)
17
+ - 事实核对:每个数字 / 日期 / 名称有出处
18
+ - 格式要求逐条过(字数、模板、提交渠道)
19
+ - 语气与目的匹配:重读一遍,删空话与套话
20
+
21
+ ### 4. 交付
22
+ - 按对方渠道提交;本地按 {{NAMING_RULE}} 存 `deliverables/` 对应子目录并 git commit 留档