Files
Jyotisha/docs/tasks/PROGRESS-synastry-staging-fix-fix-20261022.md
T
jesse-uxGrok (agent loop)Cursor
413140b40c fix(synastry): 补上 issue #85 第 1 次验收打回的三处
G1 路由清单在 synastry 与 terms 之间加入 synastry/[reportId]。G2 把「同一对已经有报告时,仍打开原来那份」改成「同一对正在生成时,仍打开那份」。G3 删掉永远成立的侧栏断言,改为渲染 /synastry/<id> 并核对当前项是婚恋合盘。

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-22 01:19:45 +08:00

3.7 KiB
Raw Blame History

进度:婚恋合盘 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,内容无差。已还原,没有提交。