Archived
This repository has been archived on 2026-09-13 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
02e0d1206d1906fd6741c108901f5fb2f14f3d96
上一轮判断"读数层四个函数也躲不掉、只能手抄"是错的:rowReadings/missingReadings/ tallyReadings/distinctReadings 是 apps/api/src/app/wiring/engines.ts 的具名导出,测试文件住在 apps/api/src/modules/loop-engine/__tests__/,import 它们是 apps→apps,activities-isolated 与 apps-not-into-activities 两条隔离规则一条都不沾。真正躲不掉的手抄只有六笔配方常量本身(ACT_*, 因为那条边是 apps/* → activities/* 的反方向,才是两条规则真堵住的)。 而且手抄件已经在同一笔提交里漂了:missingReadings 拼缺项名的真身是 gaps.map((f) => f.label ?? f.name)(engines.ts:378),手抄件漏了 label ?? 那半句,连带镜像的 Declared 类型没有 label 字段,这条分支从结构上就复刻不出来。 删掉约 150 行手抄,改成 import 真身。相对路径要爬三层撞了 eslint 的 no-restricted-imports, 新增 @app/* 路径别名(tsconfig.base.json + vitest.config.ts 各一行,与既有 @modules/* / @shared/* 同一种写法)—— 取名核对过不撞 pnpm 工作区包名 @app/api / @app/web(两者从未被当作 TS import specifier 用过,且 apps/api 的 package.json exports 只暴露了 "." 一个入口)。 变异复验(删手抄之后这条用例仍能精确复现原 bug):旧次序 → RED,Received 恰是评审报告点名的 那个空字符串,与手抄版本逐字相同;新次序 → GREEN。depcruise 单独确认零违规。 文件头注按"测什么、不测什么"重写:次序不倒退已由 steps.test.ts 用精确数组相等钉在真 ASSESSMENT_STEPS 上;这份镜像守的是引擎逐 action 刷新时机,在形状上有代表性即可,不是逐字 等于真配方的承诺。docs/debt.md 补一条,点名唯一还留着的手抄(ACT_* 六个常量)与谁改了 S1 配方形状该顺手核什么。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
Description
No description provided
9.3 MiB
Languages
TypeScript
90.1%
CSS
7.3%
JavaScript
2%
Shell
0.4%
Python
0.1%