docs: 清理账本第一版设计留下的文档残留;任务书 03 加清理清单
WORK_LOG、结构.md 来源说明里"12 种记录""900–1400 行"已过时。任务书 03 新增"先清理第一版留下的东西":列明要删的文件、函数、测试、注释,并要求用搜索结果证明清干净。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -10,7 +10,7 @@
|
||||
|
||||
- CLAUDE.md:按官方写法写成(提交 3861fd8 及之后)。
|
||||
- `docs/方法.md`:由参考项目的研究方案 v3、设计-15、设计-16 合成(f32c0bd)。之后按用户决定改过:消融只测信息价值选中的格(5e4f8c2);保障的定义借用"控制变量"和"重构"来说明(141494f)。
|
||||
- `docs/结构.md`:13 个模块加 vocab、步骤清单、账本 12 种记录、可替换点、检查规则、粗估规模(6cf9f0c)。
|
||||
- `docs/结构.md`:13 个模块加 vocab、步骤清单、账本记录种类、可替换点、检查规则、粗估规模(6cf9f0c)。
|
||||
- 任务书 01(工具链 + vocab):npm 包、TypeScript、`node --test`、dependency-cruiser 规则全写,临时违规实测 14 条都报错;vocab 1030 行,`npm run check` 通过,`npm test` 24 条通过。结构.md 第八部分补了 vocab 对外内容。
|
||||
- 任务书 02(rules):src/rules 13 个文件、1761 行,`npm test` 192 条通过。预期值来源有三个:方法.md 的手算例;`tests/fixtures/rules/` 下不看实现写的 Python 脚本(重跑后 JSON 逐字节相同);参考项目 calc15、calc14b 里与现行方法一致的部分。审阅做了两轮,每轮都换一个全新上下文的子 Agent。结构.md 第八部分补了 rules 对外内容。
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
- 提交的字段定义放 vocab,submissions 只判收不收;vocab 只放两个函数(规范序列化、哈希)。用户原话:"我都同意"。
|
||||
- vocab 上限改为 1100 行(多出来的主要是发给模型的字段说明)。用户原话:"同意 A,vocab 上限改为 1100 行。结构.md 由监督者改,你不用动。"
|
||||
- 每份预测只对一个候选、每份挑刺只针对一个目标;入口、因子、实现条款的编号由程序按位置分配;实现提交不设代码字段(程序从工作目录冻结);运行结果用"没启动 / 正常退出 / 超时 / 被取消"一个字段表示启动与结束;四种 token 数都可记测不到。用户原话:"3、4、5、6:同意保留你的写法。方法.md 第五部分的表(入口编号、实现的代码字段)由监督者改。"
|
||||
- 账本改为一张只追加的表,12 种记录都不能改(ca2cd52)。用户原话:"同意全部只追加"。
|
||||
- 账本改为一张只追加的表,全部记录都不能改(ca2cd52)。用户原话:"同意全部只追加"。
|
||||
- 谁能看什么归 materials(按任务定材料,第一条消息和查询工具是同一份材料的两种给法),ledger 只存;只在"只能一次"处加唯一约束;Jev 不单独成记录,记在它判断的那件事里(0b0cbb0)。用户原话:"给到派的材料有哪些"和"一开始灌进去还是主动等派去查"是分开的事情;Jev"本质只是一种可以代替程序的判别器"。
|
||||
- 计算时间不再是预算,只记录;预算只有运行次数(42347e4)。用户原话:"CPU 秒不当预算但是要记录"。
|
||||
- 解释的每格三个数改为可选,关掉消融时不交。用户原话:"同意 A:解释的 cells 去掉 minItems,改为可选"。
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
来源:
|
||||
- 用户 2026-10-01 认可"按负责一件事来切"、下面这套模块与可替换点,以及步骤清单和账本记录种类。
|
||||
- 用户 2026-10-01 同意:提交的字段定义放 vocab,submissions 只判收不收;vocab 可放规范序列化和哈希两个函数,上限调到 600 行;执行后实际 1030 行,用户同意上限改为 1100 行。
|
||||
- 用户 2026-10-02 同意:"全部只追加":账本用一张只追加的表,12 种记录都不能改;ledger 预期 900–1400 行。
|
||||
- 用户 2026-10-02 同意:"全部只追加":账本用一张只追加的表,全部记录都不能改。
|
||||
- 用户 2026-10-02 指出可见性、截止序号、通用唯一键都是过度设计:"每次给到派的材料有哪些"和"一开始灌进去还是让它去查"是分开的两件事;Jev 本质上是一种可以代替程序的判别器。据此:谁能看什么归 materials(按任务定材料),ledger 只存;只在方法要求"只能一次"处加唯一约束;Jev 不单独成记录。ledger 预期 500–900 行。
|
||||
- 依据是两次开发调研。一次是模块切分,参考了 Parnas 1972 与 1979、Ousterhout、Cockburn 和同类项目的源码;一次是同类研究的实验设计。
|
||||
|
||||
|
||||
+16
-2
@@ -14,7 +14,21 @@
|
||||
- 恢复时只核对、不重做写入(CLAUDE.md"中断后怎么恢复"),所以记录照写就是,不需要通用的去重。只在方法要求"只能有一次"的地方加唯一约束。
|
||||
- Jev 是一个判别器,和程序检查地位相同,不单独成一种记录。
|
||||
|
||||
已经写好的代码里,存储、禁改触发器、提交内容检查、作者自评拆成封存,都还用得上。可见性、截止序号、通用唯一键和重复写入的处理、Jev 记录,以及第一版之后加出来的写入前提检查,按这一版删掉或改写。
|
||||
已经写好的代码里,存储、禁改触发器、提交内容检查、作者自评拆成封存,都还用得上。
|
||||
|
||||
### 先清理第一版留下的东西
|
||||
|
||||
第一版的设计已经作废,按它写出来的代码、测试、注释、文档都要清掉,不留"以后也许用得上"的部分。改完要读起来像一开始就按这一版写的(CLAUDE.md"怎么改一份文件"):
|
||||
|
||||
- `src/ledger/visibility.ts` 和 `tests/ledger-visibility.test.ts`:整个删掉。
|
||||
- `snapshot`、`Viewer`、截止序号:从代码、导出和测试里删掉。
|
||||
- 通用唯一键(`keyOf`、`joinKey` 一类)、"同样内容重写当作已经写过"的处理和它的测试:删掉,只留第一部分说的三处唯一约束。
|
||||
- `jev` 这种记录:删掉,改为写进"退回"和"决定"的内容里。
|
||||
- 第一版之后加出来、不在第三部分四种里的写入前提检查:删掉,测试一并删掉。
|
||||
- 注释里提到快照、截止序号、可见性、"同内容重写"的地方:按这一版改写或删掉。
|
||||
- `docs/结构.md` 第八部分你写的 ledger 那一段:按这一版重写。
|
||||
|
||||
清完以后,在 `src/ledger/`、`tests/`、`docs/` 里搜 `snapshot`、`cutoff`、`Viewer`、`visib`、`keyOf`、"快照"、"截止"、"当作已经写过",除了这份任务书和结构.md 开头的来源说明,应该一处都搜不到。把搜索命令和结果写进报告。
|
||||
|
||||
## 开工前先读
|
||||
|
||||
@@ -165,7 +179,7 @@
|
||||
1. 提交号,新增文件列表,每个文件的行数,ledger 的总行数。
|
||||
2. `npm run check` 和 `npm test` 的完整输出。
|
||||
3. 最终的记录种类表:每种存什么,谁会写它。
|
||||
4. 按这一版删掉了第一版里的哪些东西。
|
||||
4. 按这一版删掉了第一版里的哪些东西,以及"先清理第一版留下的东西"那一节最后的搜索命令和结果。
|
||||
5. 独立审阅提出的问题,以及每条怎么处理的(修了的附测试名,没修的写"不写会怎样"的答案)。
|
||||
6. 你和这份任务书、结构.md、方法.md 不一致的地方,以及为什么。
|
||||
7. **规则不清楚的地方**:读 CLAUDE.md、结构.md、方法.md 时,哪里让你犹豫、哪里两份文件说法不一致、哪里你是靠猜的。没有就写"没有"。
|
||||
|
||||
Reference in New Issue
Block a user