Commit Graph
2 Commits
Author SHA1 Message Date
DKChan 8b09b2c952 追红(远端 run 95 两条红转绿·修复车道): 红因1=判定级——能力审计 G 道「oracle 注记函数 401·红项 1」, 红项原文「game/probe/probe_coverage_recorder.gd:201 验证函数 dump_js 缺 # oracle 注记」(dump_js 体内三处 push_error( 命中 capability_audit.py:341 VERDICT_RE → 属须注记的验证函数, :386 判红); 上一批「判据出处注记 402 函数全库铺开」的跑绿读数靠主工作区一行未提交注记撑过, 未随批 commit, 故本地 strict 绿而远端干净检出必红; 本批在该文件补同一行注记(放法照仓内既有形态——函数定义行下一行顶格, 样本 camp_scene_layout_test.gd:13/:18, 指针 design/engineering/test-conventions.md:30 与主区工作稿逐字节同, cmp 已核)。红因2=非判定级但在日志里成串报红——tools 四处五 sites 用 Path.write_text(..., newline="\n"), 该关键字 Python 3.13+ 才有(本机 3.13.14 绿), Mac runner 的 python3 更老 → TypeError("write_text() got an unexpected keyword argument 'newline'") → 六层明细回执在远端一件未落盘, run 93/95 日志同报此错(挂点按设计是观测件不翻闸判, 故它不是 run 95 的失败主因, 但等于覆盖总览面板的六层明细一直是空的); 五处改 open(str(p), "w", encoding="utf-8", newline="\n") 写法(newline 形参 builtin open 自 3.0 起有, LF 纪律不丢), 覆盖面=coverage_enum.py:148/coverage_receipts.py:160/:179/extract_capability_list.py:104/extract_checks.py:588; 注: tools/t17_fanout2_rebuild.py:140 与 t5_build_templates.py:237 本来就是 open(..., newline=) 形态, 不属坏件未动。本步凭据(全部区内实跑): ①修复前在干净检出复现红——capability_audit --strict 出「401 注记·红项 1」并打出上述红项原文; ②修复后同件 exit=0「402 注记·红项 0」; ③四件 py_compile OK 且 grep 全仓 write_text(.*newline= 零残留; ④runner 语义实证——把 Path.write_text 垫片成 3.12 行为(newline 一律 TypeError)再跑 coverage_receipts.main(), 六层与 probe_manifest 全部正常落盘、无一行「[receipts] 红」, 产物字节核对 gate_probe/gate_render/gate_smoke.js 均 CRLF=0 LF=14(行尾纪律未破); ⑤run_all_gates --docs 验收通过无新增红(基线 9e81408e)。引擎层本地未跑: 区内 --premerge 被素材齐盘预检拦在冷检出态(缺 .godot/uid_cache.bin 与字体 .import 边车, 处置需从主区拷素材再 --editor --quit 刷导入), 本批五处改动零游戏行为面, 引擎全套件由主区合回时的 pre-merge-commit 前置检查跑, 全量档归合回后远端 CI 2026-11-06 23:47:28 +08:00
DKChan bb9ce8a117 批2(QA harness·B覆盖总览面板+本体枚举器): 义务层=tools/extract_capability_list.py(README能力清单四列表按旅程段解析,7段103行,用例指针剥反引号); 执行层=tools/coverage_receipts.py六源回执明细化(冒烟/单元集成/系统/探针/渲染/静态各一.js,名×结果×计数粒度,日志缺失=not_run亮灰不冒充绿)+run_all_gates.sh末尾挂点(观测件非判定件,解析失败打红字不翻闸判)+probe_manifest.js(面板file://无法列目录,按现存登记文件落清单); 机器义务双源之本体源=tools/coverage_enum.py(两扫描器+比对:.tres行集/schema词表字段/tscn按钮/gui_input自绘类/屏模态清单×extract_checks断言文料,865实体/缺口212); 呈现层=tools/coverage_report.html(四节:六层闸况/能力行×六层灯按旅程段/控件下钻交互源+渲染golden展示源/本体对账缺口×探针命中降级探针承载;状态灯四态+数据时间戳陈旧可见+完备性边界页眉;JSONP直载file://即开); 豁免=tools/coverage_exemptions.js人工维护母版; 登记件扩seen面(场景树全量BaseButton+db布局表hotspot_key公共面枚举,seen-hit=存在但零真输入覆盖缺口数据源)。读数: 两探针窄跑绿(screen_flow 19命中/116存在,ui_click 27命中/91存在——停手钮/树购买重建代等真缺口在册,弃图刷新确认链走视图方法属衔接条目余项); 六源明细化对真实闸日志抽核(unit82套件/系统69检查/探针10段/静态13条/golden逐屏L1-L3); 面板浏览器真实入口四节渲染验过; 全量档闸【验收通过】无新增红(exit=0,回执commit 07d4977f,六源明细化在闸内实跑=挂点真路径验证) 2026-11-06 03:21:10 +08:00