docs(反哺): 迭代 27/28/29 GDD 反哺点八条+一条建议逐点裁决写入(2026-10-17 用户令「全部按推荐案」)——①③④⑤architecture.md v1.8:新增「战斗域装配现状」(结算五段/RunLedger 四账)与「呈现层装配与会话生命周期」(三屏壳/装配合同立条款不摘录表/RunScope 九阶段×五引用面矩阵认账/ModalFlow tags)两节+初始化顺序补启动后置条件六条,呈现层 D1 行与实现实证读数换代;②code-conventions.md §4 第 7–12 条(S9 三规则口径/:= {} 不算债/type-hint-ignore 与 rng-seed-exempt 两豁免通道/禁裸 autoload/Variant 参数化口径);⑥⑦⑨test-conventions.md 新增 §7 判定三硬闸(含新写测试件全类型标注写法纪律)与 §8 判定可靠性优先于覆盖率(含脚本错误静默中断断言的机制事实与自证义务);⑧07 v1.4:㉖① 保留不注销、加 screen_flow_probe 机检承接注记。同步清三笔在册旧账:iter27/28/29 三份实现报告 git mv 往 reports/(06 条③迁位账清零,全库引用改指新路径、iter24/25/26 等已删报告死指针改「已退役(git 历史可考)」);iter29 报告 §六第 0 项按合并现实(fff4f120,两红各自结案 dac9a94b/fcb8c3f8+8c18b52b)改写;06 补登迭代 29 反哺专条(该批漏登)。登记时「16 层/十断言」读数按代码实态 17 项/11 条订正。非迭代批不占迭代号;active.md 改动留主区工作副本不随本批提交,等闸回执。
This commit is contained in:
1 parent
d984d47c8c
commit
abe5f180fb
10 files changed
+137
-38
No files matched your search
@@ -65,3 +65,22 @@
|
||||
- **如实标注拦截边界**——判据本身只覆盖弱面的(如「只证伪整框空白/整框糊,不证明框里是何内容」),在断言注释与报告里写明边界,并说明强判据由哪一件承担。
|
||||
|
||||
**判据强弱分层**:同一缺陷面往往需要多件配合——**可见性/状态源类**缺陷由 `is_visible_in_tree`、树序、状态源取值的**运行期断言**抓;**内容/观感类**缺陷由 **golden 逐像素比对**抓;**占比/统计类**判据(墨色占比、纹理幅度)只能兜「整框空白/整框糊/压 busy 纹理」,是补充不是主力。写卡时按此分层配齐,别指望一条断言包打。
|
||||
|
||||
## 7. 判定三硬闸——闸承载的构造义务(迭代 29 三硬闸 2026-10-17 用户裁升格为纪律)
|
||||
|
||||
任何**新增或改写的闸承载**(闸脚本/批跑编排/探针入口)必须三闸齐备;现行各闸状态登记归架构文档「测试与质量域」节(本文不另列闸件清单):
|
||||
|
||||
1. **退出码为唯一权威判据**——输出里的 PASS 串只作附加判据不作判据主体;打印 PASS 后 `quit(1)` 必须判红。
|
||||
2. **SCRIPT ERROR / Parse Error 扫描面在位**——GDScript 脚本错误不改进程退出码、不计失败数(机制事实见 §8),错误标记必须扫输出,且判据必须覆盖「跑了但半途脚本错误」态——退出码 0 但输出缺预期签名同样判红(防静默退出)。
|
||||
3. **断言数下限**——零断言的正常返回与断言失败必须区分开(现行做法:`Kit.finish` 零断言返回专用退出码 2,不与「断言失败=1」混用,否则致命类套件的期望码协议会放过空跑)。
|
||||
- 负面套件(测试目标就是产生错误输出)仅可豁免第 2 闸,且须在 manifest 显式标记,其余两闸照判。
|
||||
- 子进程输出须经系统命令解释器重定向落盘再读——`OS.execute` 的输出管道在本机恒空。
|
||||
|
||||
**新写测试件全类型标注**(2026-10-17 用户裁写法纪律)——新写的测试件(冒烟断言/探针/单测)参数、返回值、容器一律带类型标注,与 S9 对产品码的要求同型;存量不强制清扫,被批次触碰时顺带换代。暂不机器闸(S9 扫描面=产品码,smoke/tests 豁免是测量面直构惯例的既有裁量)。
|
||||
|
||||
## 8. 判定可靠性优先于覆盖率(迭代 29 核心命题 2026-10-17 用户裁成节)
|
||||
|
||||
- 「跑一遍没崩=通过」无效:测试绿只证明**当前代码没犯这个错**,不证明**犯了这个错会被抓住**;断言存在不等于断言执行。
|
||||
- **脚本错误会静默中断所在函数的剩余断言,而套件仍报全绿**(机制事实):GDScript 无脚本错误陷阱 API,错误不改进程退出码、不计失败数。三处实证:①2026-09-19「309 项 0 失败」实为断言未跑全(状态记录 83);②敌人表行集纪律 10 条断言因定型数组赋值错误从未执行(迭代 29 修复后两条正向见红=夹具本缺锚行);③`Callable` 形参类型写错致解析函数返回 null、后续断言整段蒸发。
|
||||
- 由此产生两条义务:**写闸件**按 §7 配三硬闸;**写验收函数**必须自证断言全数执行——变异验证(§6)为主证,反例实证(构造缺陷态改前判绿/改后判红)与零命中自检(扫描面为空即判红)为辅证。
|
||||
- **覆盖率不是目标**:行覆盖率度量缺失(Godot 无内建,第三方属新基建,是否引入 06 在册待裁);现行补洞=零指名单测清单+人工判定,判定可靠性靠上列自证手段,不靠覆盖率数字。
|
||||
Reference in new issue
Block a user