This website requires JavaScript.
Explore
Help
Sign In
game-group
/
gplan-2
Watch
2
Star
0
Fork
0
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
Files
1e9b21e406aa65848502e4240184e354d9f2dde0
gplan-2
/
tools
T
History
DKChan
7158366a0e
ci / gates (push)
Successful in 39s
Details
合并(闸机超时守卫修复): gate_run_timeout双缺陷(标志文件建时即真致退出码恒124+守卫孤儿sleep占管道)修复合回——区内凭据: A组函数级四路全对(4.7s/0·3.4s/124无残留·7·4.6s/0)+渲染闸全量【全绿】+--docs【验收通过】; 合回前置检查读数见pre-merge钩子; post-merge钩子推送触发远端CI
2026-11-08 01:06:07 +08:00
..
ci
测试层合并批(用户裁 2026-11-07): 「集成测试」层级退役归并单元层——tests/integration/ 三套件(存档⇄RNG 往返/节点图确定性/跨系统流×落盘)实体迁移 tests/unit/ 同闸同协议, run_all manifest 65 套全量单元; 闸名「单元与集成测试」→「单元测试」(run_all_gates/基线键/coverage_receipts 同步); 选闸词 integration 族→save_rng/cross_system/node_map 文件名词; 测试层识别换三元组(职责×触发时间点×覆盖面积, 权威表=test-conventions §1.1 测试层三元组), 层级名降为代称; 术语表退役词对照+doc_term 收「集成测试/用例/层/侧/宿主/族」, 全仓旧字样清零(gdd/规约/README/套件头注/断言标签), 跨系统面性质归属由各套件头注承载; extract_checks 缺省遍历面收 unit/**; test-conventions §8.2 验收四层「集成」改「跨宿主」; architecture 测试层级表三级换代+65 实数; domain_route/AGENTS 字样同步。凭据: 三套件单跑 exit=0; --code 域闸验收通过(冒烟/单元全量/系统/场景探针/渲染闸/静态扫描/熵增闸全绿); --docs 域闸验收通过(文档域七闸零新增红)
2026-11-07 01:59:49 +08:00
hooks
工程(合回链冲突路径修复·工具件): pre-merge-commit 红态处置改为唯一 abort 重来
2026-11-08 00:53:09 +08:00
analyze_playtest.py
工程(user目录隔离): 每个代码面 worktree 独立 Godot user 目录+系统测试 V3d 缺帧修正
2026-10-27 05:23:13 +08:00
audit_file_headers.py
工程(架构审查P1余项·闸件落地): §四待执行三项同批做完并同步文档——①static_scan.sh 的 S8 加 settlement/ 目录域反向对账(实有 .gd 未登记进清单即红,只覆盖该目录并写明根下四件结算码不在目录域内、仍归「模块归属」B1 登记面),S7 的 S7_B1_SET 与 S8_FILES 两份14文件抄本合一为单点 B1_SET(两份靠人工同步必漂),绿文案「10 个 .gd」改派生计数并申报反向对账已在案 ②audit_type_hints.py/audit_file_headers.py 各补扫描面空转自检(缺目录或零个 .gd 即红、绿时打印面件数;原实现 rglob 空集与 is_dir continue 两处静默绿,违背 test-conventions §7 零命中自检辅证与脚本前言自立纪律) ③architecture S 表 S8 行登记单点与反向对账判据、S9/S10 偏差句改判已清偿、版本1.33→1.34 ④审计报告 §4.2 待执行清单改判已落地并记验证口径。验证:static_scan 全量13条规则绿退出码0;两件负证(面清单改成不存在目录各返回1)正证(真实面158个 .gd 归零PASS)。§四 P1 四条至此全部闭合;零需求卡片(纯闸件属工程改动),待办清单与第五节P2按用户令未动
2026-11-03 20:37:31 +08:00
audit_type_hints.py
工程(架构审查P1余项·闸件落地): §四待执行三项同批做完并同步文档——①static_scan.sh 的 S8 加 settlement/ 目录域反向对账(实有 .gd 未登记进清单即红,只覆盖该目录并写明根下四件结算码不在目录域内、仍归「模块归属」B1 登记面),S7 的 S7_B1_SET 与 S8_FILES 两份14文件抄本合一为单点 B1_SET(两份靠人工同步必漂),绿文案「10 个 .gd」改派生计数并申报反向对账已在案 ②audit_type_hints.py/audit_file_headers.py 各补扫描面空转自检(缺目录或零个 .gd 即红、绿时打印面件数;原实现 rglob 空集与 is_dir continue 两处静默绿,违背 test-conventions §7 零命中自检辅证与脚本前言自立纪律) ③architecture S 表 S8 行登记单点与反向对账判据、S9/S10 偏差句改判已清偿、版本1.33→1.34 ④审计报告 §4.2 待执行清单改判已落地并记验证口径。验证:static_scan 全量13条规则绿退出码0;两件负证(面清单改成不存在目录各返回1)正证(真实面158个 .gd 归零PASS)。§四 P1 四条至此全部闭合;零需求卡片(纯闸件属工程改动),待办清单与第五节P2按用户令未动
2026-11-03 20:37:31 +08:00
balance_verifier.py
refactor(波2 目录收尾): game/smoke/ 目录退役——44 件探针三件套迁 game/probe/、30 件测量/诊断/驱动件迁 game/sim/;全仓 100+ 处 res://smoke 与 game/smoke 引用改指(闸件/产品码 tune_sim_controller/宿主 preload/根规则/README/设计文档);熵增闸 RETIRED 收编 game/smoke 防回潮;AGENTS.md Project Layout 换代;static_scan 豁免理由换新宿主;波 2 施工件预计算表全部命中(8d 预扫零红灯);全量域闸验收通过零新增红
2026-10-24 02:09:27 +08:00
capability_audit.py
合并 master(
bde6b65e
注释标记词换代批): 判据出处注记标记词 # oracle:→# 判据出处: 与本批节锚改写合流——16 测试/探针文件取本批节锚内容+master 标记词(34 处节锚形态); test-conventions §8.3 取 master 换代措辞+补锚形态两档句; capability_audit.py CRITERION_RE 双形态(行号锚+节锚零空白兼容)+头注双形态说明。凭据: 能力审计单跑 红项0(判据出处注记函数 417 全识别)
2026-11-07 09:04:19 +08:00
ci_check.sh
工程+文档(CI 现查件堵假绿): 绿须坐实跑闸步真跑过,零触发批呈报「未验」
2026-11-04 06:29:18 +08:00
clear_dominance_audit.py
refactor(波2 目录收尾): game/smoke/ 目录退役——44 件探针三件套迁 game/probe/、30 件测量/诊断/驱动件迁 game/sim/;全仓 100+ 处 res://smoke 与 game/smoke 引用改指(闸件/产品码 tune_sim_controller/宿主 preload/根规则/README/设计文档);熵增闸 RETIRED 收编 game/smoke 防回潮;AGENTS.md Project Layout 换代;static_scan 豁免理由换新宿主;波 2 施工件预计算表全部命中(8d 预扫零红灯);全量域闸验收通过零新增红
2026-10-24 02:09:27 +08:00
compendium_gen.py
iter54-卡3:精英专属池批(elite 行类与字段互锁/dangling_base/effective_pool 池继承合并/ENCOUNTER_ROW_KINDS 寻址门暂不接线/goblin_elite 落表+存量冒烟同步+图鉴导出认得精英行)——对照表 R1-R7 全绿(elite_row_test 六组/五件存量套件直跑绿/生产表 error 诊断 0),T3.8 里程碑出口 --code 六闸全绿【验收通过】
2026-11-07 03:05:12 +08:00
coverage_enum.py
iter55-卡1:QA覆盖余量收口批: 46→45真缺口断言落地(违约词负面套件/结算与cap与换算率钉/配额满/rap端到端/布局/天赋树/状态行/L3变异/reward行)+p_perfect读表接线(行为零漂移)+豁免登记(ontology 154/controls 19)+探针扩面十一组真输入+登记件开发面过滤(DebugOverlay/调试角标/inter三根, seen开发面键0)+枚举器scan_screens基类分类(绘制域件与调试浮窗出圈, 868实体/未豁免未补测=0)+cell_mark_overlay渲染通道(采集态六类型注入全入帧, 棋盘三图基线换代用户过目, 渲染闸绿);卡修轮2用户裁两处不豁免(渲染通道+开发面出圈);独立审计U1修复闭合+增量轮通过
2026-11-07 19:56:13 +08:00
coverage_exemptions.js
iter55-卡1:QA覆盖余量收口批: 46→45真缺口断言落地(违约词负面套件/结算与cap与换算率钉/配额满/rap端到端/布局/天赋树/状态行/L3变异/reward行)+p_perfect读表接线(行为零漂移)+豁免登记(ontology 154/controls 19)+探针扩面十一组真输入+登记件开发面过滤(DebugOverlay/调试角标/inter三根, seen开发面键0)+枚举器scan_screens基类分类(绘制域件与调试浮窗出圈, 868实体/未豁免未补测=0)+cell_mark_overlay渲染通道(采集态六类型注入全入帧, 棋盘三图基线换代用户过目, 渲染闸绿);卡修轮2用户裁两处不豁免(渲染通道+开发面出圈);独立审计U1修复闭合+增量轮通过
2026-11-07 19:56:13 +08:00
coverage_receipts.py
测试层合并批(用户裁 2026-11-07): 「集成测试」层级退役归并单元层——tests/integration/ 三套件(存档⇄RNG 往返/节点图确定性/跨系统流×落盘)实体迁移 tests/unit/ 同闸同协议, run_all manifest 65 套全量单元; 闸名「单元与集成测试」→「单元测试」(run_all_gates/基线键/coverage_receipts 同步); 选闸词 integration 族→save_rng/cross_system/node_map 文件名词; 测试层识别换三元组(职责×触发时间点×覆盖面积, 权威表=test-conventions §1.1 测试层三元组), 层级名降为代称; 术语表退役词对照+doc_term 收「集成测试/用例/层/侧/宿主/族」, 全仓旧字样清零(gdd/规约/README/套件头注/断言标签), 跨系统面性质归属由各套件头注承载; extract_checks 缺省遍历面收 unit/**; test-conventions §8.2 验收四层「集成」改「跨宿主」; architecture 测试层级表三级换代+65 实数; domain_route/AGENTS 字样同步。凭据: 三套件单跑 exit=0; --code 域闸验收通过(冒烟/单元全量/系统/场景探针/渲染闸/静态扫描/熵增闸全绿); --docs 域闸验收通过(文档域七闸零新增红)
2026-11-07 01:59:49 +08:00
coverage_report.html
批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
doc_link_audit.py
文档(art-bible 成文整备·§5–§9 与闸件收口): §5–§9 行内日期/版本/批名注记全清(结论内联、证据归 git 提交史)+三档验收标注补齐+§6.5 记忆态长条拆分+§6.2/§7.5 营地双写消解(§7.5 改指路)+定值单点纪律白名单改口径+§8.2 删主角战斗状态图 48×72 过期行(站桩立绘唯一 owner=源档表)+中文标点全角归一(代码/数值语境保护)+样张 v2 散路径删留「原件已丢失」;退役词清零(插旗→封印/背包旗、敌人卡→敌种呈现形态、不得→禁止——清日期后由留档类转疑似现行暴露);版本 v3.21;gdd_lint 收编 design/art(R3/R4/R6 执法,R1/R5/R7/R8/R9/R11 体裁豁免)+doc_link_audit 扫描域加 design/art
2026-10-28 23:46:17 +08:00
doc_link_known.txt
修复: 总收口批——账面与交付物(doc_link_known 登记数据配置 v0.4 历史行死链=卡①删件连带/06 存量欠账登记〔gdd_lint 3+熵增 diagrams+奇物双死链+拔旗术语旗,T0 基点复测确认非本迭代新增〕/台账 405/快照前置/stage.txt 换代 Iteration 19 Closed/实机目检总清单+代拍板追认单交付)
2026-10-08 19:40:27 +08:00
doc_ref_audit.py
chore(引用可核闸建档注册): 08d 入文档域闸序+三处 game/ 纯文字欠账清净
2026-10-21 15:53:52 +08:00
doc_term_audit.py
测试层合并批(用户裁 2026-11-07): 「集成测试」层级退役归并单元层——tests/integration/ 三套件(存档⇄RNG 往返/节点图确定性/跨系统流×落盘)实体迁移 tests/unit/ 同闸同协议, run_all manifest 65 套全量单元; 闸名「单元与集成测试」→「单元测试」(run_all_gates/基线键/coverage_receipts 同步); 选闸词 integration 族→save_rng/cross_system/node_map 文件名词; 测试层识别换三元组(职责×触发时间点×覆盖面积, 权威表=test-conventions §1.1 测试层三元组), 层级名降为代称; 术语表退役词对照+doc_term 收「集成测试/用例/层/侧/宿主/族」, 全仓旧字样清零(gdd/规约/README/套件头注/断言标签), 跨系统面性质归属由各套件头注承载; extract_checks 缺省遍历面收 unit/**; test-conventions §8.2 验收四层「集成」改「跨宿主」; architecture 测试层级表三级换代+65 实数; domain_route/AGENTS 字样同步。凭据: 三套件单跑 exit=0; --code 域闸验收通过(冒烟/单元全量/系统/场景探针/渲染闸/静态扫描/熵增闸全绿); --docs 域闸验收通过(文档域七闸零新增红)
2026-11-07 01:59:49 +08:00
error_scan.py
feat(迭代29 T1): 本地闸三硬闸落地——退出码/脚本错误扫描/断言数下限
2026-10-16 15:08:13 +08:00
extract_capability_list.py
追红(远端 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
extract_checks.py
测试层合并批(用户裁 2026-11-07): 「集成测试」层级退役归并单元层——tests/integration/ 三套件(存档⇄RNG 往返/节点图确定性/跨系统流×落盘)实体迁移 tests/unit/ 同闸同协议, run_all manifest 65 套全量单元; 闸名「单元与集成测试」→「单元测试」(run_all_gates/基线键/coverage_receipts 同步); 选闸词 integration 族→save_rng/cross_system/node_map 文件名词; 测试层识别换三元组(职责×触发时间点×覆盖面积, 权威表=test-conventions §1.1 测试层三元组), 层级名降为代称; 术语表退役词对照+doc_term 收「集成测试/用例/层/侧/宿主/族」, 全仓旧字样清零(gdd/规约/README/套件头注/断言标签), 跨系统面性质归属由各套件头注承载; extract_checks 缺省遍历面收 unit/**; test-conventions §8.2 验收四层「集成」改「跨宿主」; architecture 测试层级表三级换代+65 实数; domain_route/AGENTS 字样同步。凭据: 三套件单跑 exit=0; --code 域闸验收通过(冒烟/单元全量/系统/场景探针/渲染闸/静态扫描/熵增闸全绿); --docs 域闸验收通过(文档域七闸零新增红)
2026-11-07 01:59:49 +08:00
gate_platform.sh
工程(闸机超时守卫修复): gate_run_timeout 双缺陷修——①标志文件mktemp建时即真致退出码恒124(判据[-f]恒真,正常完成/真失败/真超时三态不可分)②守卫子壳被杀留孤儿sleep攥输出管道至满档(golden重采集白等7分钟症状)——修法:标志文件改先赋路径+rm-f垫底+真超时才落(probe_gate run_suite同款),守卫改0.2秒步进轮询盯停止文件(SECONDS截止线,命令先完父流程放停止文件守卫自见自退,机制上无孤儿可留,不依赖pkill/pgrep——Git Bash实测两件均缺位在案); gate_kill_tree头注补Windows缺pgrep退化注记(只杀顶格,调用方段末kill_orphans兜底); 退出码合同恢复(正常=命令真实退出码,超时=124); 三类调用方回归核对(render_gate5处/probe_gate2处/golden刷新3处)无分支翻转
2026-11-08 01:05:16 +08:00
gdd_lint.py
文档(art-bible 成文整备·§5–§9 与闸件收口): §5–§9 行内日期/版本/批名注记全清(结论内联、证据归 git 提交史)+三档验收标注补齐+§6.5 记忆态长条拆分+§6.2/§7.5 营地双写消解(§7.5 改指路)+定值单点纪律白名单改口径+§8.2 删主角战斗状态图 48×72 过期行(站桩立绘唯一 owner=源档表)+中文标点全角归一(代码/数值语境保护)+样张 v2 散路径删留「原件已丢失」;退役词清零(插旗→封印/背包旗、敌人卡→敌种呈现形态、不得→禁止——清日期后由留档类转疑似现行暴露);版本 v3.21;gdd_lint 收编 design/art(R3/R4/R6 执法,R1/R5/R7/R8/R9/R11 体裁豁免)+doc_link_audit 扫描域加 design/art
2026-10-28 23:46:17 +08:00
gdstyle_baseline.txt
iter54-卡2:营地交互修复批(开局隐藏点收一处 _start_adventure+确认弹窗按钮位次镜像确认→次→取消+营地顶栏可见栏体 camp_hud_band_surface 单参出口 CAMP_HUD_BAND×0.80)——对照表 R1-R8 全绿(探针 R1/R2/R4 落点断言/confirm_dialog_test 七断言/系统测试 R5 五钉 76 检查 0 失败/R6 WCAG 4.29:1),S13 ui_kit 基线 23→24 随卡预申报修订
2026-11-07 03:05:11 +08:00
gdstyle_gate.py
收尾(迭代51批后收尾): 反哺点十条落文 architecture.md(RoundCycle/BattleRefreshFlow束注入换代/settlement段类束注入对编排器零引用与四helper归位/damage·RewardGrant·BattleFxHost·breakpoint_store·save_manager·slot_store公开面换代/minesweeper_rules归位两法与超阈值还债在册/charge_layers退役两处闭面四键; 第十一条落点不存在跳过在案); S13无凭证基线键经用户裁撤销(gdstyle红在案=预期单键,还债归P0)+gdstyle_gate --refresh重生成入口删除(基线维护改人工修订,--refresh传参exit=2)+gdstyle.toml与基线头注同步; 待办清单: minesweeper_rules公开面还债P0+EffectEngine死函数与全仓孤儿函数清退P0两条登记/presentation卡未编迭代迁出承接条目/iter51三条目(L1混编·架构审查余项·EffectPort删键)完成整条删除/两条P0实况引用改写; roadmap迭代51行已完成(2026-11-04)+当前位换代; 产出物退役三件(反哺点+实现报告+验收审计——吸收即死+证据只留最新,目检义务⑱在册承载,引用面已改写); 验证: gdstyle单键红=预期,--refresh exit=2,--docs全绿
2026-11-04 06:49:01 +08:00
gdstyle.toml
收尾(迭代51批后收尾): 反哺点十条落文 architecture.md(RoundCycle/BattleRefreshFlow束注入换代/settlement段类束注入对编排器零引用与四helper归位/damage·RewardGrant·BattleFxHost·breakpoint_store·save_manager·slot_store公开面换代/minesweeper_rules归位两法与超阈值还债在册/charge_layers退役两处闭面四键; 第十一条落点不存在跳过在案); S13无凭证基线键经用户裁撤销(gdstyle红在案=预期单键,还债归P0)+gdstyle_gate --refresh重生成入口删除(基线维护改人工修订,--refresh传参exit=2)+gdstyle.toml与基线头注同步; 待办清单: minesweeper_rules公开面还债P0+EffectEngine死函数与全仓孤儿函数清退P0两条登记/presentation卡未编迭代迁出承接条目/iter51三条目(L1混编·架构审查余项·EffectPort删键)完成整条删除/两条P0实况引用改写; roadmap迭代51行已完成(2026-11-04)+当前位换代; 产出物退役三件(反哺点+实现报告+验收审计——吸收即死+证据只留最新,目检义务⑱在册承载,引用面已改写); 验证: gdstyle单键红=预期,--refresh exit=2,--docs全绿
2026-11-04 06:49:01 +08:00
gen_palette_baseline.py
工程(工程清理批·用户令): 六件直改合批——①palette_check基线建档+双门②机检化: golden/palette_baseline两PNG(token92色∪素材快照1274色=并集1346色)+gen_palette_baseline.py建档刷新件+闸脚本05b色板闸(code域,quick/影响面SKIP)+头注基线纪律, 门①语义检查与48计数上限不承载(口径归art-bible owner,呈报); ②extract_checks补check_quiet静默通道: CALL_RE/DEF_RE扩双通道+collect_call按匹配长偏移+quiet列记channel:check_quiet, 自证三重(双计等式2155==2155/新旧对拍1719→2133=+414入账/往返--diff PASS零差异), test-conventions§5.2局限备案句随批换代; ③样张S1b四色墨×PANEL_DATA垫牌≥4.5:1色值对表断言(读数4.97–5.62与审计复算逐位一致, 样张31/31全绿; V10基线对拍图artwork环境件--save-baseline重建); ④main.gd死preload清理10条(登记8条复核多出2条, 7具名消费面已迁main_ui_build拆件自持, 逐条grep复核零代码使用), presentation 17套件全绿+冒烟15项0失败兜底; ⑤注释换代: ui_kit TEX_HERO_PORTRAIT「48px档」→原稿分辨率+显示档读PORTRAIT_DISPLAY_H, path_check头注删日期批注记; ⑥CAMP_HEADER_BAND退役评估: 4处消费面核过(关卡屏2/商店1/KeystoneBadge工厂1), 退役删除不成立, 处置=改名中性化归ui_kit令牌批顺带(零值变化); ⑦run_all_gates 02传参核查=d32ff342已完成漏删零改动; 待办清单7条目整条删除(状态机出口), pipeline_gate PASS(33条目/49总表行); 产出物=reports/工程改动报告-工程清理批-2026-11-02.md
2026-11-02 06:29:27 +08:00
gen_theme_icons.py
chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革
2026-10-20 00:22:18 +08:00
glow_discrimination_sheet.py
美术圣经去数值化批(用户裁 2026-11-07 两准则: 有落点补指针/无落点建脚本承载): art-bible v3.43→v3.44 全文定值剥离——头注定值单点纪律(数量面唯一事实源=执行件, 例外=WCAG 标准引用名与数据索引)+§8 头注两张表制退役+§4.1 主色板全 hex 清零(语义岗句+ui_kit 指针)+§4.2 五组微光/呈现参数/禁入带+§2 能量档改八拍序(数字退役)+世界底层两子带区间数值迁执行件+§3.2 封印/高墙 px 群+§6.1/6.2 舞台与营地坐标群+§6.5 迷雾定值群+§7.2/7.4/7.6 UI token/字号/控件态+§8.1/8.2/8.4 档位与帧数+换色合并沿革压缩归 git 史+六对欠账迁出; 执行件三件落地——glow_discrimination_sheet 增机检 E 门(世界底层两子带: 背景侧上沿+结构间隔, 地板侧归 tile_palette 归一化目标 0.10 渲染面, --no-sheet 全绿 exit=0)+新套件 animation_frame_spec_test(帧数档 4/6/2 规格表落码+现役单帧形制锚定, 经 UiKit.load_tex 装载链)+新套件 palette_token_pairwise_test(ui_kit Color 常量面两两互查, 存量 36 对在册豁免账含〔欠账〕四对, 账外零新增); run_all manifest 65→86 全量单元位次不变+能力清单帧数行入册+互查套件挂主题行; oracle 锚注记换代六件(seal/type_glow/standee/theme_projection/terrain/ui_contrast_probe——定值面=本测试措辞); art-pipeline-tools 升格执行件门值登记面(14 行定值落点索引)+边界句换代; 下游复写换代七件(术语表/08-Alpha/camp/battle/character-design/两清单); 待办清单去数值化条目推进文档设计已闭合+欠账条目新立。凭据: 圣经 hex 字面量 0+七触碰套件单跑 all green(exit=0)+熵增闸 PASS(--docs 内)+流水线闸 PASS(34 条目)+能力审计红 0(110 行·86 套·链断 0)+doc_term 零命中(销账/随批/收口/若干四词自清扫)+--docs 域闸【验收通过】exit=0
2026-11-07 04:31:39 +08:00
godot_user_dir.py
工程(user目录隔离): 每个代码面 worktree 独立 Godot user 目录+系统测试 V3d 缺帧修正
2026-10-27 05:23:13 +08:00
golden_baseline_refresh.sh
iter53-卡1:卷轴视口批: 关卡画面视口化(level-map.md 布局决策5落地)——视口承载件/锚点跟随/平滑滚动减动效/拖拽滚轮平移与clamp/指引件/探针26断言/golden两Shot冻结
2026-11-06 00:08:18 +08:00
golden_board_crop.py
chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革
2026-10-20 00:22:18 +08:00
golden_compare.py
工程(ci远端化·阶段三): golden基线按平台各存——四张现行基线(棋盘三图+menu_boot)迁入windows/子目录, mac/待Mac端重制后入库; golden_compare.py按sys.platform自动拼平台子目录(缺本平台基线=fail-closed显式红并给重制指引, 禁静默绿); render_gate基线断言路径与golden_baseline_refresh写入落点全改平台子目录; gate_platform.sh新增gate_platform_id; 依据=用户裁跨平台逐像素必失配(字形/抗锯齿机制差异), 平台内部严格度不降
2026-11-03 03:09:27 +08:00
hook_gdd_lint.py
chore: initial commit
2026-09-14 18:18:49 +08:00
layout_config.py
iter48-卡3:卡③(战斗区背景替换批,含审计补差V6源码锚): ground_h单源回填100+schema地面校验拆辅助+背景三关变体层(TEX_STAGE_BG_FMT+set_board_type选图单点,空串归dungeon,缺图回退链)+连续地面层(TEX_STAGE_GROUND底贴B区底高读表)+两处接板同步守卫行+四柱光柱层与BEAM_LIGHT/STAGE_BG退役(菜单_beams_rect不动)+两对比锚改读SLOT_BACKDROP(阈值不变)+stage_background_test 20checks全绿(V1–V6含审计补差两源码锚断言)+layout_probe追加断言两档PASS+ui_contrast 36测点绿
2026-11-02 01:58:24 +08:00
log_analysis.py
docs(流程文档迁出GDD批): 待办清单与体验验证清单移到仓库根并去掉编号前缀
2026-10-21 00:09:40 +08:00
palette_check.py
iter52-卡4:迭代52卡④(封印印记法阵化): 着色器参数化绘制换代(环带+十字+环外光圈,半径夹cell_px/2,ui_kit六常量含SEAL_HALO_FRAC补注入源)+seal_mark_layer子件+CellUnit seal_on/fog联动+棋盘侧贴图路径三处退役(seal_mark.png只余战末蜡封)+board_shot_probe封印取证(三关环径0.826全落±1px,英雄格中心非黑); 含产出物三份/审计报告/master归并两笔/收尾笔; 验收档中; 验收审计总判定通过
2026-11-05 03:04:21 +08:00
path_check.py
工程(工程清理批·用户令): 六件直改合批——①palette_check基线建档+双门②机检化: golden/palette_baseline两PNG(token92色∪素材快照1274色=并集1346色)+gen_palette_baseline.py建档刷新件+闸脚本05b色板闸(code域,quick/影响面SKIP)+头注基线纪律, 门①语义检查与48计数上限不承载(口径归art-bible owner,呈报); ②extract_checks补check_quiet静默通道: CALL_RE/DEF_RE扩双通道+collect_call按匹配长偏移+quiet列记channel:check_quiet, 自证三重(双计等式2155==2155/新旧对拍1719→2133=+414入账/往返--diff PASS零差异), test-conventions§5.2局限备案句随批换代; ③样张S1b四色墨×PANEL_DATA垫牌≥4.5:1色值对表断言(读数4.97–5.62与审计复算逐位一致, 样张31/31全绿; V10基线对拍图artwork环境件--save-baseline重建); ④main.gd死preload清理10条(登记8条复核多出2条, 7具名消费面已迁main_ui_build拆件自持, 逐条grep复核零代码使用), presentation 17套件全绿+冒烟15项0失败兜底; ⑤注释换代: ui_kit TEX_HERO_PORTRAIT「48px档」→原稿分辨率+显示档读PORTRAIT_DISPLAY_H, path_check头注删日期批注记; ⑥CAMP_HEADER_BAND退役评估: 4处消费面核过(关卡屏2/商店1/KeystoneBadge工厂1), 退役删除不成立, 处置=改名中性化归ui_kit令牌批顺带(零值变化); ⑦run_all_gates 02传参核查=d32ff342已完成漏删零改动; 待办清单7条目整条删除(状态机出口), pipeline_gate PASS(33条目/49总表行); 产出物=reports/工程改动报告-工程清理批-2026-11-02.md
2026-11-02 06:29:27 +08:00
pipeline_gate.py
并master(fix-ci-red-20261106批+精英专属池批): README能力行冲突并集(master营地五窗真输入化行+本批3行); 待办「卡片复核报告文件口径」条目删除——其不一致由本批复核凭据换代全数解掉(闸C6/doc-conventions/两技能件已对齐复核记录节即凭据); 读数: 流水线闸PASS(33条目·卡片口径4张全过)
2026-11-07 00:11:40 +08:00
pixelize_candidates.py
iter48-卡2:卡②(立绘显示档批): 九件素材原稿分辨率入包(紧裁零降采样,STANDEE_SRC_H九键+产物计数自证)+standee_motion显示档PORTRAIT_DISPLAY_H九键钉值(_place_portrait按档算倍率,缺键push_error按1×)+portrait_probe扩display_size/display_scale+闸件standee_asset_check换口径(源高==原稿表值/显示宽≤150酋长157例外逐字)+样张站桩段按显示档取数(A4解冻重校88×92,V10并排30/30)+V13–V18全绿(50checks)+三面对照图
2026-11-02 01:58:23 +08:00
probe_gate.sh
iter53-卡1:卷轴视口批: 关卡画面视口化(level-map.md 布局决策5落地)——视口承载件/锚点跟随/平滑滚动减动效/拖拽滚轮平移与clamp/指引件/探针26断言/golden两Shot冻结
2026-11-06 00:08:18 +08:00
quantize_ui_skin.py
chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革
2026-10-20 00:22:18 +08:00
recolor_terrain_tiles.py
docs(active残留): active.md 废除补刀——10-18 五张待执行卡摘「唯一例外=active.md」假指令15处+baseline.json 08b 死记录再删+recolor_terrain_tiles.py 头注出处注记摘除
2026-10-20 00:39:26 +08:00
render_gate.sh
iter53-卡1:卷轴视口批: 关卡画面视口化(level-map.md 布局决策5落地)——视口承载件/锚点跟随/平滑滚动减动效/拖拽滚轮平移与clamp/指引件/探针26断言/golden两Shot冻结
2026-11-06 00:08:18 +08:00
render_level_map_sheet.py
docs(research/退役批): design/research 全目录退役落地——中间文档唯一暂存地收敛为 reports/(用户 2026-10-20 令「design/ 只放持久化设计文档,过程件一律出 design/」的执行补完,2026-10-21 会话复述确认)
2026-10-21 15:27:16 +08:00
render_sample_sheet_v3.py
工程(工程清理批·用户令): 六件直改合批——①palette_check基线建档+双门②机检化: golden/palette_baseline两PNG(token92色∪素材快照1274色=并集1346色)+gen_palette_baseline.py建档刷新件+闸脚本05b色板闸(code域,quick/影响面SKIP)+头注基线纪律, 门①语义检查与48计数上限不承载(口径归art-bible owner,呈报); ②extract_checks补check_quiet静默通道: CALL_RE/DEF_RE扩双通道+collect_call按匹配长偏移+quiet列记channel:check_quiet, 自证三重(双计等式2155==2155/新旧对拍1719→2133=+414入账/往返--diff PASS零差异), test-conventions§5.2局限备案句随批换代; ③样张S1b四色墨×PANEL_DATA垫牌≥4.5:1色值对表断言(读数4.97–5.62与审计复算逐位一致, 样张31/31全绿; V10基线对拍图artwork环境件--save-baseline重建); ④main.gd死preload清理10条(登记8条复核多出2条, 7具名消费面已迁main_ui_build拆件自持, 逐条grep复核零代码使用), presentation 17套件全绿+冒烟15项0失败兜底; ⑤注释换代: ui_kit TEX_HERO_PORTRAIT「48px档」→原稿分辨率+显示档读PORTRAIT_DISPLAY_H, path_check头注删日期批注记; ⑥CAMP_HEADER_BAND退役评估: 4处消费面核过(关卡屏2/商店1/KeystoneBadge工厂1), 退役删除不成立, 处置=改名中性化归ui_kit令牌批顺带(零值变化); ⑦run_all_gates 02传参核查=d32ff342已完成漏删零改动; 待办清单7条目整条删除(状态机出口), pipeline_gate PASS(33条目/49总表行); 产出物=reports/工程改动报告-工程清理批-2026-11-02.md
2026-11-02 06:29:27 +08:00
render_sample_sheet.py
补提交(布局几何单点化批·代码面+工具面+architecture行·跨会话遗留): battle_layout.tres 新表单行五字段(stage_h/info_panel_w/ap_bar_h/log_band_h_dig/log_band_h_settle)经 schema battle_layout_table.gd+域容器 config_domain_presentation.gd 收进 ConfigDb.presentation(ConfigDB 三容器→四容器,manifest 增 battle_layout 键,B区高度裁决 2026-10-30 用户裁=取代码标准 stage_h);views 五件构造签名增 layout 参(BattleStageView/HeroInfoPanelView/BoardZoneView/ApBarView/BattleLogView 常量高度改表值驱动)+ui_assembler 装配传 layout+probes 两件改址+main.gd 结算带注释去数值;tools/layout_config.py 新件+render_sample_sheet 两版读布局表现算(样张工具面);文档面: architecture.md ConfigDB 行换代(四容器成员 7/7/5/1、类变量 10)+HUD框架.md 三区表/装板不等式/调参表去数值化改指布局表+数据配置.md+interaction-patterns.md 明细带句去数值(battle.md 区表与待办清单登记面已随
1cdef6ba
在库);消费漏网 L1 就地补改九处(构造签名换型与 iter45 断点件收编的测试改址漏网,判据零变化): theme_projection_test:386/player_copy_sweep_test:44,98/adventure_feats_test:772/standee_fx_sweep_test:75/feat_vouchers_test:292 六处补 layout 实参,adventure_feats_test:791/level_shop_economy_test:1480/feat_vouchers_test:81 三处断点成员直读改经 a._bp_store(iter45卡②六成员搬移漏网,02 闸合回后首全量暴露);load_tables 超函数长键清偿(容器装配块抽 _assign_loaded 私有协函数——表行按域收进四容器+resolver 注入单一职责,与 _cross_validate 委托先例同型,S13 新增红修至基线口径内);窄验: 四件修复套件单跑全绿+gdstyle 基线外新违规 0
2026-10-31 05:05:08 +08:00
repo_structure_audit.py
结构搬移批(用户裁 2026-11-07): design/gdd/ux 上提为 design/ux——三目录同级(gdd/系统概念·ux/呈现实现规格·art/美术), git mv 八件 ux spec; 出向链接改写 23 链(../systems/→../gdd/systems/ ×17、../../art/→../art/ ×5、体验验证清单 ×1), 入向改写 systems 六件 15 链+art 两件 4 链+08-Alpha 九链, game 侧 20 件 71 行 oracle 注引与头注改路径(纯注释,diff 非注释行=0), reports 两件 14 处锚路径同步(需求卡片-营地交互修复批 13 处+评估-美术资产清单 1 处); 声明面: 02-系统清单 ux 节头注同级化+AGENTS.md 导航行两支改三支+doc-conventions 数值纪律句+test-conventions 先例句+待办清单两处; 熵增闸白名单: RETIRED 摘 design/ux+DESIGN_SUBDIRS 增 ux。凭据: 全仓 gdd/ux 零残留+熵增闸直跑 PASS(design 子目录五支含 ux)+--docs 域闸【验收通过】exit=0 无新增红+触碰八单元套件单跑 all green(8 suites, filtered, exit=0)
2026-11-07 04:12:49 +08:00
reshape_cards.py
工程(一卡一提交上岸套件): reshape_cards 重塑工具+合回闸数卡三判据+回执 tree 对齐+批末顺序加重塑步(process-conventions §1.2+iter 技能同语)——守卫实测拦 iter40 十八笔未归卡出重塑指令;工具孤立验证两卡+收尾全路径通过;条目完成即删
2026-10-28 04:00:15 +08:00
run_all_gates.sh
测试层合并批(用户裁 2026-11-07): 「集成测试」层级退役归并单元层——tests/integration/ 三套件(存档⇄RNG 往返/节点图确定性/跨系统流×落盘)实体迁移 tests/unit/ 同闸同协议, run_all manifest 65 套全量单元; 闸名「单元与集成测试」→「单元测试」(run_all_gates/基线键/coverage_receipts 同步); 选闸词 integration 族→save_rng/cross_system/node_map 文件名词; 测试层识别换三元组(职责×触发时间点×覆盖面积, 权威表=test-conventions §1.1 测试层三元组), 层级名降为代称; 术语表退役词对照+doc_term 收「集成测试/用例/层/侧/宿主/族」, 全仓旧字样清零(gdd/规约/README/套件头注/断言标签), 跨系统面性质归属由各套件头注承载; extract_checks 缺省遍历面收 unit/**; test-conventions §8.2 验收四层「集成」改「跨宿主」; architecture 测试层级表三级换代+65 实数; domain_route/AGENTS 字样同步。凭据: 三套件单跑 exit=0; --code 域闸验收通过(冒烟/单元全量/系统/场景探针/渲染闸/静态扫描/熵增闸全绿); --docs 域闸验收通过(文档域七闸零新增红)
2026-11-07 01:59:49 +08:00
run_smoke.py
工程(ci远端化·阶段二): 闸脚本跨平台化——新增tools/gate_platform.sh单点封装(平台探测/路径形式/纯bash带超时执行/孤儿清杀/进程计数,双平台双栖); run_all_gates cygpath×2换封装+PY解析加存在性守卫(修非Windows误选幽灵venv路径); probe_gate/render_gate/golden_baseline_refresh的cygpath/taskkill/PowerShell/tasklist/裸timeout全部收编封装,Windows侧原逻辑保留走平台分支; run_smoke/run_system_test DEFAULT_GODOT改GODOT_BIN环境变量优先; gdstyle_gate DEFAULT_BIN平台化(macOS=/usr/local/bin/gdstyle,自举件装v0.4.0 darwin包); 依据=第七轮容器实测断点清单+runner迁移Mac host模式裁决
2026-11-03 03:07:10 +08:00
run_system_test.py
工程(ci远端化·阶段二): 闸脚本跨平台化——新增tools/gate_platform.sh单点封装(平台探测/路径形式/纯bash带超时执行/孤儿清杀/进程计数,双平台双栖); run_all_gates cygpath×2换封装+PY解析加存在性守卫(修非Windows误选幽灵venv路径); probe_gate/render_gate/golden_baseline_refresh的cygpath/taskkill/PowerShell/tasklist/裸timeout全部收编封装,Windows侧原逻辑保留走平台分支; run_smoke/run_system_test DEFAULT_GODOT改GODOT_BIN环境变量优先; gdstyle_gate DEFAULT_BIN平台化(macOS=/usr/local/bin/gdstyle,自举件装v0.4.0 darwin包); 依据=第七轮容器实测断点清单+runner迁移Mac host模式裁决
2026-11-03 03:07:10 +08:00
setup_worktree_userdir.sh
工程(ci远端化·阶段一): 素材回git(2026-11-03用户裁推翻2026-09-29裁定)——256件运行时美术+导入边车入库, .gitignore撤game/assets/art拦阻块加.import例外; 闸脚本执行位+100755(tools/*.sh+game/tests/*.sh, Linux/macOS直启所需); 依据=仓库自包含原则, 修复新克隆缺素材闸预检必红的根因
2026-11-03 03:01:05 +08:00
shot_checker.py
工程+文档(B7色数治理·用户令): 色板整屏总闸三件落地——art-bible v3.36 §4.1色板分层增第三层「整屏有效色数总闸」(裁判面=成片出现的颜色数,上限128待定现用,构成推导源32x2+48+16,超限先合并禁加色,测量口径归闸件不载圣经)+shot_checker判据(有效色数=面积≥0.25%成片颜色,锯齿/字缘/阴影环/渐变中间带不判断·2026-11-02用户裁降噪口径;地板40整屏口径不变;上限128)+待办条目「正常屏唯一色数收敛」完成整条删除(双轨口径/上限/落点三点用户裁决闭合,现役七屏有效24~74全绿无治理面,吸收即死); 阈值扫描四档实测定0.25%(1-4Kpx中间带=阴影环渐变居所整带滤净,0.5%+连icon级token色都漏); 闸烟测camp eff=24与扫描一致
2026-11-02 04:27:27 +08:00
skill_rhythm_audit.py
docs(流程文档迁出GDD批): 待办清单与体验验证清单移到仓库根并去掉编号前缀
2026-10-21 00:09:40 +08:00
standee_asset_check.py
iter48-卡2:卡②(立绘显示档批): 九件素材原稿分辨率入包(紧裁零降采样,STANDEE_SRC_H九键+产物计数自证)+standee_motion显示档PORTRAIT_DISPLAY_H九键钉值(_place_portrait按档算倍率,缺键push_error按1×)+portrait_probe扩display_size/display_scale+闸件standee_asset_check换口径(源高==原稿表值/显示宽≤150酋长157例外逐字)+样张站桩段按显示档取数(A4解冻重校88×92,V10并排30/30)+V13–V18全绿(50checks)+三面对照图
2026-11-02 01:58:23 +08:00
sync_worktree_assets.sh
工程(ci远端化·阶段一): 素材回git(2026-11-03用户裁推翻2026-09-29裁定)——256件运行时美术+导入边车入库, .gitignore撤game/assets/art拦阻块加.import例外; 闸脚本执行位+100755(tools/*.sh+game/tests/*.sh, Linux/macOS直启所需); 依据=仓库自包含原则, 修复新克隆缺素材闸预检必红的根因
2026-11-03 03:01:05 +08:00
t3_lever_scan.py
refactor(波2 目录收尾): game/smoke/ 目录退役——44 件探针三件套迁 game/probe/、30 件测量/诊断/驱动件迁 game/sim/;全仓 100+ 处 res://smoke 与 game/smoke 引用改指(闸件/产品码 tune_sim_controller/宿主 preload/根规则/README/设计文档);熵增闸 RETIRED 收编 game/smoke 防回潮;AGENTS.md Project Layout 换代;static_scan 豁免理由换新宿主;波 2 施工件预计算表全部命中(8d 预扫零红灯);全量域闸验收通过零新增红
2026-10-24 02:09:27 +08:00
t5_build_templates.py
chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革
2026-10-20 00:22:18 +08:00
t17_fanout2_rebuild.py
chore(禁写变更记录批): 版本历史节/日期批注全面废除——gdd_lint R4 反转禁设+三工具去豁免+48 文档删节+game/README 流水段删+代码注释 900 余行轨迹标签清偿(约束句保留)+规约/skills 五层指令面同批改指 git 沿革
2026-10-20 00:22:18 +08:00
verify_comment_only_change.py
chore(代码卫生): 头注存量清偿批——82 文件按两类白名单改写为 ## 文档注释载体
2026-10-16 23:28:07 +08:00
指标口径说明.md
refactor: production 解散+docs 并入 design+tests 归 game 三层收敛——active.md/roadmap/stage/review-mode 升根目录;qa 报告→design/qa(gate-checks/alpha 验收/任务书→research);docs/→design/dev+registry 并档+散提案→research;tests/→game/tests(空架子 README+示例,真测试在 game/smoke);game/tools→tools+样例输出→sim-data;qa-data→sim-data;design/ux→gdd/ux;删 loop-dashboard.html(可再生成)+route_overlay_preview(零引用);钩子三件+loop_dashboard/balance_verifier/render_sample_sheet 路径随迁;断链修复 12 文件,余 7 条全为搬前幽灵链
2026-09-27 04:56:27 +08:00