№ · 任务清单
CH.07.04
2026-07-03-item-data-runtime-layer-truth
⟦tag:v2|task|2026-07-03-item-data-runtime-layer-truth⟧
kind: task
id: 2026-07-03-item-data-runtime-layer-truth
objective: 在 道具模块 owner 下,先完成 道具-数据运行时拆层 这条最小短工 lane,收回 src/data/items/index.ts 的既有跨层污染,把查询 / 类型守卫 / 掉落池 / 随机掉落等运行时逻辑迁回 src/utils/items/**,不扩到生成数值设计和 UI 接线。
scope: docs/plans/active/2026-07-03-5day-demand-owner-board-v1.md, docs/handoff/tasks/2026-07-03-item-module-owner.md, docs/handoff/tasks/2026-07-03-item-data-source-alignment.md, docs/handoff/sessions/2026-07-03-item-module-owner-01.md, docs/handoff/sessions/2026-07-03-item-data-source-alignment-01.md, AGENTS.md, src/data/items/index.ts, src/data/items/**, src/utils/items/**
acceptance:
src/data/items/index.ts不再承载函数,数据层遵守AGENTS.md的“数据层不放函数”规则- 查询 / 类型守卫 / 掉落池 / 随机掉落等运行时逻辑迁到
src/utils/items/**下的最小逻辑文件 - 若当前 live code 存在对旧导出的引用,改到 logic layer;不扩到
src/components/** - 不改
道具-生成与词条运行时的数值 / 词条规则,不顺手扩背包与展示接线 npm.cmd run build通过;若失败,需明确是否为既有基线- 回 summary package,默认不输出整段
git diffcurrent state: verified blockers: none next action: none; lane verified. 本卡不再保留后续执行权;item 模块后续如需继续,一律先回到当前 live owner board⟦tag:v2|task|2026-07-03-item-module-owner⟧与docs/handoff/current-dispatch-shortlist.md。只有出现新的 direct truth source 且正式替换当前 owner board 时,才按新 truth source 改判是否打开道具-生成与词条运行时或其它 follow-up。 summary: - 这条 lane 直接来自
道具模块owner 与道具-数据真源整理callback 的组合证据。 - 当前之所以优先开这条 lane,不是泛化清理,而是
src/data/items/index.ts仍直接违反AGENTS.md的三层规则:数据层残留查询 / 类型守卫 / 效果应用 / 掉落池运行时函数。 - 该 lane 只负责把 item 数据层与运行时逻辑重新切开,不借机扩成 item 生成器重做或 UI 联调。
- 当前最终结论:
src/data/items/index.ts已退回纯数据 / 派生索引边界;查询 / 类型守卫收进src/utils/items/catalogLogic.ts,掉落池与随机掉落收进src/utils/items/dropPoolLogic.ts,npm.cmd run build通过。 - 当前最新监督结论:当前 live item owner board 是
⟦tag:v2|task|2026-07-03-item-module-owner⟧;旧的⟦tag:v2|task|2026-07-04-phase1-closeout-owner⟧只保留为历史 prep/gate 证据,不再作为当前 live owner board。