依据 main 826899ed(10-13 起没有新合并;发布 tag rel-20261014 10-14 打在它上面)· 11 张未关闭 issue + 2 个草稿 PR(#533 #534,10-12 起没动)· 发布机 43 10-08 → 10-14 七晚实跑证据(nightly.log / gate.md / publish.md / notify.log / lane 日志)· 测试机 44 的补跑会话(10-13 晚起、补跑 826899ed)· GitHub 的 sub-issue 与 blocked_by 关系图。与 10-13 版相比:#531 关票;#515 在 10-14 一天内走完前四步,43 自 10-14 晚起只跟 rel-* tag 发布(M2 过);10-13 晚 G5 如预告转黄;10-14 晚 #531 第二步首晚判「无缺口」按设计不发;根分区 10-14 晚回收 103 个目录后回到 517 G。
11 张开票里没有一张还在写代码。双机分工的关键路径 #515 在 10-14 一天内走完:44 补跑当前 main 完整跑 → 打 rel-20261014 → 43 切到 tag 通道 → 当晚 M2 过;剩一周内一次 M3 回滚演练。从现在起合进 main 不再自动上发布机,每个要上线的改动都得先过 44 完整跑再打 tag(最短:合并日 + 1 晚)。方案 D 仍等 #482 / #485 一场 grilling,其余五张压在后面。#516 可选 spike 已有一对同 sha 的批可用。10-13、10-14 两晚都黄灯自动发布:G5 如预告转黄,#531 第二步首晚判无不发卡片。
10-13 → 10-15 这两天发生的:#531 关票(10-13 10:09 CST 往运维小群发了一张渲染测试卡片,维护者目视确认 @ 到了 DMS 管理员,两条实测验收按实际改写后勾上);#515 前四项一天做完——44 从 10-13 22:04Z 起补跑 826899ed 完整跑(685 min,红灯唯一原因是 G5 新族、按发布线同族裁定人裁覆盖后黄灯发布,labpub 切换 1765 源锚 12/12)→ 10-14 打注解 tag rel-20261014 → 10-14 18:00 CST 43 配置写入 NIGHTLY_TRACK_REF=refs/tags/rel-*、白天手跑 update.sh 核到 describe=rel-20261014 → 10-14 晚 43 第一次按 tag 跑:黄灯、exit 0、541 min、切换 1763、锚 12/12(M2 ✓);10-13 晚 G5 转黄(10 族均未越线);10-14 晚 #531 第二步首晚查到失败表 0、不发;根分区 10-13 晚 −21 G(489 → 468,G13 ⚠)、10-14 晚 GC 回收 103 个 30 天未用目录后 517 G(G13 ✅);库体积 +16.8 / +38.7 G,后者约 21 G 是 44 补跑写的。
「实现状态」一列是对照代码与实跑核出来的,不是抄票面。筛选按「下一步由谁推动」分。
| 票 | 类别 | 实现状态(核出来的) | 下一步 | 推动者 |
|---|---|---|---|---|
| #515首个 rel-* tag 与 43 切 tag | 收尾 · 剩 M3 演练 | 票面六项,10-14 一天走完前四项:① 44 补跑 826899ed 完整跑(会话 20261013_220421_test,10-13 22:04Z 起、685 min;红灯唯一原因是 G5 新族 ci-config-incomplete(8)——44 的基线还是 10-09 那次、早于 #530——按发布线 10-13 对同族的裁定人裁覆盖,黄灯、labpub 切换 1765 源、锚 12/12);② 注解 tag rel-20261014 → 826899ed,是 origin/main 祖先;③ 43 配置写入 NIGHTLY_ROLE=release + NIGHTLY_TRACK_REF=refs/tags/rel-*(10-14 18:00 CST,持 nightly 锁白天手跑 update.sh:describe=rel-20261014、rc=0);④ 10-14 晚 M2 过:版本行 track=refs/tags/rel-* … describe=rel-20261014,黄、exit 0、541 min、切换 1763、锚 12/12,非 pass 行是前夜的子集;已启动卡正文含版本行(sha256 对得上),卡片的「发布机」标签没有直接核、有旁证。 | 第 5 项 M3 演练(一周内):合入一个改到 analyzer / hook 源码的版本 → 44 --full 过 → 打 tag → 43 当晚首次真正重建 jar(核 hook 段未被误改、validate --with-analyzer 过)→ 次日推 rel-YYYYMMDD.1 指回旧 sha → 43 当晚回到旧版本。第 6 项后备(T2 未合并时用)用不上。 | 人 选驱动版本、打 tag、推回滚 tag · agent 跑 44、核两晚 |
| #516跨线对拍 labpub_* vs fat_* | 已解锁 spike | 前置齐了,而且多了一对同 sha 的批:44 补跑会话的 labpub 批与 43 10-13 晚的 fat 批都是 826899ed——先拿来校准「同版本的差异应只剩噪声(采集时刻不同)」;AC 要求的「解释一次已知版本差异」等 M3 演练那对(新旧 analyzer)。P3 可选。 | 一个只读会话出 line_diff.py 原型 + 报告贴 #505;行集比较可与 #488 共用 | agent |
| #482方案 D D1:复用单位与批次语义 | 等 grilling | 未开工。方案 D 五张 grilling 票的根(D3 D5 D6 D7 都 blocked by 它),没有代码可写,要的是一场决策对谈:跳过 = 指针不动还是复制新批;静态行与时变行要不要拆 source_id。D2 的实测与 #530 的信号都已到位(变化率、真实键、五个归属 partial 族),再等没有新信息。 | 排一场 grilling,裁定写进票 | 人 |
| #485方案 D D4:缓存键与失效 | 等 grilling | 只等 #483(已关),已解锁。grilling 的输入现成:缓存键至少是「镜像摘要 + 工具链 + 组件划分 + 源码 commit」(D2 实测),其中后两项时变;顺带裁 ADR-0034「工具链身份不入库」要不要修订。 | 可与 #482 同一场 grilling | 人 |
| #484方案 D D3:时变部分刷新机制 | 阻塞 | 等 #482(#483 已满足)。grilling。 | — | 人(grilling) |
| #486方案 D D5:与 N10 / N11 合并还是分开 | 阻塞 | 等 #482。N10(写入侧指纹)与 N11(僵尸源 reaper)至今未做,去向由这张票定。 | — | 人(grilling) |
| #487方案 D D6:下游口径联动 | 阻塞 | 等 #482。涉及 DWS 视图 extracted_at / image 语义、G4–G6 分母、验收模板 §4、expect_switch 下限。 | — | 人(grilling) |
| #488方案 D D7:等价性对拍原型 | 阻塞 | 等 #482、#485。离线只读原型;#483 §4 第 5 条(golden set 分族偏宽)归这里。 | — | agent(解锁后) |
| #489方案 D D8:ADR 定稿与实现票 | 阻塞 | 等 D1–D7。#483 关票时把「ADR 回填」交给了这里(调研 §1–§3 已按 ADR「时变部分」一节的形态写好);编号定稿时重核(现最大 0053)。实现票将是 tag 通道第一次承载功能变更。 | — | agent 起草 · 人 Accept |
| #481方案 D 决策地图 | 地图 | 8 张子票:1 完成并关闭(D2)、2 等 grilling(D1、D4)、5 阻塞。预期收益不变:code lane 约 8 h → 20–60 min,整晚约 9 h → 约 4 h;存储 100 天 495 GB → 76 GB。 | 随 #489 收口 | — |
| #505双机分工决策记录 | 父票 | 代码票 7/7、文档票 #513、运维票 #514 均已关;里程碑 M1 ✓(10-12)、M4 ✓(控制台四区,管理员已在界面看到)、M2 ✓(10-14 晚 43 跑 rel-20261014,证据在 #515);剩 M3 回滚演练(#515 第 5 项)与可选的 #516。 | M3 过 → 关 #515 → 定 #516 做不做 → 关父票 | — |
| #531dms 无授权 → 飞书通知 | 已关 10-13 | 两步(PR #532 / #539)上线。验收按实际改写:第一步「落地后不再发」由 10-12 晚「判无 → 不发」印证;第二步通道与 @ 由 10-13 10:09 CST 发往运维小群的渲染测试卡片验证(维护者目视确认 @ 到了 DMS 管理员)。之后两晚:10-13 晚(旧 nightly.sh)判无不发;10-14 晚第二步首晚判无不发(decision=none、没有通知状态文件——下一次真实缺口会按「新出现」发到小群)。 | — | — |
| #51444 测试机搭建与首跑 | 已关 10-12 | M1 达成、票面 18 项全勾;44 转 publish.mode: auto、install_timers.sh --install 只装 check + rotate。执行中发现的发布脚本缺口转成 #535。 | — | — |
| #483方案 D D2:时变清单与变化率 | 已关 10-12 | 三项调研完成;四缺陷由 PR #530 修复并合并;关票评论给后续子票列了可直接用的信号(五个归属 partial 族、有界重试等)。 | — | — |
| #535发布脚本首次发布缺口 | 已关 10-12 当天开当天修 | publish_run.sh 第 1 步在发布区未建时读不存在的 <serving>.batch_status 退 3(#514 在 44 首发时撞上,手工建库绕过)。PR #536:回滚映射挪进可单测的 rollback_map.py,发布区未建时只写表头并注明「首次发布」。 | — | — |
| #537四张 code_* 表缺控制台中文描述 | 已关 10-12 当天开当天修 | main 上 test_every_table_and_view_has_chinese_description 红(code_methods / code_di_edges / code_aop_edges / code_fe_imports)。PR #538 补齐,守卫转绿。 | — | — |
| #480dms 两实例无授权 | 已关 10-08 | 外部授权 09-28 落地。10-08 起又出现两台新实例同样形态(48 表),10-12 靠人推动授权解决;之后由 #531 的卡片自动点名。 | — | — |
| #385ECS 首批数据复验 | 已关 10-08 | AC 7/7;云上 10 集群 nodes 授权已落地。 | — | — |
| #527连接池闲置不检活 | 已关 10-08 | PR #528 上线后生产六次命中。 | — | — |
| #504MCP 接入 AI 网关 | 已关 10-08 | AC1–AC5 完成;入站限制归网络侧运维待办。 | — | — |
| #513双机分工 ADR + runbook | 已关 10-08 | PR #529 合并:ADR-0053、dual-host-plan v3.2、runbook §6.10(#515 的切换就是按它做的)。它在方案文档里的一处写法让 main 上 analyzer pin 守卫误报,PR #534(草稿)待合并。 | — | — |
| #471服务端脱敏残余面 | 已关 10-08 不做 | 用户裁定整票不做;数字已贴票,残余以 ADR-0048 §5 留痕。 | — | — |
| #345BOOT-INF/lib 坐标反解 spike | 已关 10-08 | NO-GO 结论以 PR #433 正文为准,PR 未合并关闭、分支保留。 | — | — |
按「做成了什么」分,而不是按标签分。进度条按子票数算:绿 = 已合并关闭,蓝 = 可开工,琥珀 = 等人,灰 = 阻塞。
rel-YYYYMMDD → 43 每晚自动跑最新 tag,卡片自证版本。10-14 起已是现实。rel-20261014 → 43 配置两行 + 白天 update.sh 核切换 → 当晚第一次按 tag 跑、M2 过。43 从此只取最新合规的 rel-*。--full(约 11.5 h,等 43 发布完 22:00Z 起、次日 09:30Z 前后出灯)→ 打 tag → 43 当晚 13:00Z 跑 ⇒ 合并日 + 1 晚。44 每次完整跑给库加约 21 G。泳道互不碰文件,可同时开。第二、三波的入口条件写在每张卡底部。
--full(等 43 发布完再起,约 11.5 h)→ 打 rel-YYYYMMDD → 43 当晚首次重建 jar → 次日推 .1 回滚 tag → 43 当晚回到旧版本。两晚各核一次版本行与 jar 编译 / 回写记录。人定版本、打 tag · agent 跑、核validate --with-analyzer。agentrel-*,合进 main 不再自动上线;每个要上线的改动都要经 44 完整跑 + 打 tag,最短「合并日 + 1 晚」。两张图都来自 GitHub 的 blocked_by 关系(10-15 复核),与票面一致。方向从左到右:左边的要先完成。
10-13 版的六件里,「#531 验收改写与关票」「#515 的 tag sha」已办(10-13 关票;10-14 在 826899ed 打 rel-20261014 并切换);下面是现在还开着的,每件都写了默认建议。
都是实跑里看出来的,不在任何 open issue 里((a) 已有草稿 PR,(f) 已开票修掉)。
row_count_deltas。只描述不改判据。待评审合并,再随 tag 上线。lane A outcome missing(同一个镜像;10-13 / 10-14 的 G8 仍是 error 1),不影响灯色但每晚刷一条 ERROR。小票或并进 (a)。rollback_map.py,发布区未建时只写表头并注明「首次发布」。10-12 当天开票当天合并。43 发布机 10-08 → 10-14:除 10-12 晚(PR #530 首晚,G5 新族 ci-config-incomplete(8) 按预告判红、次晨人工放行)外都黄灯、exit 0、自动发布、锚全中。10-13 晚 G5 转黄(新族已入基线);10-14 晚是 43 跟 rel-20261014 的第一晚(版本行 describe=rel-20261014),与前夜同 sha、非 pass 行是前夜子集。dms 10-12 起失败表 0。根分区 10-13 晚 −21 G 到 468(G13 ⚠),10-14 晚 GC 回收 103 个 30 天未用目录后 517 G(G13 ✅)。库体积 10-14 晚 +38.7 G,其中约 21 G 是 44 补跑完整跑写的。
发布区投影 GB(G13 口径:pg_database_size + 4.9 GB 本晚新增)
| 晚 | 灯 | 总用时 | 切换源 | 库投影 GB | 较上一晚 | 根分区余量 G(S0) | dms | 版本 |
|---|---|---|---|---|---|---|---|---|
| 10-08 | yellow | 8h25m | 1759 | 473 | +18.5 | 536 | partial 48 表无授权 | 7c7a85c4 |
| 10-09 | yellow | 8h26m | 1762 | 505 | +32.2 | 512 | partial | 7c7a85c4 |
| 10-10 | yellow | 8h37m | 1760 | 540 | +35.6 | 484 | partial | 7c7a85c4 |
| 10-11 | yellow | 8h51m | 1762 | 565 | +24.4 | 458 → GC 后 517 | partial | 9cfc6c29 |
| 10-12 | red → yellow 人裁 G5 | 8h38m + 补发 41m | 1760 | 585 | +20.1 | 509 → 488 | ✅ 0 失败 | 65888aa4 |
| 10-13 | yellow | 9h02m | 1763 | 602 | +16.8 | 489 → 468 | ✅ 0 失败 | 826899ed main |
| 10-14 | yellow | 9h01m | 1763 | 640 | +38.7 | 469 → GC 后 517 | ✅ 0 失败 | rel-20261014 = 826899ed |
code 每晚 1736–1740 个归档:10-14 为 1491 ok / 248 partial / 0 failed / 1 image-not-found(共 1740);partial 10 族两晚相同,只有两族计数变动(30 → 31、60 → 57)。code lane 两晚都是 7h59m(#530 前 7h22m ~ 7h47m),dms lane 3h19m → 3h01m;整晚 542 / 541 min 是七晚最长。发布拷贝 32 / 31 min。G8 每晚仍恰 1 行 ERROR(code)。库体积:10-13 晚 +16.8(44 无写入,是干净读数);10-14 晚 +38.7——44 从 10-13 22:04Z 起补跑完整跑,10-14 09:29Z 44 出灯时库已 617.7(比前夜 43 的 596.8 多 20.9),之后 44 还发布了 labpub;另有两小时 +2.3 GB 那类非跑批增量(见未开票 (i))。
gh issue list / view 取 11 张开票与 10-08 以来 12 张关票的正文、评论、勾选框(#515 的四条执行评论、#531 的结案评论);gh pr list 核 10-13 起无合并、#533 / #534 仍是草稿;git ls-remote --tags 核 rel-20261014 是注解 tag、指向 826899ed;blocked_by 关系沿用 10-08 的 GraphQL 结果并逐票复核。826899ed 自 10-13 07:54 CST 起没动;nightly.sh 第二步 DMS 块(状态文件路径、送达后才记状态)按仓库源码核对。