2026-07-13-to-14-victory-numbers
⟦tag:v2|task|2026-07-13-to-14-victory-numbers⟧
kind: task
id: 2026-07-13-to-14-victory-numbers
lane: R9
title: 胜利规则 v1.1 数值拍板(Day 1-2 主,4h,与 R7 并行)
objective: 收口 W29 5 日计划 R9 lane——把胜利规则 v1.1 的 6 件事数值拍板落盘,产出一份签字文档 + 一份 victoryConditions.ts 常量文件,为 D3 触发条件 + 收束页对接铺平。
scope: docs/plans/active/2026-07-13-5日开发计划-v1.md § 3, docs/design/active/胜利终局-truth-source-v1.md(7.3 verified), docs/design/active/胜利终局v1.1待办-第二三年锚点与多周目-v1.md, src/utils/endgame/victoryConditions.ts(新)
acceptance:
docs/design/active/胜利终局-v1.1数值拍板-v1.md落盘,含 6 件事数值表 + P1 签字位src/utils/endgame/victoryConditions.ts落盘,只放常量,不放函数- 4 个数值常量:
MIN_FAME_THRESHOLD/MIN_RELATIONSHIP_THRESHOLD/MIN_BUSINESS_THRESHOLD/MAX_DAYS_THRESHOLD - 1 个跨周目常量:
CROSS_WEEK_INHERITANCE_RATE(默认 0.3) - 1 个判定模式常量:
VICTORY_COMPOSITION_MODE('AND'/'OR'二选一,主会话拍) - 1 个优先级常量:
MAIN_PATH_PRIORITY/SIDE_PATH_PRIORITY(数字越小越高)
- 4 个数值常量:
cmd /c npm run build通过,常量引用 tsc 通过- P1 在
胜利终局-v1.1数值拍板-v1.md§ 拍板段 6 件事全部签字 endgame-save-load-design.md未被改动src/utils/endgame/**其他文件未被改动src/App.tsx未被改动 current state: verified blockers: none。P1 已于2026-07-12 12:52:45 +08:00签署 6 件事当前矩阵。 next action: none。签字态回填与cmd /c npm run build已完成并吸收;后续仅在 P1 明确改签时重开。 summary:- 这是 W29 5 日计划 R9 lane(2026-07-13 Day 1 + 2026-07-14 Day 2 主轴,与 R7 并行,4h 工作量),关键路径不在 R9(R9 是并行轨道),R9 滞后不阻塞 R7/R8/R10/R11 主链。
- 拍板 6 件事 P1 必须在 7.13-7.14 两天上午现场拍,短工不代决数值;短工职责 = 准备拍板会议材料 + 按拍板值落盘
victoryConditions.ts常量 + 出签字文档。 - ⑤ 失败链触发条件边界明示留 v1.2 W30,本卡不拍;⑥ 跟 D3 触发条件对接 = 仅在文档里写「对接点清单」,不实装。
prompt(给短工 / 子会话的指令)
角色:[短工]#胜利数值拍板@v1.1
lane:R9
时间窗:2026-07-13 上午 9:00 ~ 2026-07-14 下午 14:00(4h 工作量,跨两天,Day 2 下午留 buffer)
承接文档:docs/plans/active/2026-07-13-5日开发计划-v1.md § 3
前置依赖:docs/design/active/胜利终局-truth-source-v1.md 已 verified(7.3),本卡在 v1.0 基础上拍数值
任务清单(按顺序做)
Day 1 上午(7.13 9:00 - 12:00):准备拍板材料 + 拍 ①-②-③
-
拍板材料:
docs/design/active/胜利终局-v1.1数值拍板-v1.md起草- § 背景:1 段(从
胜利终局-truth-source-v1.mdv1.0 verified 状态延伸) - § 拍板 6 件事:6 个子段,每个子段先列「候选数值 + 理由」,后留「P1 拍板值」空行
- § 1:各项阈值(经营 / 关系 / 名声 / 时间)
- 候选:
minFame >= 80/minRelationship >= 70/minBusiness >= 10000/maxDays <= 360
- 候选:
- § 2:AND / OR 复合判定
- 候选 A:全 AND(严苛) / 候选 B:全 OR(宽松) / 候选 C:3 选 2(平衡)
- § 3:主路径 vs 支路径优先级
- 候选:主路径 priority=1,支路径 priority=2
- § 4-§ 6:留空待 Day 2 拍
- § 签字段:P1 签字位 6 行(每件事 1 行)
- § 背景:1 段(从
-
§ 1-§ 3 拍板会(短工不代决,等 P1 现场拍)
- P1 拍完后,短工把数值填入 § 1-§ 3 的「P1 拍板值」空行
- P1 在签字段 § 1-§ 3 三行签字(或电子签字「P1 2026-07-13 HH:MM」)
-
Day 1 下午 14:00:把 § 1-§ 3 拍板值同步到
victoryConditions.ts草案- 4 个数值常量先按拍板值填,标
// W29 Day 1 拍,Day 2 可能微调 - 1 个判定模式常量先按 § 2 拍板值填
- 1 个优先级常量先按 § 3 拍板值填
- 4 个数值常量先按拍板值填,标
Day 2 上午(7.14 9:00 - 12:00):拍 ④-⑤-⑥
-
§ 4-§ 6 拍板会
- § 4 跨周目继承率:候选 30% / 50% / 70%
- § 5 失败链触发条件边界:明示留 v1.2 W30,本卡不拍,文档里写「⑤ 留 W30 失败链 v1.2,本卡不拍」+ P1 签字
- § 6 跟 D3 触发条件 + 收束页的对接:文档列「对接点清单」(D3 触发条件字段名 / 收束页 UI 入口 / 数值引用路径),不实装
- P1 在签字段 § 4-§ 6 三行签字
-
Day 2 下午 14:00:
victoryConditions.ts定稿- 7 个常量全部按拍板值填,删
// W29 Day 1 拍,Day 2 可能微调注释 - 跨周目继承率
CROSS_WEEK_INHERITANCE_RATE = 0.3(若 P1 拍其他值,以拍板为准)
- 7 个常量全部按拍板值填,删
Day 2 下午交付
- 验收
cmd /c npm run build通过- 常量引用 tsc 通过
- 6 件事签字位全部有 P1 签字(⑤ 留 W30 也需 P1 在文档里明示签字)
胜利终局-v1.1数值拍板-v1.md文档落盘完整
文件边界(强制)
- ✅ 新增:
docs/design/active/胜利终局-v1.1数值拍板-v1.md - ✅ 新增:
src/utils/endgame/victoryConditions.ts(只放常量,不放函数) - ❌ 不碰:
docs/design/active/胜利终局-truth-source-v1.md(7.3 verified,本卡是 v1.1 续) - ❌ 不碰:
endgame-save-load-design.md - ❌ 不碰:
src/utils/endgame/**其他文件 - ❌ 不碰:
src/App.tsx任何代码 - ❌ 不实现 UI / 不实现失败终局
不做(明示)
- ❌ 不实现 D3 触发条件代码(留 W30+ 集成)
- ❌ 不实现收束页 UI(留 W30+)
- ❌ 不实现失败链 v1.2 触发条件(明示留 W30)
- ❌ 不实现跨周目继承的实际迁移逻辑(留 R6 v1.1 W30)
- ❌ 不动
胜利终局-truth-source-v1.md(7.3 verified 状态不重开)
风险 + 缓解
- P1 拍板拖延 → Day 1 上午先拍 ①-②-③,Day 2 上午拍 ④-⑤-⑥;短工不代决
- ⑤ 失败链边界跟 ④ 跨周目继承交叉 → ⑤ 明示留 v1.2 W30,文档里写「⑤ 留 W30 失败链 v1.2」
- ⑥ 跟 D3 对接字段名跟
胜利终局-truth-source-v1.md不一致 → 短工拍板前先读胜利终局-truth-source-v1.md,沿用现有字段名
回执模板(短工完成时按这个格式回报主会话)
[R9 #胜利数值拍板@v1.1 回执]
- 状态:✅ 完成 / ⚠️ 部分完成 / ❌ 阻塞
- 新增文件:<列出 2 个文件实际路径>
- P1 签字状态:6 件事全签 / 部分签(列出未签的)
- 拍板数值摘要:
- § 1 阈值:<列出 4 个>
- § 2 复合判定:<AND / OR / 3 选 2>
- § 3 优先级:<列出>
- § 4 跨周目继承率:<数值>
- § 5 失败链边界:留 W30 v1.2(已签)
- § 6 D3 对接点:<列出对接点>
- `npm run build`:✅ / ❌
- tsc 常量引用:✅ / ❌
- 风险 / 阻塞:<如有,列出;如无,写 "无">
- 残余风险:<如有,列出;如无,写 "无">
- 建议给 W30 接力点:<一句话>
(End of R9 task card)