fixed # 归档

This commit is contained in:
2026-10-13 10:50:58 +08:00
parent 15dcb9f508
commit 35a3bde5dc
31 changed files with 2483 additions and 3 deletions
@@ -0,0 +1,146 @@
# Recovery authorized by the user on 2026-10-13.
# CLI-generated Shape state; historical version 24 evidence is backed up in
# .planning/comet-state-recovery-20261013. All acceptance requires revalidation.
schema: comet.native.v4
name: shuying-skill-tianshu-review
language: zh-CN
phase: shape
status: await-user
state_version: 25
brief: brief.md
document_constraints_version: 2
shape_confirmation_hash: 73614dd2595713e137f716f16fb11eed1c7d59096b3fd243d53ff1d97cedd7d3
spec_changes:
- capability: shuying-skill-correctness
operation: create
source: specs/shuying-skill-correctness/spec.md
workspace:
isolation: current
change_branch: null
target_branch: null
finish: null
loop:
stage: await-user
goal_cycle: 1
iteration: 0
attempt: 0
retry_epoch: 0
failed_iteration_count: 0
no_progress_count: 0
execution_failure_count: 0
previous_unresolved_ids: []
next_action: confirm-shape
acceptance:
- id: A1
source: brief.md
text: 羁绊的 filter、mod、async content 在没有开发者全局对象时,能通过模块导入获取引擎依赖。
result: pending
reason: null
- id: A2
source: brief.md
text: 江东基业二三级对应子技能通过正确 group 挂载并执行,低等级不重复叠加。
result: pending
reason: null
- id: A3
source: brief.md
text: 驭布对一张多目标杀只判定一次,成功时对各存活目标只造成一次伤害。
result: pending
reason: null
- id: A4
source: brief.md
text: 驭布困难难度黑桃成功、梅花失败;阴间难度黑色成功、红色失败,动态描述与难度条件一致。
result: pending
reason: null
- id: A5
source: brief.md
text: 狼顾失败后仅限制当前回合;黑桃成功时恢复次数,即使没有可弃手牌也不会错误占用次数。
result: pending
reason: null
- id: A6
source: brief.md
text: 奋威开局及中途获得时各初始化2蓄力,同次持有不因入场/开局事件重复添加,不重置共享蓄力。
result: pending
reason: null
- id: A7
source: brief.md
text: 舌战与狼顾仅从允许被发动者弃置的牌中随机选择。
result: pending
reason: null
- id: A8
source: brief.md
text: 白仪与九天仅从允许被发动者获得的牌中随机选择。
result: pending
reason: null
- id: A9
source: brief.md
text: 连环伤害允许再次增伤,既有牌伤增益不添加 notLink 排除。
result: pending
reason: null
- id: A10
source: brief.md
text: 新增定向回归验证并运行相关现有天书测试,说明真实游戏/联机实测边界,保留无关改动。
result: pending
reason: null
- id: A11
source: brief.md
text: 狼顾阴间梅花成功、红色失败,普通/困难仅黑桃成功;动态描述同步。
result: pending
reason: null
- id: A12
source: brief.md
text: 妄尊阴间累计1点伤害即反击,困难1点不反击,未受伤时弃牌数仍为困难1/阴间2。
result: pending
reason: null
- id: A13
source: brief.md
text: 夺玺阴间替换摸牌后仅自己摸2,困难双方各摸1;动态描述、提示同步。
result: pending
reason: null
- id: A14
source: brief.md
text: 引雷困难自己回合不触发、阴间自己回合触发;描述同步回合条件。
result: pending
reason: null
- id: A15
source: brief.md
text: 张角三难度体力和上限8/16/24,起始手牌6/8/10和追加技能保留。
result: pending
reason: null
- id: A16
source: brief.md
text: 疑神随机获取各目标合法装备,正常难度分支只选一名敌人,阴间所有合格敌人各一张;禁止选择受保护装备。
result: pending
reason: null
- id: A17
source: brief.md
text: 反馈受到多点伤害有逐点发动机会,可对友方来源发动,源牌耗尽后停止;自伤只获取自身装备。
result: pending
reason: null
- id: A18
source: brief.md
text: 狼顾接受其他友方来源;暴虐满血也失去1体力并允许任意角色;雷击允许其他友方,谏征允许其他角色使用的杀,不增加阵营限制。
result: pending
reason: null
- id: A19
source: brief.md
text: 远虑阴间保留unreal并明确描述;无双/神戟/战甲增强不回退,全部改动描述与提示一致。
result: pending
reason: null
builder_handoff: null
blockers: []
verification: null
history: []
history_overflow:
dropped_entries: 0
first_dropped_at: null
last_dropped_at: null
outcome_counts:
pass: 0
fail: 0
blocked: 0
execution-error: 0
recovery: 0
verification_result: pending
verification_report: null
archived: false
created_at: 2026-10-13T01:31:51.574Z
+77
View File
@@ -0,0 +1,77 @@
# 梦三独立代码审查
日期:2026-10-13。基线:28f7096及工作区未提交的受保护技能结算兼容修改。
审查为只读,不修复业务代码,不提交或发布。
## 流程状态
用户调用Comet,项目解析为Native,用户选择当前目录包含未提交修复。
正式任务初始化未成功:new被旧任务shuying-skill-tianshu-review缺失
docs/comet/changes/shuying-skill-tianshu-review/comet-state.yaml阻塞。
status/doctor后执行Runtime给出的doctor --repair命令仍返回ENOENT。
Git历史中未找到该状态文件。旧任务现场保留,未手工重建或删除状态。
本报告是可以独立进行的源码审查,不是Comet正式验收报告。
## 已确认问题
### P2:整角色清理漏掉装备技能登记
位置:mengsan/battle/skill-teardown.js:124-128。
清理候选只包含skills/hiddenSkills/invisibleSkills/tempSkills/additionalSkills。
引擎装备技能通过addSkillTrigger登记到initedSkills与lib.hook,可能不在这些列表中。
梦三起始牌库包含八卦。装备八卦后获胜,清理不能解除其触发登记;随后
mengsan/mode.js:773-779仅删除角色索引和节点,不能清理旧lib.hook条目。
连续对局会积累旧角色的触发登记。
最小复现使用本地player.js原生addSkillTrigger/removeSkillTrigger与当前
createPlayerTeardown:八卦注册前后测试的两个键为
oldBattlePlayer_player_chooseToRespondBegin和
oldBattlePlayer_player_chooseToUseBegin。清理前2个、清理完成后仍2个;
调用原生removeSkillTrigger后0个,initedSkills也从[bagua_skill]清空。
这是最小依赖桩复现,未执行完整游戏对局。
建议:区分角色技能与装备登记的释放来源,补齐装备/已初始化登记的卸载,
并覆盖连续对局及共享全局技能归属,避免直接清空公共hook表。
### P2:引擎吞错时战斗控制器永久等待
位置:mengsan/mode.js:900-905。
战斗准备内容没有自己的异常边界;只有root.start()拒绝时才记录engineError
并调用finished()。启用引擎ignore_error后,GameEvent.loop可吞掉准备异常,
root.start()最终成功返回,外部await signal没有人唤醒。
缺失支援角色或准备期间的适配错误可触发此路径,异常退出提示不会出现。
复现使用本地原生GameEvent、ArrayCompiler和ContentCompilerBase,外围服务
为最小桩。准备内容主动抛错,ignore_error=true,结果为rootFinished=true、
engineError=null、finishSignal=false、eventStack=0。根代理已独立重复复现。
建议:在战斗准备内容的边界捕获、记录并向外部协调者传递异常;不依赖
引擎是否将错误重新抛出。补充ignore_error开关两种情况下的退出验证。
## 验证缺口
扩大执行10套相关测试,Node结果为54项、38通过、16失败、0跳过。
记录见.planning/mengsan-review/tests.txt(本机诊断产物,不参与发布)。
失败不能视为16个游戏缺陷:
- test_bonds.mjs依赖原生入口,仓库直接执行解析到不存在的D:/noname.js。
- test_mengsan_cards.mjs:14-15将每条import替换为const _status声明,当前多条
import导致重复声明,测试尚未进入业务断言。
- 遗物、奖励与奖励包测试存在接口桩和旧预期失配;例如永恒牌不可强化的
测试预期与当前upgrades.js明确允许强化的规则相反。
现有通过结果不足以证明羁绊、卡牌、遗物和奖励完整链路正确。应修复测试
接入和同步有效规则后,建立能在仓库中重复运行的回归入口;本轮未修改夹具。
## 未发现高置信问题的检查范围
检查图鉴/虚拟列表、手牌输入与布局、敌人意图刷新、通用牌运行时及个人牌堆。
当前看到有限缓存、取消帧回调、解除监听和清理观察器的路径;没有将潜在风险
或描述歧义当作确定缺陷。未实测PC或安卓整局,不能由源码证明实机无残留。
存档事务提交与奖励去重路径未发现新的高置信问题。
## 交付限制
使用GPT-6.1 Sol高推理进行独立只读复核,根代理重新核对两项产品问题。
未恢复Comet正式状态、未进入Shape确认/正式Verify;不能标为Comet通过。
恢复旧任务正式状态文件后,才能继续正式Comet工作流。