From ebd5ba68a29be3409f35578ca71f8d1b4d87550d Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Tue, 15 Sep 2026 02:50:56 +0000 Subject: [PATCH] docs: clear the timezone gap and record what actually keeps the gate red MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 验收 8d56d0ab:字面量锁经变异法确认(加 **.generated_by 只红这一条,恢复即 绿),生产代码零改动。timezone 那条查下来不是缺口,是验收机少装了已声明的 timezonefinder>=6.5;装上后快速门 pytest 段 740 passed / 0 failed,BLOCKED.md 该条划掉。真正让门停在 exit=1 的是 npm test 的 27 条无 Docker 失败,另记一节 并写明本机「快速门通过」的口径。 Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P --- BLOCKED.md | 17 ++++++++++++----- docs/tasks/README.md | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/BLOCKED.md b/BLOCKED.md index ddddaf60..a4c9e3f6 100644 --- a/BLOCKED.md +++ b/BLOCKED.md @@ -1,20 +1,27 @@ # BLOCKED -## 快速门 timezone 推断依赖(2026-09-15,对照 `039b0a26` / `1d2aeffa`) +## ~~快速门 timezone 推断依赖~~(2026-09-15 解除:验收机已装 `timezonefinder 9.0.0`) - **`run_quality_gate.py --profile quick` 必红一条,不是 BUG-693/694 的回归。** 验收机在 `1d2aeffa` 上 `739 passed, 1 failed`;同一条在修复前的 `039b0a26` 上同样红。 - 失败测试:`tests/test_api_server_security.py::test_shadbala_endpoint_returns_ranked_planet_strength` - warning 原文:`WARNING [api_server] shadbala advanced layer failed: timezone inference dependency unavailable` - 断言:`assert ['core_sixfold'] == ['core_sixfold', 'advanced_evidence']`(缺 `timezonefinder`,高级层没挂上)。 -- 本机口径:快速门通过 =「除这一条外全绿」。谁要宣称快速门全绿,必须先在该环境装上 `timezonefinder`(`requirements.txt` / `pyproject.toml` 已声明 `timezonefinder>=6.5`)。不得改这条断言来让门变绿。 +- **解除(2026-09-15 验收,`8d56d0ab`):这不是缺口,是验收机少装了一个已声明的依赖。** `timezonefinder>=6.5` 在 `requirements.txt:6` 与 `pyproject.toml:31` 都写着,venv 里没有。按本单让步顺序第 2 条装上 `timezonefinder 9.0.0`(附带 `numpy` / `h3` / `flatbuffers`;全仓无任何 `import numpy`,不影响既有代码),该条测试立即通过,快速门 pytest 段 **740 passed, 1 skipped, 0 failed**(装之前 739 passed / 1 failed)。断言未改。 +- 执行机(Windows / Anaconda)仍缺 `timezonefinder` 与 `mcp`,在那边跑快速门会先红在别处;以验收机数字为准。 -复现: +解除命令(缺依赖的机器照做): ```bash -python -m pytest tests/test_api_server_security.py::test_shadbala_endpoint_returns_ranked_planet_strength -python scripts/run_quality_gate.py --profile quick +.venv/bin/pip install "timezonefinder>=6.5" +.venv/bin/python -m pytest tests/test_api_server_security.py::test_shadbala_endpoint_returns_ranked_planet_strength ``` +## 快速门整体仍非绿:`npm test` 的 27 条无 Docker 失败(2026-09-15 记) + +- `run_quality_gate.py --profile quick` 的最后一步是 `npm test`。Python 段全绿之后,门仍 `exit=1`、日志尾 `== Quality gate failed ==`,卡在这里。 +- 实测 `# tests 3214 / # pass 3173 / # fail 27 / # cancelled 0 / # skipped 14`,27 条**全部**是数据库、部署、Better Auth、迁移类用例(`database roles have no cluster privileges`、`migration runner is serialized…` 等),本机无 Docker。 +- 因此本机「快速门通过」的口径是:**Python 段 0 失败,且 `npm test` 失败数 = 27(与基线逐条一致)**。不得据此宣称门全绿,也不得为了让门变绿去动这 27 条。 + ## 采集流程重设计(2026-09-10,分支 `codex/rectification-collection-redesign-20260910`) - **`next build` / 首屏 gzip 未核。** 本 worktree 的 `frontend/node_modules` 是指向主仓的软链。实测 `npm run build` 在 Next 16.3.1 Turbopack 失败:`Symlink [project]/frontend/node_modules is invalid, it points out of the filesystem root`。不得把 `/` Static 或 gzip ±2% 写成通过。 diff --git a/docs/tasks/README.md b/docs/tasks/README.md index 6cbe1d83..5533aa59 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -137,7 +137,7 @@ | `TASK-report-chart-render-20260909.md` | `PROGRESS-report-chart-render-20260909.md` | 报告页所有分盘标题下空白:引擎 22 张 `` 被 `skipHtml` 丢弃(09-06 Markdown 直渲回归)。引擎旁加 ```jyotish-chart 围栏 JSON,前端 zod 校验后用自绘北印式组件全部渲染;不放开原始 HTML | 已验收(2fdcb14f):tsc/lint 0 error、chart 测试 29/29、`/` Static、gzip +0.96%;围栏构造在 try 外的 P2 并入 `TASK-upstream-sync2-fix-20260909.md` 任务 3 | `codex/report-chart-render-20260909`(BUG-607) | | `TASK-report-chart-layout-fix-20260909.md` | `PROGRESS-report-chart-layout-fix-20260909.md` | 星盘渲染回归修复:22 张北印盘全部重叠(浮动 + 负 margin 凑两栏对连续多对无效)+ 滚动时 `components` 每渲染新建导致整篇报告卸载重建、页面卡;改 rehype 成组进既有两栏 grid、文章树 `useMemo`、目录状态下沉 | 待验收 | `87daffe2`(BUG-616/617);已 merge origin/staging `df090fd5` | | `TASK-report-provenance-binding-20260915.md` | `PROGRESS-report-provenance-binding-20260915.md` | 专业报告溯源绑定:`result_binding` 只绑到中间态包(实测 18/36 个顶层键、6.24 MB / 交付 10.04 MB),`full_report_pack`、`chart_identity`、`timing_precision_contract` 等全在覆盖外,而质量门只比自洽所以恒 passed(BUG-693);被哈希的载荷含墙钟 `ai_and_audit.summary.elapsed_seconds`,同一输入两次跑出不同 `result_hash`(BUG-694)。末尾按交付对象重绑 + 显式排除集写进回执 + 质量门补覆盖校验;上游 09-14 的有界投影实测收益 < 0.1 秒,不抄 | 已验收(`1d2aeffa`):三次 CLI + 三个 `PYTHONHASHSEED` 哈希全同、变异法验证覆盖 33/40 键、耗时中位数 2737 ms(修复前 2769 ms)、`npm test` fail 27 = 基线;快速门唯一红的 `test_shadbala_endpoint_returns_ranked_planet_strength` 在修复前同样红(timezone 依赖缺)。遗留补漏单 `TASK-report-binding-scope-lock-20260915.md` | `1d2aeffa` | -| `TASK-report-binding-scope-lock-20260915.md` | `PROGRESS-report-binding-scope-lock-20260915.md` | 验收补漏单:BUG-694 的「排除集只能三类」是纸面规矩——质量门与测试引用的是生产者同一对常量,往常量里加第四类会自动放行;把允许集的字面量钉进合同测试(改动即红)。另把 `--profile quick` 必红的 `timezone inference dependency unavailable` 记进 `BLOCKED.md`(修复前同样红,非回归)。不新增 BUG 编号,只更新 BUG-694 | 待验收 | `codex/report-binding-scope-lock-20260915` | +| `TASK-report-binding-scope-lock-20260915.md` | `PROGRESS-report-binding-scope-lock-20260915.md` | 验收补漏单:BUG-694 的「排除集只能三类」是纸面规矩——质量门与测试引用的是生产者同一对常量,往常量里加第四类会自动放行;把允许集的字面量钉进合同测试(改动即红)。另把 `--profile quick` 必红的 `timezone inference dependency unavailable` 记进 `BLOCKED.md`(修复前同样红,非回归)。不新增 BUG 编号,只更新 BUG-694 | 已验收(`8d56d0ab`):生产代码零改动;变异法验证字面量锁(加 `**.generated_by` 只红这一条,恢复即绿);timezone 那条经查是验收机少装已声明依赖,装上 `timezonefinder 9.0.0` 后快速门 pytest 段 740 passed / 0 failed,`BLOCKED.md` 该条已划掉并改记 `npm test` 27 条无 Docker 失败 | `8d56d0ab` | ### 前端基础与工程