Files
Jyotisha/docs/testing/rectification-cross-midnight-20260920.md
T
jesse-uxandClaude Code aa46da1016 fix(rectification): use candidate dates for cross-midnight dasha scoring
Add date-isolated caches and regression coverage, align scoring identity, and freeze full research reruns while preserving historical artifacts. Record unresolved cache/receipt identity and end-to-end acceptance gaps for branch review only.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-20 13:56:11 +08:00

2.6 KiB

跨午夜修复 · 部署与受控环境验收(2026-09-20)

本清单不是通过证明。执行记录见 ../tasks/PROGRESS-rectification-cross-midnight-20260920.md。不使用或索取真实用户出生资料,不借用账号或读取密钥。

发布身份

  • Gitea 本轮含门禁路径提交的质量门成功;镜像 digest 与 deploy-staging 运行绑定同一提交。
  • staging /api/healthdeployment.gitCommitapiGitCommit 等于该提交;如 head 后续仅纯文档,执行 docs-only-range 检查。
  • /login 正常、匿名 /api/account 返回 401;在授权的内部健康检查中 swisseph_available=true。不得发布 API 内网端口。
  • 由授权运维只读核实 RECTIFICATION_ENGINE_VERSION 没有锁定修复前算法身份;不得输出环境文件。环境覆盖可能绕过默认串并使客户端版本探测优先使用旧身份。
  • 版本接口与新评分响应实际算法标记均为 rectification-v5-matrix-scoring-8,成功回执同源;不把仅 started 回执新版当作成功结果新版。

历史与缓存(受控测试账号、明确虚构数据)

  • 打开既有校正会话:仍按其绑定 Skill 包身份运行,旧回执不被重新标成新版,不出现 skill_identity_mismatch
  • 使用已有旧算法分数缓存的测试会话再次计算同一输入:分别覆盖 minute 与 block_scan。minute 在版本探测成功且无旧环境覆盖时不得把旧缓存当新版;block_scan 当前仍仅检查证据指纹,未做身份失效,属于已确认未通过项,不能勾选通过
  • 分别检查成功回执原始来源与聚合展示,不能只看 started 的新版标记;现有 SQL max(engine_version) 可能覆盖成功阶段的旧版本,不得把聚合标签当作已重新计算的证据。
  • 创建新测试会话并完成评分:started 与 succeeded 回执均有实际版本,最终展示可区分新旧结果;不改变历史数据或 SQL。
  • 跨午夜申报窗口与 late-night 时段不被缩小或改映射;结果只作为候选参考,确认门仍关闭。

本机已知缺口的补验

  • 在具备 mcp 等既有项目依赖的 Python 环境运行 scripts/run_quality_gate.py --profile quick;不得修改历史冻结哈希/弱化断言来求通过。
  • 使用完整依赖与有效 symlink 的前端环境运行 tsc、lint、相关及全量测试、build;首页 / 保持 Static,首屏 gzip 与本轮基线相比在 ±2%。
  • 若测试环境无 DB/浏览器/受控登录态,分别记为缺口;测试替身证明路由与身份传递,不替代线上数据库和真人开会话验收。