Files
Jyotisha/docs/testing/three-fixes-integration-20260925.md
T
jesse-uxandClaude Code 4d801e53c3
Independent Staging Quality Gate / validate (push) Successful in 16m28s
Independent Staging Quality Gate / publish (push) Successful in 3m33s
fix: integrate people archive, report reader and western chart corrections
Validate on Linux Node 22 and PostgreSQL 17: 3894 frontend tests and 64 database tests pass, with no removed test names or new failures. Preserve static Home, bounded gzip, assertion-change records and manual acceptance gaps.

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-25 20:41:16 +08:00

84 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 三份修复单整合验收 · 2026-09-25
这是整合版本的验收入口,不替代各单清单。所有项目初始均为未验证;自动化通过不等于受控账号真机通过。
## final-r4b 已核实自动化结果
- [x] Linux Node22.23.2 全量3894/3894,真实PostgreSQL17标准DB64/64;两套fail/skip/cancel/todo均0,各exit0。
- [x] 顶层与含嵌套名称多重集合对账:相对基线无删除、新增失败0。
- [x] tsc/lint/build各exit0;lint0error/127既有warning,首页`○ Static`。
- [x] 三种gzip口径在±2%内:完整首屏+0.1612%、入口增量−0.4536%、首页专属JS−0.7984%。
- [x] final-r4b Python六文件49通过;与基线同参数CI quick 948通过/1跳过;隐私测试70通过、public/commercial扫描各3311文件0finding;五个exit均0。
- [x] 独立审计全部既有断言三栏;Home状态/ref不增长,API主文件不改,旧面板保留,依赖/workflow不改。最新文档隐私扫描另见交付补记。
quick参数为`--profile quick --skip-yoga-logic --skip-frontend-runtime`;前端另跑上述Linux全量,不把该命令写成未跳过任何阶段。
完整数字、原始日志、快照SHA256与r2/r4失败历史见整合PROGRESS的final-r4b节。以下真人与部署项目仍未验证,不能勾选为通过。
## 自动化证据矩阵
最终数字、日志路径、基线/最终 SHA 记入 `docs/tasks/PROGRESS-three-fixes-integration-20260925.md`。
| 项目 | 必须证明的事实 | 证据类型 |
| --- | --- | --- |
| 全量回归 | Node 22 + Linux,失败逐项及原因与开工基线对比,新增失败 0;测试名称无无故消失、总数不下降 | 基线与最终完整日志及比较产物 |
| 类型与 lint | tsc 0 错,lint 0 error,不顺带清 warning | 同环境命令日志 |
| 构建 | 完整 next build,首页 `/` 为 Static,gzip 相比同环境基线 ±2% | 构建日志、资产测量明细 |
| 报告错人 | worker 真正传入引擎的是目标人物;不夹带户主校正范围;删除目标后失败且退点 | worker 成功/失败真实路径注入 fake engine |
| 本人历史 | 自托管真实 Postgres 下 `subject=self` 包含 null/self,不混入其他人物;is.null/true/false 正确编译 | 标准 test:db 实跑 |
| 迁移纠偏 | 不可信旧 accepted/confirmed 降级,active 字段清空;本人不变、幂等、旧部署兼容 | 真实迁移回放测试 |
| 人物状态 | 本地同步预读但未绑定前不发错人请求;账户切换与列表失败不串人;相同人物重绑不清消息 | 生命周期回归及受控真机 |
| 今日星语 | 当前人物的完整度、时区和资料指纹决定可用性与缓存 | 定向回归 |
| 删除/合盘/星历 | 用量未知不得删除;合盘对话绑定本人;暖进不重算、失败可重试 | 定向回归与真机 |
| 年运 | 真实引擎两侧一致不误判冲突;至少两年 Varshesha/Muntha 有值且变化 | 真实引擎重算 golden 与 Python/前端测试 |
| 投影 | 保留 Bhava Bala 标题及十二宫表,报告泄漏清单仍空;不改聊天导出规则 | golden 投影及导出回归 |
| 西洋盘 | 固定种子扫描 ≥50 盘、含 ASC/MC 标签碰撞率 ≤1%;实际宽度下命中区 ≥44px | 布局扫描及真实浏览器几何核验 |
| 断言对账 | 所有改动的既有断言均列原值/新值/原因,补前轮遗漏;不借修复削弱不相关测试 | 各单 PROGRESS 三栏 + 最终 diff 逐项审查 |
| Python | 相关定向与 quick 真跑,API 主文件不增长、算法口径不变 | 命令日志与 diff |
## 受控账号真人验收
只使用产品负责人明确提供的受控测试账号,录入明确虚构资料。不得借用现有浏览器登录态或读取他人凭据;截图/日志分享前去除账号信息与资料细节。
### 人物档案(优先)
- [ ] 本人和另一个人物使用明显不同的虚构生日、地点;给另一个人物生成报告,打开后核对属于目标人物,而不是本人。失败不重复扣点。
- [ ] 报告已扣点且仍排队时删除目标人物,核查实际删除接口后的余额与账本:不生成本人报告、未交付任务的费用退还且不重复退款;不能仅模拟 worker 查询人物为空。
- [ ] 本人的既有校正候选范围仍传入报告生成;给他人生成时不夹带本人的范围。
- [ ] 报告请求只传 `subjectId`、只传 `chartProfileId`、两者相同都能按正确人物受理;两者冲突返回 400,不放宽其它未知字段的严格校验。
- [ ] 默认本人侧栏的存量对话可见;切换到另一人物只显示该人物的对话。
- [ ] 从人物列表点击「和 TA 对话」,新对话标题旁直接是 TA;在慢网下不先发本人的请求。次级页标准「新建」旧 `?new=1` 入口也绑定当前人物,而不只检查 `?newChat=1`。
- [ ] A 人物正在加载下一页历史时切到 B,随后 A 请求晚返回,B 的历史与分页游标不被覆盖。
- [ ] 次级页切人物、目录/历史仍在请求时返回 Home,不误跳登录;账户正常但人物目录接口 503 时显示可恢复失败,不冒充未登录、不自动改用本人。
- [ ] 在他人的对话中刷新,消息仍在、人物仍正确;深链打开分页之外的旧会话,人物列表晚返回不会清空消息。
- [ ] 星盘、星历、报告页整页进入时不会先显示本人的内容再换人。
- [ ] 添加、改名、删除人物后,顶栏列表及时更新,已删除人物不再可选。
- [ ] 删除前显示服务端实际数量;模拟用量接口失败时不得显示假 0,且不可确认删除。
- [ ] 本人无精确分钟而另一人物资料完整时,后者今日星语可用;修改后者资料后不沿用旧指纹卡片。
- [ ] 「和我合盘」的新对话绑定本人、问题明确写对方,不把“我”解释成对方。
- [ ] 星历暖返回无多余重复计算;首次请求失败后有可执行的重试。
- [ ] 编辑表单标题是编辑而非添加;达到人数上限后无法增加第六个人。
### 报告读者版
- [ ] 新生成的虚构资料报告中,年运章至少两年的 Varshesha 与 Muntha 有值且不同;真正冲突明确呈现,缺资料不编造。
- [ ] 「Bhava Bala 十二宫力量」标题和完整表格保留,后续表格归属正确。
- [ ] 五要素不显示内部原始键;姓名缺失时不显示「姓名:-」。
- [ ] 聊天导出的正常英文内容保留;报告中仍无内部账本/泄漏词。
### 西洋盘
- [ ] 375px 与桌面宽度下,ASC/MC 与行星标签不遮挡,字号可读;临近上升的密集盘也检查。
- [ ] 每颗行星均能独立点中;逐一点击符号、数字、度数符号、逆行标记,透明点击圈不得吞掉相邻行星任何可见字符的点击。核查真实浏览器 `getExtentOfChar()` 字符中心,不以点击圈中心测试代替。
- [ ] 标签扫描包含宫号之间以及宫号与其它标签的碰撞,不能排除宫号后报告零重叠;径向避让不改变引擎宫头与宫位。
- [ ] Tab 顺序、Enter/Space 选择与焦点可见性正确;文字覆盖层不增加重复焦点或重复无障碍标签。
- [ ] 相位线常显未退化,选择行星后的主要相位表正确;骨架仍无文字。
## 若获得 staging 推送授权后的部署核验
- [ ] 推送前最终版本已完成 Linux 全量对照,新增失败为 0,所有变更断言有三栏。
- [ ] 核对 Gitea 远端 staging SHA,不用 GitHub 镜像或本地提交替代。
- [ ] Gitea 该 SHA 的门禁、迁移与部署有成功证据。
- [ ] 公共 health 的 `deployment.gitCommit` 对上最新含门禁路径变更的提交;`/login` 正常、匿名 `/api/account` 为 401;内部 health 与 swisseph 按部署口径核验。
- [ ] 不提升 main、不发布生产。权限不足或缺登录态的检查写为环境缺口,不写通过。