From a07b4b589c82b79b0baa7310a58899e65118a03a Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Wed, 7 Oct 2026 23:31:10 +0800 Subject: [PATCH] docs(tasks): sync6 gate red after the quick-gate repair (run 3213) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8 --- docs/tasks/README.md | 1 + docs/tasks/TASK-sync6-gate-red-20261007.md | 51 ++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 docs/tasks/TASK-sync6-gate-red-20261007.md diff --git a/docs/tasks/README.md b/docs/tasks/README.md index 3604bd7a..9510193e 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -314,6 +314,7 @@ | `TASK-rectification-probe-supply-research-20260913.md` | — | 研究单:六题后引擎在剩余候选上再出带年月题的四种放宽规则,20 例公开 AA 数据离线量收益,有收益才立实现单 | 已合入(离线测量,不改线上) | `b063c668` | | `TASK-rectification-refresh-r3-r4-20260913.md` | `PROGRESS-rectification-refresh-r3-r4-20260913.md` | 刷新阶段 R3(MIN_BOUNDARY_DAYS 45→30)+ R4(pratyantar 与 D9/D10 上升 Narayana);首轮出题不变。即使放宽仍有 0 题例子,定向补事另线保留(BUG-664/665) | 已实现 `ab1ade59`,已部署;2026-09-13 验收通过(实现单由执行方自拟,无产品决策记录段;收益口径见研究文档) | `codex/rectification-refresh-r3-r4-20260913` | | `TASK-upstream-sync6-20261007.md` | [PROGRESS-upstream-sync6-20261007.md](PROGRESS-upstream-sync6-20261007.md) | **上游同步第六轮(`23be1807`)**:10-05 五个计算修正一行未合——D5/D6/D8/D11 映射(乔布斯盘四张分盘星座全不同)、Vimsopaka 权重、Yogini 顺序与出生余额、Panchadhikari 宫位参照、Narayana 并列、特殊上升、出生秒数、Neecha Bhanga 两条件、首段大运子运、岁差被覆盖;逐项对照原书核实;最先做 | 已验收(门禁补修 `codex/sync6-gate-fix-20261007`,部署待核) | [PROGRESS-upstream-sync6-20261007.md](PROGRESS-upstream-sync6-20261007.md) | +| `TASK-sync6-gate-red-20261007.md` | — | **sync6 后门禁仍红**:run 3213 快速门已过,「Frontend and database tests」开跑 20 秒后日志中断、15 分钟后判失败,后续步骤 failure 0 秒;疑运行机掉线;先 Re-run,红则本机带 Docker 跑 `CI=1 npm test` 对照 `0ed45a4b` | 待领取(产品本机) | — | | `TASK-rectification-tie-break-entry-fix-20260913.md` | `PROGRESS-rectification-tie-break-entry-fix-20260913.md` | 修复单:参考题入口只读 `window_scan` 标志位 → 两道答完后仍显示、再点弹「现在没有可答的参考题」;并按产品拍板改成点一次连出 D9+D10(BUG-666~668,Skill 10.0.26) | 已合入(无独立验收记录) | `99127601`(BUG-666~668 resolved;已部署 staging,run 2589) | diff --git a/docs/tasks/TASK-sync6-gate-red-20261007.md b/docs/tasks/TASK-sync6-gate-red-20261007.md new file mode 100644 index 00000000..353213db --- /dev/null +++ b/docs/tasks/TASK-sync6-gate-red-20261007.md @@ -0,0 +1,51 @@ +# TASK · sync6 合入后 staging 门禁仍红:「Frontend and database tests」中断(2026-10-07) + +- 基线:`origin/staging` @ `2df6ee72`(sync6 `fb8277bf` + Claude 门禁补修)。staging 线上仍部署 `0ed45a4b`。 +- 对照:上一次绿的门禁 run 3206(`0ed45a4b`)。 +- 分支 / worktree:`codex/sync6-gate-red-20261007` / `.worktrees/sync6-gate-red-20261007`(只有需要改代码时才建)。 +- 执行方:产品负责人本机(有 Docker)。 +- BUG 编号:开工时核对 `docs/BUG_HISTORY.md` 最大号(写作时 BUG-1270)。 + +## 1. 事实 + +| run | 提交 | 结果 | 停在哪一步 | +| --- | --- | --- | --- | +| 3211 | `fb8277bf` | failure | Python 快速门(扫描金样 D5/D11 未更新);后续步骤 **skipped** | +| 3213 | `2df6ee72` | failure | 快速门、隐私扫描、Python 打包都通过;「Frontend and database tests」15:12:39 开始、15:28:17 失败;随后 lint 与 build 标 **failure、用时 0 秒** | +| 3206 | `0ed45a4b` | success | 同一步只用 6 分半(07:12:48–07:19:15) | + +run 3213 的网页日志(`https://git.copse.top/root/Jyotisha/actions/runs/3213/jobs/6841/logs`)只到 15:12:59:测试开跑 20 秒后再没有任何输出,没有失败名单,也没有 TAP 尾部摘要。运行机都是 `xiaoxin`(runner_id 11)。 + +Claude 在 Linux 上对 `2df6ee72` 的复核(无 Docker,数据库测试被跳过): + +- Python 全量:62 条失败,与基线 `5cc8e504` 逐名相同;快速门通过;隐私扫描 0 项。 +- 前端 `npm test`:4990 项、失败 24,与基线逐名相同;`tsc` 0;lint 0 error。 +- 本轮前端改动只有测试与 fixture(scoring-11 版本字面量、跨午夜 fixture、扫描金样)以及 `engine-client.ts` 一行默认版本号。数据库迁移用正则 `scoring-(9|[1-9][0-9]+)` 接受 scoring-11,没有写死 scoring-10。 + +## 2. 三种可能(按可能性排序) + +1. **运行机中途掉线**:日志中断加上后续步骤「failure 0 秒」(正常失败是 skipped),更像 runner 失联后被 Gitea 判超时,与代码无关。 +2. **门禁上才会卡住的测试**:只在有真实 PostgreSQL 时才跑的 `database-*.test.ts`,或某条测试在 CI 环境卡住;BUG-1254 的「10 分钟无槽位易手才判失败」与这次约 15 分钟的时长对得上。 +3. **内存或磁盘耗尽**:运行机 OOM 时也会表现为日志中断。 + +## 3. 决策记录 + +产品 2026-10-07:Claude 出任务书,产品本机执行。不改 `.gitea/workflows/**`,不提升 main。 + +## 4. 步骤 + +| # | 做什么 | 判定 | +| --- | --- | --- | +| S1 | 在 Gitea 网页对 run 3213 点「重新运行」(Re-run),这不改 workflow | 绿:判为可能 1,在 BUG 记录写 `resolved`(runner 偶发),然后做 S5。红:继续 S2 | +| S2 | 本机检出 `2df6ee72`,设 `CI=1` 跑 `npm test --prefix frontend`(会把完整 TAP 写到 `frontend/gate-logs/frontend-tests.tap`),记下总耗时,看有没有哪个文件超过 5 分钟 | 有失败或超时:记下测试名和报错原文,做 S3。全绿:做 S4 | +| S3 | 同样在 `0ed45a4b` 上跑 S2,对比两边的失败名单与耗时 | 只有 `2df6ee72` 失败的才算本轮引入。按 AGENTS §5 写 BUG(报错原文、触发条件、根因),在分支上修复,写三栏,推 staging | +| S4 | 门禁机排查:让管理员看 `xiaoxin` 在 15:12–15:28(UTC)的 runner 日志、内存(OOM killer)与磁盘 | 写进 `docs/research/pre_work_error_ledger.md`(ERR 编号顺延),附证据 | +| S5 | 门禁绿后核对部署 | `https://staging.jyotisha.chat/api/health` 的 `deployment.gitCommit` = 最近一次含门禁路径改动的 staging 提交;`/login` 200;未登录 `/api/account` 401 | + +## 5. 记录 + +`docs/BUG_HISTORY.md`(新编号;若是 runner 偶发,关联 BUG-1254、BUG-266)、`docs/tasks/README.md` 状态板。日志里不要贴密钥或令牌。 + +## 6. 让步 + +S4 可以延后,S1、S5 不让步。