№ · 活跃计划 CH.07.13
主页 · 📅 活跃计划 · 后续需求路线图 v1

后续需求路线图 v1

📅 2026-07-13 · 📦 17.7 KB · 📅 活跃计划 · 📝 MD 文档 🆕 14d 🏷️ Buff🏷️ 路线图🏷️ 联机🏷️ 计划🏷️ 拍卖🏷️ 时间

定位:基于 W29 工程证据和代码质量审计整理的后续需求入口;只定义可拆 lane 的顺序、边界和验收,不创建 task 卡、不派工。 调度规则:无日期门、时刻门、callback 等待门或 P1 审批等待门。任务按完成证据接力;独立文件锁可并行,同一文件锁必须串行。 owner review 规则:pending / approved / changes_requested 只记录产品验收状态。pending 不阻塞工程推进,也不得被写成 approved


0. 单一目标

先恢复仓库可持续交付能力并如实完成 W29 收口,再按“失败结果可理解 → 跨周目可感知 → 角色经营更有深度 → 内容扩容 → 真实联机”的用户价值链推进新需求。

每个候选必须同时满足:

  1. 直接改善玩家体验或降低后续交付风险。
  2. 遵守 AGENTS.md 三层架构、相对路径和玩家文案边界。
  3. 有明确文件锁、可执行验收、非目标和回退点。
  4. 不把计划、preview、mtime、dirty tree 或 owner review pending 当成完成证据。

1. 当前完成度与未收口项

1.1 W29 / Phase 1 真值

| lane | 当前结论 | 可复用证据 | 后续处理 | | :--- | :--- | :--- | :--- | | R7 实时竞价 | 代码与测试完成,卡面状态有漂移 | 5/5 回归 + build | 不重做功能;R11 如实吸收工程证据 | | R8 流拍与重连 | 代码与测试完成,卡面状态有漂移 | timeout 5/5 + reconnect 5/5 + build | 不重做功能;R11 如实吸收工程证据 | | R9 胜利数值 | verified | R9 task 卡 + R9/R14 11/11 | 失败链 v1.2 复用已签字胜利契约 | | R10 联机 UI | partial / accepted residual risk | 代码接线与 build 已落 | 浏览器、截图和视觉验收进入非阻塞 checklist;不得伪造 verified | | R11 W29 收口 | 未收口,已具备立即执行条件 | R11 task 卡 ready_for_dispatch / no_time_gate | 按当前证据落收口文档;R10 缺口写 residual risk | | R12 剧情字段净化 | verified | R12 task 卡 | 不重开 | | R13 旧账风波 | verified | 节点回归 5/5 + build | 不重开;二段桥接已经存在,不再排重复施工 | | R14 跨周目锚点 | verified | R14/R9 回归 11/11 + build | 后续只做未落的结算接线与 UI,不重做锚点/折算函数 | | T3 装备字段 | verified | Zod + 回归 5/5 + build | 不重开 | | 联机骨架文档 sync | 未收口,可立即执行 | doc-sync task 卡 ready_for_dispatch / no_time_gate | 与 R11/质量 lane 文件无交叉,可独立推进 |

R13 二段去重证据:

  • src/data/eventTables/storyline-old-ledger.ts 已存在 STORYLINE_OLD_LEDGER_EVENTS
  • src/data/eventTables/index.ts 已注册该桥接表。
  • OLD_LEDGER_YEAR_END_INPUTS 已提供 day-335-inputday-360-input 收束输入。
  • 因此旧计划里的“R13 桥接表 + 收束页对接二段”不得再次派工;后续若发现真实 UI 缺口,只能开新的、基于现状的 UI 接线 lane。

1.2 代码质量基线

| 检查 | 当前真值 | | :--- | :--- | | build | PASS | | test:w29 | 39/39 PASS | | lint / TypeScript | FAIL,68 errors | | 错误分组 | Buff 27;auction 21;核心 UI/运行时 13;剧情编辑器 4;根目录残片 3 | | 主要架构债 | Buff 数据层函数、oldLedger 历史数据层函数、items 历史派生索引 |

1.3 R10 owner review checklist(非阻塞)

  • [ ] 浏览器真实路径:主导航 → multiplayer → 房间 → 4 态切换。
  • [ ] 4 张状态截图:waiting / bidding / antiSnipe / settled
  • [ ] 3 张掉线截图:重连、离线、房主转移。
  • [ ] 视觉规范 12 项 + auction console 一致性 6 项留存证据。
  • [ ] 回退点:仅回退 RoomCard.tsx 视觉调整与 App.tsx multiplayer 入口变更,不动 R7/R8 状态机。
  • owner review: pending

以上未完成项不阻塞 doc-sync、R11 或代码质量 lane;在证据补齐前,R10 始终保持 partial / accepted residual risk


2. 优先级需求池

| 优先级 | ID | 需求 | 进入条件 | 完成后接力 | | :---: | :--- | :--- | :--- | :--- | | P0 | C0 | W29 证据收口 | 立即可执行 | 为路线图提供稳定基线 | | P0 | Q0 | 全仓代码质量恢复 | 立即可执行;按文件锁拆分 | 解除新功能叠加在 68 个错误上的风险 | | P1 | F1 | 失败链 v1.2 | Q0 工程收口 | X1 | | P1 | X1 | 跨周目结算接线与 UI | F1 后;先统一 0.95 归属 | D1 | | P1 | D1 | 角色深度 UI | Q0 后,且目标组件文件锁空闲 | P2 内容扩容 | | P2 | K1 | 内容池扩展 | D1 的展示/消费契约稳定 | N1 | | P2 | N1 | WebRTC 与跨设备同步 | 本地状态机、联机文档和质量基线稳定 | 后续联机体验增强 | | P2 | L1 | 启动页 v1.3 按钮接入 | Q0 收口 + landing 文件锁空闲 | 独立收口 |

P0 的 C0 与 Q0 可并行;P1/P2 不因 P1 签字等待而停工,但必须保留 owner review checklist、推荐默认值、证据和回退点。 L1 拍板记录:2026-07-13 17:58 +08:00 P1 拍板 8 项按钮接入决策,需求契约见 docs/design/active/启动页v1.3按钮需求-v1.md(独立撰写,本路线图不重复规格)。


3. 依赖与顺序

             C0 W29 证据收口 ───────────────┐
                                             ├─ 稳定工程基线
Q0 质量恢复:Buff / auction / runtime / tools ┼──┐
                                             │  │
                          │                  │  ▼
                          ▼                  │  L1 启动页 v1.3 按钮接入
                  F1 失败链 v1.2              │  (独立收口,5 Open Questions 拍板后即可起)
                          │                  │
                          ▼                  │
         X1 0.95 契约归一 → 跨周目结算接线/UI │
                          │                  │
                          ▼                  │
                   D1 角色深度 UI             │
                          │                  │
                          ▼                  │
                     K1 内容池扩展            │
                          │                  │
                          ▼                  │
               N1 WebRTC → 跨设备同步        │

顺序理由:

  • 质量恢复先行,避免新功能继续放大类型契约和三层架构债。
  • 失败链直接补足“为什么失败、如何调整”的核心经营反馈,且复用 R9 已签字契约。
  • 跨周目 UI 在展示前必须统一 0.95 跨年衰减的应用位置;这是工程契约依赖,不是审批等待门。
  • 角色深度 UI 依赖稳定运行时与员工状态契约,随后内容池才能按真实消费面扩容。
  • WebRTC 和跨设备同步涉及兼容性、权威状态、断线恢复与安全边界,放在本地状态机和内容主循环稳定之后。
  • L1 启动页 v1.3 按钮接入是独立分支,只依赖 Q0 收口 + landing 文件锁空闲,不与 F1-X1-D1-K1-N1 主链串行。P1 必须先拍板 5 个 Open Questions(排行榜数据源 / 百科内容来源 / 新闻公告存储 / modal 视觉 / 微信群过期机制)才起实施切片。

4. P0 lane 包

C0 · W29 证据收口

| 字段 | 内容 | | :--- | :--- | | 用户价值 | 防止“代码已落但状态不可信”持续污染后续版本判断 | | 依赖 | 无 callback/P1 等待依赖;读取当下工程证据 | | 文件边界 | doc-sync 只动 docs/design/active/联机P2P房间骨架-v1.md;R11 按既有卡面写收口文档与 handoff update;本路线图不代改它们 | | 工量 | S | | 验收 | doc-sync 7 段真填;R11 如实区分 verified/partial;R10 owner review 保持实际状态 | | 非目标 | 不重开 R7-R10,不实现新需求,不把 R10 升为假 verified | | 风险 / 回退 | 控制面与工程证据漂移;回退为撤销错误状态表述,保留事实证据 |

Q0 · 全仓代码质量恢复

| 字段 | 内容 | | :--- | :--- | | 用户价值 | 降低功能回归和存档损坏风险,让后续需求具备可信构建基线 | | 依赖 | 无日期门;src/App.tsx 必须等 R10 文件锁释放或由 lane 明确让出 | | 文件边界 | Q-Buff:src/data/buffs/** + src/utils/buffs/**;Q-Auction:src/data/auction/** + src/utils/auctionRules.ts;Q-Runtime:当前 13 个报错文件及其类型 owner;Q-Tools:tools/剧情编辑器/** + types_append.ts 来源核定 | | 工量 | L,可拆 4 个领域 lane | | 验收 | lint 68 → 0;build PASS;test:w29 39/39;开档 → 进游戏 → 玩 1 个周期 smoke PASS;无三层反向依赖 | | 非目标 | 不改玩家可见 UI、业务数值、拍卖规则、Buff 效果或存档语义;不顺手迁移所有历史架构债 | | 风险 / 回退 | 类型修复可能掩盖真实契约漂移;每个领域独立提交/补丁,失败时按领域回退,不回退其他 lane |


5. P1 lane 包

F1 · 失败链 v1.2

| 字段 | 内容 | | :--- | :--- | | 用户价值 | 玩家能理解经营败局由哪些维度累积、还差什么、下一局如何修正 | | 依赖 | Q0 通过;复用 R9 AND 复合判定、优先级与四个 D3 对接点 | | 文件边界 | 数据:src/data/endgame/** 只放阈值/类型/静态配置;逻辑:src/utils/endgame/** 与既有 failure utils;UI:src/components/endgame/**EndgamePanel.tsx,每层分开施工 | | 工量 | M | | 验收 | 4 维度阈值与触发优先级可配置;确定性测试覆盖临界值/互斥/重复触发;UI 只渲染逻辑层元数据;build/lint/test 通过 | | 非目标 | 不重平衡胜利签字值,不做跨周目迁移,不扩内容池 | | 风险 / 回退 | 阈值影响存量局面;默认值集中在数据层,owner review 可记 pending,需要调整时只回退常量与对应 UI 文案 |

X1 · 跨周目结算接线与 UI

| 字段 | 内容 | | :--- | :--- | | 用户价值 | 通关后能看见本周目沉淀、下一周目收益与上限,形成明确重复游玩动力 | | 依赖 | Q0、F1 完成;先把 0.95 跨年衰减确定为上游预处理或 computeLegacyPoints 内部规则,并用测试固定唯一语义 | | 文件边界 | 数据:src/data/endgame/**、必要的 playthrough 类型;逻辑:src/utils/endgame/** 与存档桥;UI:src/components/endgame/** / EndgamePanel.tsx;不得重写 R14 锚点和既有曲线 | | 工量 | M | | 验收 | 0.3 继承率、1.0/0.8/0.6/0.4 曲线、0.95 处理顺序各只有一个真值;结算可写回并可重放;封顶提示无开发者字段;存档兼容测试通过 | | 非目标 | 不做全量旧存档迁移、不改 GlobalProfile 之外的无关 schema、不接 WebRTC | | 风险 / 回退 | 双重衰减或重复写回;以纯函数测试 + 幂等键保护,回退 UI 与调用桥时保留 R14 纯函数/常量 |

D1 · 角色深度 UI

| 字段 | 内容 | | :--- | :--- | | 用户价值 | 玩家可扫描员工 health/stamina/mood/stress/loyalty,提前做排班与资源决策 | | 依赖 | Q0 通过;员工五维运行时契约稳定;不等待 owner review 回复 | | 文件边界 | 数据:src/data/staff/** 静态显示配置;逻辑:src/utils/staff/** 或既有 staffDepth.ts;UI:src/components/StaffTabs.tsx 及新建 src/components/staff/**,避免把计算塞进组件 | | 工量 | M | | 验收 | 五维状态、风险级别和建议动作可从逻辑层派生;桌面/移动布局不溢出;内部 ID 不进玩家文案;build/lint 与组件回归通过 | | 非目标 | 不新增员工数值维度、不重平衡恢复速度、不扩关系剧情 | | 风险 / 回退 | 信息密度过高;用可折叠分组和既有 Staff tab 入口,回退新组件挂载即可恢复原视图 |


6. P2 lane 包

K1 · 内容池扩展

| 字段 | 内容 | | :--- | :--- | | 用户价值 | 降低重复事件感,为角色深度和失败链提供更多可见变化 | | 依赖 | Q0 与 D1 稳定;先以内容缺口统计确定增量,不用“全部翻倍”替代验收 | | 文件边界 | 每次只锁一个数据域:src/data/storyEvents/**src/data/events/**src/data/buffs/**、成就/终局对应数据目录;查询与派生进入 src/utils/<domain>/**;UI 只消费既有接口 | | 工量 | L,按内容域拆小 lane | | 验收 | 每域有唯一 ID、触发可达性、重复率/权重检查和玩家文案检查;新增内容有回归,build/lint 通过 | | 非目标 | 不在一个 lane 同时扩剧情、Buff、成就和终局;不改底层状态机;不堆不可达静态数据 | | 风险 / 回退 | 内容量增加但不可触发或破坏权重;按域维护清单与权重快照,单域可独立回退 |

N1 · WebRTC 与跨设备同步

| 字段 | 内容 | | :-- | :-- | | 用户价值 | 房主与帮工能在真实设备上共享房间状态和竞拍过程,而非仅本地模拟 | | 依赖 | Q0、联机骨架 doc-sync、本地 R7/R8/R10 状态机稳定;先完成 DataChannel 传输,再做跨设备持久同步 | | 文件边界 | 数据:src/data/multiplayer/** 消息 schema/type;逻辑:src/utils/multiplayer/** transport/authority/reconnect;UI:src/components/multiplayer-lobby/** 连接状态;不得让 transport 反向污染 auction 域 | | 工量 | XL,至少拆 transport 与 cross-device 两个串行 lane | | 验收 | 双浏览器/双设备建连;房主权威、出价顺序、反狙击、断线重连和 host transfer 可复现;消息 schema 校验;兼容性矩阵与失败回退通过 | | 非目标 | 不同时做聊天、表情包、弹幕、服务端账号或反作弊平台 | | 风险/回退 | NAT/浏览器兼容、乱序、重复消息、脑裂;保留本地单机状态机作为 fallback,transport 可整体关闭而不破坏经营存档 |

L1 · 启动页 v1.3 按钮接入

| 字段 | 内容 | | :-- | :-- | | 用户价值 | 启动页对外入口(排行榜/百科/公告)从「仅切 active」变成真实可点;底部社区支持从 Discord 迁移到微信群,顶部支持我们接微信收款码,贴合项目目标用户群体 | | 依赖 | Q0 通过(App.tsx 锁释放)+ landing 文件锁空闲;不与 F1/X1/D1/K1/N1 串行;5 个 Open Questions 必须 P1 拍板后才能起实施切片 | | 文件边界 | 数据:src/data/landing/externalContent.ts(新)+ 现有 data/landing/config.ts 字段微调
逻辑:src/utils/landing/externalContentLogic.ts(新)
UI:src/components/landing/** 5 个现有文件微改 + 新建 src/components/landing/modals/** 子目录(5 真 + 2 占位 = 7 个 modal)
资源:public/assets/external/wechat-{group,donate}-qr.png(2 张图,7 天滚动维护) | | 工量 | S-M,~4.5h 单人,可拆 2-3 个 S 子 lane(资源落地 → 数据/逻辑 → UI modal) | | 验收 | 8 个按钮按 v1.3 拍板全部接通(P0 5 个 + P1 2 个占位 + 移除 2 个);2 张微信图就位;5 个 Open Questions 解决;build/lint/test 通过;微信群二维码 7 天滚动维护机制建立;玩家文案不暴露内部 ID/开发者字段 | | 非目标 | 不重做启动页视觉(沿用 v1.2 Tavern Ink & Gold);不进存档 schema;不做跨设备同步;不接真实后端(排行榜/百科/公告 v1.3 走单设备 localStorage 或静态 Markdown/JSON);烛火音乐真实音频 / 法律 3 个 modal / 语言 i18n 全部 Hold | | 风险/回退 | 排行榜数据源/百科内容/新闻公告存储/微信群过期机制 = 5 个 Open Questions;P1 不拍则不开 L1;回退点:仅回退 landing/ 改动 + 还原 FOOTER_CONTENT.community 数组,不动其他域 | | 需求契约 | docs/design/active/启动页v1.3按钮需求-v1.md(v1.0,2026-07-13 17:58 P1 拍板) |


7. 文件锁与验收硬门

7.1 文件锁

  • src/App.tsx:R10 follow-up 与 Q-Runtime 不得并发写;完成方释放后另一方接力。
  • src/data/buffs/**:质量恢复结束前,内容池不得进入 Buff 数据域。
  • src/data/auction/** + src/utils/auctionRules.ts:只允许 auction 契约 lane 持有。
  • src/data/endgame/** + src/utils/endgame/**:F1 与 X1 串行,避免阈值/折算契约互相覆盖。
  • src/components/endgame/**:F1 UI 完成并释放后,X1 UI 接力。
  • src/data/multiplayer/** + src/utils/multiplayer/**:N1 内部按 transport → sync 串行。
  • src/components/landing/** + src/data/landing/** + src/utils/landing/**:L1 持有,与 F1/X1/D1/K1/N1 不交叉(landing 域独立),但跟 Q-Runtime(Q3-A 锁 App.tsx 时期)不并发;资源 public/assets/external/** 由 P1 手动维护,7 天滚动。

7.2 保留的硬门

  • cmd /c npm run lint 达到目标且无新增错误。
  • cmd /c npm run build 通过。
  • 领域定向测试 + cmd /c npm run test:w29 39/39 通过。
  • 三层架构、相对 import、玩家文案边界通过审查。
  • 运行时任务具备实际 smoke/browser 证据;缺证据必须如实标 partial
  • targeted git diff --check 通过,且不回退无关 dirty-tree 变更。

8. owner review 模板(所有后续需求共用)

- owner review: pending / approved / changes_requested
- checklist:<玩家路径、视觉、文案、数值待确认项>
- evidence:<截图、测试、build、实际路径>
- recommended default:<当前可继续实现的默认值>
- rollback:<最小回退文件/常量/挂载点>
- follow-up:<changes_requested 时新开的小范围修正项>

pending 不改变工程 lane 的完成证据;changes_requested 只生成有界 follow-up,不回滚已经验证且与变更无关的工作。


9. 路线图完成判定

  • P0 可直接拆成 W29 文档收口与 4 个质量领域 lane。
  • P1/P2 每项均有用户价值、依赖、文件边界、工量、验收、非目标、风险与回退。
  • R13 二段不重复排工,R10 不伪造 verified。
  • 所有调度顺序只依赖完成证据和文件锁,不依赖日期、callback 或 P1 回复。
  • build/tests/架构/证据门仍是硬门。