DKChan
|
61537da889
|
test(敌人表深度带): 冒烟与单测断言按 S 清单改写
冒烟全部寻址点改为三参 resolve_enemy_rowset(关卡, 深度, 行类),结算/单元/探针直呼的
spawn 与 begin_battle 显式带行类(battle/boss)——终点战仍按 Boss 行集取数,行为不变。
首遇位断言改为扫表取该 (关卡, battle, 敌种) 的最低深度带,不再写死坐标〔fv21〕;新增
_enemy_bands 结构段验 20 行键序、hobgoblin 留任 (1,battle,3)、三 Boss 行类与带键〔fv11–fv13〕;
L2 混编 (2,battle,5) 行序与骰和、巨蜘蛛/bugbear/duergar 首遇带固定数、Boss 行类显式传入
等断言逐条加〔fv18/fv19/fv22–fv24〕尾缀。职业节奏探针与伤害探针同步三参寻址。
变异验证七项全部命中(记录表进实现报告):band_of 反向 floor → fv1/fv3 红;row_kind 枚举
判据注释 → fv7 红;Boss 同带判据删除 → fv15 红;顶带消解判据短路 → fv16 红;巨蜘蛛首遇行
加 unit_count_max → fv22 红;混编两行文件内对调 → fv18/fv11 红;hobgoblin 迁错带键 →
fv11/fv12 红(直接迁到带 2 先被加载期同带规则拦下,改用与带 2 行互换带键,表可加载后键位断言红)。
|
2026-10-22 04:17:40 +08:00 |
|
DKChan
|
b6629d6848
|
feat(T2-T6): 五词注释换代——完美排雷→完美封印/板级→整图/门票→专长凭证/正主→现行事实源/落籍→已入库
全局 sed 替换 89 处命中清零(S11 绿)。修复:
- 移交 3 处保留原词(shop.tres:86 display_name、curio_controller:165-166 玩家文案)
- 豁免 enemy.tres:653 历史注记保持"已落籍"
- static_scan.sh 词表追加行与头注恢复禁「」引举句式
- S11 规则文件自身不被自身规则误伤(闸门自指豁免生效)
|
2026-10-20 20:41:50 +08:00 |
|
DKChan
|
6d601d23dc
|
chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革
|
2026-10-20 00:22:18 +08:00 |
|
DKChan
|
8c82d3bf56
|
feat(迭代29 T1): 本地闸三硬闸落地——退出码/脚本错误扫描/断言数下限
①退出码为唯一权威判据:probe_gate.sh 八件探针(轻闸 4 + full 4)判定统一走 verdict 函数,
退出码≠0 即红,PASS 串降级为附加判据(ui_click_probe 本就走退出码语义,签名标记传它自己的
click_probe 串,不强加 PASS)。
②脚本错误扫描闸件 tools/error_scan.py(标记 import 自 run_smoke.py,禁第二份清单):
probe_gate 逐探针段扫日志;run_all 侧因 --script 子进程的 stdout 管道恒空(OS.execute 在本机
Godot/Windows 组合下拿不到输出,且 GUI 子系统 exe 的 stdout/stderr 句柄无效),改为整条命令
交给系统命令解释器重定向落盘再读,退出码原样回传——引擎二进制取 *_console 版(GODOT_BIN 优先)。
③断言数下限:Kit.finish 在 checks==0 时返回专用退出码 2(不是 1——致命类套件期望 1,返回 1 会被
expect 协议放过);run_all 汇总校验实跑套件数 == manifest 条目数。
④example_test.gd 退出生产 manifest(协议活样板,文件保留;同类先例 fog_lantern 摘除)。
变异验证(三反例 T0 判绿、T1 后全部判红):零断言套件 exit=2 判红/脚本错误套件命中 SCRIPT ERROR
判红/探针打印 PASS 后 quit(1) 判红「PASS 串不抵」。
本卡附带裁决落地(均已用户裁准):
· fx_grant_gp 补进行来源断言豁免表(grant_segment 的专长 GP 入账行无棋盘来源格,每局触发 7 次
断言失败却因脚本错误不改退出码长期漏过;迭代 21 同款修过 fx_reveal)。
· manifest 增 negative 字段,仅 reward_dangling_treasure 一件(坏表是其测试目标,错误扫描误伤)。
· config_db_test 的 rows 定型数组赋值改 rows.assign——原写法触发 Invalid assignment 中断整个函数,
敌人表行集三条纪律 10 条断言从未执行过(31 处 check 实跑 21 条);修复后 26 条全跑,其中两条正向
断言见红,根因是夹具缺 depth-0 锚行(validate 的 anchor 规则),补锚行后全绿。
· system_contracts_test 的 RngStub/UnitContainerStub 空桩换真实实例(定型成员赋值报 type 空)。
|
2026-10-16 15:08:13 +08:00 |
|
DKChan
|
6c2dbc37c1
|
docs: ADR 体系废除 + architecture.md 确立为架构唯一事实源(2026-10-15 用户令:决策记录归 git commit log,不另存决策文档)
- 删除 design/dev/architecture/adr-0001~0007 共 7 份文件(内容留 git 历史可查)
- architecture.md:删「ADR 审计」「ADR 立项清单」两节;清除全文 ADR-000X 注记、QQ 表/S 表 ADR 引用;未决表关闭已落定项(QQ-01/02/03),立项清单在途事项转登记 QQ-11~14;补 A1 生成姿态事实、autoload 四件清单、board_generator 性能姿态;文档状态立「事实源地位」条
- CLAUDE.md:恢复 RNG 单点硬性红线(去 ADR-0007 引用);新增「架构事实唯一源」红线;规范导航架构行标注唯一事实源
- doc-conventions:§5 增「架构事实唯一源」行;§11 活文档清单补架构文档
- registry:architecture.yaml 删 18 处 adr 字段、autoload_set 补 SaveManager/MetaProgression、board_rending 更新为 Node2D 已落地事实;entities.yaml 12 处引用清除
- game/ 代码注释约 60 处清 ADR-000X 引用(事实与日期保留);豁免标记 ADR-0007-exempt → rng-seed-exempt(main.gd/static_scan.sh/architecture.md/06/iter27 五处同步)
- GDD/qa 实现报告/research 卡片/roadmap/tests README 引用全清;死链校验 1206 链接 0 死链、gdd_lint 0 不通过
- 代码中 adr/adr5 等为 adventure_runner 既有局部变量名(非 ADR 引用),未动
|
2026-10-15 23:52:30 +08:00 |
|
DKChan
|
96fc61c701
|
feat(tree): 迭代21天赋树实装批 T1-T6 主体——12节点换代+六键接线+营地四柜台(2026-10-12 U0)
T1 schema 换代:MetaTreeTable FORK_GROUPS 4→3(fg_mastery 退役)/RULE_KEYS 2→6(sense/economy 四键扩签)/
fork 单行双态(effects_a/b+name_a/b、每组恰一校验)/row 字段退役(行门槛主语=节点等级 level_gate)/
requires 只留点亮前置(R1 裁撤案执行);meta_tree.tres 33→12 行重排(脊柱2/锻造2含彩蛋/钥石2/同调6,
att_socket1 改根节点无前置,easter_ley 摘 atk/armor_class 分量=契约9)
T2 购买与彩蛋面:tree_can_buy easter 拒购+行门槛换轴;tree_buy_fork=解锁默认A;tree_toggle_fork 零币切态;
tree_rule_keys 按激活态 effects_a/b 投影;_check_easter_egg 特化判定(两线拉满+socket全解锁);营地树行板双态钮
T3 六键接线:EVENTS+flag_missed/FACTS+battle_index(L2 扩签两处);rebuild 六键合成订阅
(posture 窗=battle_index&&round_index 双闸/sense 两组=counter 闸+记账双行 domain:adventure 限次2次 provisional);
level_runner battle_index 注入(visited battle 型计数);_judge_flag 去重闸后 flag_missed 发射(契约12);
聚=_roll_gp_drop 入账前×1.5 provisional(escrow 不乘);散=_spend_discounted ×80%(current_price/pool_price
双计价点,刷新价不折=§11②定义边界);_start_current_level 限次按关清零(_reset_tree_limited_counters 可测口)
T4 注入换代:hero_override=树淬炼flat+FORGE_ROUTE_BONUS预留0(命中不注入=契约6);Attunement.slots 判定源切
树点亮数(谓词表退役);tree_buy(ks_refresh) 同账路由 buy_attune_refresh(V15 双入口)
T5 旧档废弃与删除:save_manager tree_struct=2 结构版本标记+_normalize 白名单重建+树域废弃重置(禁迁移折算);
migrate_tree/buy_forge/forge_flat/forge_level/forge_price/meta_forge_row/forge_products 行族/
attunement_growth 表+访问器/生涯页三投影/career forge_total 全删;treasure_item_table UNLOCK_COUNTER_KEYS 内联;
verifier_batch 花费策略换代树节点;MC slots 画像常量3
T6 营地统一:四柜台并排横滚(树淬炼主界面/锻造工坊钥匙门+零交互占位面板/秘宝匣钥匙门+内容迁入/图鉴常开);
暂停层锻造段连带删;camp data forge 投影删
存量红修复:_flush_pending_reveals 三处空 source_class 补 fx_reveal+类级豁免(a57489e9 落地件,冒烟51行)
测试随批:smoke 树段全重写(V1/V2/V3/V8/V9/V16)+_smoke_tree_rules V10 行为段(窗/限次/守侧五场景编排rig/聚散
同种子对拍)+单元 tree_rules_v11_test(六键合成行闭集校验)+run_all 22 套;ui_probe/ui_click_probe 换代树点击路径
轻闸全绿:冒烟886/0+run_all 22套+probe --click 全绿
|
2026-10-12 07:54:38 +08:00 |
|
DKChan
|
c583940400
|
T4组D·断言与探针换代(敌人表行集多行批): smoke_all expect_pools断言换(L,D,enemy_id)三元键逐行精确比对[十九行九种池模板文案随F7换代];L2/L3定点行集断言改行集构成口径({敌种集}恰一行集+首行甲型);双表精确行契约断言改精确行集口径(294-311主段+3518/3555两复述段);新增混编运行面正反断言六条(注入(1,5)/(1,6)避开全部扫描面·断言后还原零污染):混编spawn受理正向+各行数量求和+生成序=文件行序+各行行值独立投影+总数守卫>4拒绝fail-fast+表还原19行复核;config_db_test新增行集纪律套五条(EnemyTable资源直构validate正反:混编相邻合法+Boss坐标混编合法P4乙+同坐标行隔断rowset_rule定位到坐标R6+同敌种第二行dup_key拦+单行数量域[1,3]不回归);skill_rhythm_probe/damage_probe取数面T2已适配本轮直跑验证(rhythm正常输出;damage 7项1失败=A1攻击链健康·stash对照实证基线既有与本批零相关·探针非闸门工具如实登记);L2记录=池模板键值换代连续3轮红(坐标敌种映射臆断错4键+3_7池值手抄错·第4轮以离线tres对账法收敛)——教训=三元键换代先离线全量对账再落码;断言数805→811净增6随批追认;轻闸=冒烟811/0三闸全过+run_all 17套全绿
|
2026-10-07 02:36:23 +08:00 |
|
DKChan
|
8690230573
|
T2组B·schema与解析换代(敌人表行集多行批——P1甲/P2甲落码): enemy_table.gd 恰一敌种校验退役改行集构成纪律②行序相邻校验(同坐标行不相邻即rowset_rule报错,类别沿用定位面不变;同敌种第二行仍dup_key拦)+UNIT_COUNT_MAX语义注释改单种数(单行域[1,3]不变,行集总数≤4归spawn守卫·骰后值加载期不可判)+floor版resolve_rowset退役(双算法销号,工作日志312);config_db_resolver.gd resolve_enemy_rowset改返回行集数组Array[Dictionary](ceil命中坐标全部行,文件序=契约序,空集=空数组;_resolve_progress加return_all参数board_gen单行通道不动);config_db.gd门面签名同步;全仓消费点机械适配取首行(T2行为零变化:spawn/orchestrator/narrator/smoke七处/config_db_test/skill_rhythm_probe/damage_probe两处;floor四调用点迁ceil坐标全精确命中零行为差);轻闸=冒烟805/0三闸全过+run_all 17套全绿——零内容期断言逐位零漂移
|
2026-10-07 02:05:30 +08:00 |
|
DKChan
|
cb52ccc8ae
|
全局作用域变异首发批 T7 断言批(迭代14③号卡):smoke_all 新段 _smoke_global_variant 29断言(互锁负样本③-⑦=resource_face⇒global/global⇒resource_face·always·any/effect_value[0,50]域;门控三维=boss池含global行·battle静默跳过·缺省双参零扰动·L1Boss免疫·elite前向位;替换制=Boss图board_variants恰一行+零region格+零取号〔_CountVariantRng取号计数桩〕;快照投影;off态逐位零扰动;守恒77;白名单三行不动;v=30构造例=15/18/9/9/3/7;合成序构造例=skew+luck_bias加法合计77+8;v=50域上界恒正;确定性两遍逐位)+rows.size断言6→7换代——冒烟718→747断言只增不减;config_db_test 通配选择器限定region行+global行第三维三断言(run_all 15套全绿恢复)
|
2026-10-04 17:52:56 +08:00 |
|
DKChan
|
315e46038c
|
T6 探针基建收口段: 三族样板收单点(probe_ui_util树寻址contains/begins_with参数化+isolate_save七份隔离样板/battle_driver五份战斗驱动)+level_autoplay双战斗循环合并_decide_act+test_kit收13套件_check样板(断言数逐套件零丢失对照表在报告)+BAD_DIR夹具共享+smoke_all五件(:953公有面clamped_pool/_battle_st七袋/check_silent并入quiet参/_pct转发删/load改preload);探针小件=main句柄Node类型注/魔法等待常量化/画布常数同源锚注/死参verbose删;红线守住=ui_input case④b与click循环体零触碰/拍板点三件未退役
|
2026-10-02 08:46:43 +08:00 |
|
DKChan
|
5f51a916d4
|
test(unit): T1 单元测试与契约层——七套件实跑入口落 tests/run_all.gd
- data_config: ConfigDB 表加载+跨表护栏零诊断/进度坐标 ceil-clamp 解析与警告去重/变异池门控/shop·meta 消费面/manifest↔目录同步/越域 fatal 退出码(独立进程 expect=1,deferred 触发保 quit 通道)/统一随机流(派生确定性/计数器账本/标签不参与派生/负种子归一化)
- battle_settlement: DamageMath 四纯函数(池乘区/克制分量/掷点查档/吃掷点分量)+DamageController 伤害单据五配方+B/A 双结账模式+来源敌死作废+requires 前置门+主角倒下 halt+AC 合流三通道+池 clamp 与 refresh 政策
- contracts: 五配方/三目标/双政策词表封闭+掷点标签∈RNG 封闭词表(EC12)+单据九栏缺省+增益布尔受理口径(EC1/EC2)
- 红线: 期望值全由表读值推导(零玩法数值字面量)/零自建 RNG(夹具种子仅求复现)
- 轻闸: 冒烟 557/0 + ui_input_probe 十一断言全绿(基线零漂移)
|
2026-09-28 02:52:19 +08:00 |
|