G1 路由清单在 synastry 与 terms 之间加入 synastry/[reportId]。G2 把「同一对已经有报告时,仍打开原来那份」改成「同一对正在生成时,仍打开那份」。G3 删掉永远成立的侧栏断言,改为渲染 /synastry/<id> 并核对当前项是婚恋合盘。 Co-Authored-By: Grok (agent loop) Co-authored-by: Cursor <cursoragent@cursor.com>
3.7 KiB
3.7 KiB
进度:婚恋合盘 T7~T11 第 1 次打回(issue #85)
- 修复单:
docs/tasks/TASK-synastry-staging-fix-fix-20261022.md - 被验提交:
57ee79cc5 - 分支:
codex/synastry-staging-fix-20261021 - 工作树:
.worktrees/synastry-staging-fix-20261021 - 开工:
git fetch origin --prune后git merge origin/staging(不 rebase)。无冲突。合入提交2579fa14e,只带进任务书和验收清单。 - 没有新 BUG 号。没有改数据库、
.gitea、引擎。没有 push。
做了什么
- G1:
tests/test_api_server_security.py的路由表在synastry和terms之间加入synastry/[reportId],旁边写了三栏。 - G2:
CHANGELOG.md的 BUG-1407 和PROGRESS-synastry-staging-fix-20261021.md的 T10,把「同一对已经有报告时,仍打开原来那份」改成「同一对正在生成时,仍打开那份」。其余句子没动。 - G3:删掉
frontend/tests/synastry-report-surface.test.ts里永远成立的assert.equal("/synastry/abc".startsWith("/synastry/"), true)。改为按现有侧栏渲染写法(SidebarProvider+AppSidebar)渲染侧栏,pathname为/synastry/abc,当前项data-active="true"是「婚恋合盘」,「我的报告」不是。合盘开关按外壳传入打开,否则这一项不会画出来。
断言三栏
| 位置 | 原值 | 新值 | 原因 |
|---|---|---|---|
tests/test_api_server_security.py 路由表 |
synastry 后面直接是 terms |
加入 synastry/[reportId] |
issue #85 T7 合盘报告独立地址 |
frontend/tests/synastry-report-surface.test.ts 侧栏当前项 |
assert.equal("/synastry/abc".startsWith("/synastry/"), true) |
pathname 为 /synastry/abc 时渲染侧栏,data-active="true" 的是「婚恋合盘」,「我的报告」不是 |
原断言永远成立,没有渲染侧栏 |
命令与数字
| 检查 | 结果 |
|---|---|
| 快速门 | 退出码 0。pytest 1099 条:通过 1097,失败 0,错误 0,跳过 2。G1 test_capability_audit_scans_registry_and_local_sources 通过。失败名单空。跳过的两条不是失败:test_dig_bala_jupiter_synthetic_north_china_case_needs_better_than_house_only_linear_model、test_slice_glyphs_cover_their_table_characters |
tsc --noEmit -p . |
退出码 0,0 错 |
npm run lint |
退出码 0。0 error,122 warning,与上一轮进度记录的基线相同 |
synastry-report-surface.test.ts |
退出码 0。2 通过,0 失败,0 cancelled |
工作树没有 .venv,解释器用 .worktrees/agent-loop/.venv/Scripts/python.exe。
tools/agent-loop/windows-known-failures.txt 列的是前端 test:db 的 13 条,不是这次 pytest。这次 pytest 没有失败,没有多出来的名字。
偏离
- 快速门加了
--skip-frontend-runtime。quick默认还会跑前端全量npm test、lint 和next build。修复单写明全量测试和 build 由验收方复跑,本轮不跑。Python 编译、审计和 pytest 目标与--profile quick相同。 - 第一次快速门退出码 1,发生在 pytest 之前:控制台编码是 GBK,
scripts/validate_bphs_invariants.py打印符号时UnicodeEncodeError。没有改这个脚本。重跑设置PYTHONUTF8=1后,上面的退出码 0 才是结果。 - 为了在门禁只印一行时仍能数 pytest,设置了
PYTEST_ADDOPTS把 junit 写到gate-logs/(已被忽略,未提交)。 docs/tasks/README.md里这份修复单的进度改指PROGRESS-synastry-staging-fix-fix-20261022.md,状态从待领取改为待验收。修复单「不用改的」那一节没有动。- 快速门把 5 个
references/oracle/artifacts/pending_packets/*.json改成了 CRLF,内容无差。已还原,没有提交。