Files
Jyotisha/docs/tasks/PROGRESS-report-full-data-edition-20261007.md
T
jesse-uxandJesse_Chen 98c98aa535 feat(report): replace the reader edition with the full-data report
Generate the full-data edition (pl9_personal_long_report.v4) and remove the reader edition. English still contains Han, so the API withholds it (BUG-1272, investigating). This commit is not pushed to staging.
2026-10-08 22:29:31 +08:00

9.5 KiB
Raw Blame History

进度 · 个人报告改为完整数据版(2026-10-08)

  • 分支:codex/report-full-data-edition-20261007
  • 基线:c04786f7(origin/staging 在开工时的尖端;sync6 已在 2df6ee72 部署,其后的文档提交不改变已部署代码)
  • 状态:代码在本分支,未推 staging,未上线
  • 产品结论:新报告是中文完整数据版。阅读版不再生成。英文这轮不交付(BUG-1272,未解决)。旧报告仍按保存的正文打开。

用户能看到什么

项 结果
生成 「生成报告」只请求 edition: full_data。没有阅读版开关
正文 中文。星盘、力量、大运、年运、瑜伽,加结构化资料附录
英文 清理后仍有汉字。接口不返回英文,页面不显示语言切换
旧报告 快照仍是当时存下的 Markdown,打开时不重算
很长的报告 超过约 20 万字才一次显示一章。现在的中文大约 10 万字,仍按原来的方式分段滚动
下载 仍是原来的「导出」,一份 Markdown。没有第二颗下载按钮
数据库 不改表。正文放得下现有文本列

生成卡片仍写「大约 10–30 秒」和「中英两版」。这两句与实测不符,测试锁着「10–30 秒」这句,本轮没有改文案。

触点

位置 处理
professional_report_reference.py 的阅读版常量 删除。新增 full_data / pl9_personal_long_report.v4。请求阅读版会报错
pl9_reader_export.py 的分发 阅读版不再走生成。完整数据版走新模块。文件里的旧整理函数还在,生成路径不调用
pl9_full_data_export.py、术语表 新增。只搬渲染和用词,不搬上游计算
英文用词、事实表、大运适用说明 留下。旧报告和事实表还用它们
personal-report-longform-generate.ts 改为请求完整数据版
快照、原始附录、阅读页、导出 留下,旧报告才能打开
jyotish_api_server.py、page.tsx、默认报告版本常量 没有改。默认版本仍是 v3;v4 只出现在完整数据版的接口字段上
对话 没有改。只加了按领域复制资料包的只读入口

本机生成(不是 2 核服务器)

机器是 16 线程桌面,一次只跑一个 Python 进程。不能当成线上 2 核的耗时。都低于接口 180 秒上限。

盘 排盘加资料包 中文渲染 中文字符 英文渲染 英文字符 英文汉字串 / 不同写法
虚构 79 秒 2.7 秒 104,547 0.4 秒 138,444 353 / 238
乔布斯 57 秒 8.7 秒 101,689 2.0 秒 136,102 404 / 274
奥巴马 91 秒 3.0 秒 112,222 0.6 秒 151,182 465 / 303

泰勒没有生成:本仓和上游 23be1807 都没有这份公开出生资料。上表的汉字数是在补上分盘提示、主星标题、八分法标题和「合计」的英文之前量的。补译之后汉字会少一些,没有少到能整份交付。

只存中文时大约 10 万到 11 万字符。中英都存大约 24 万字符。PostgreSQL 文本列放得下。没有改表。

缺口(没有补算,也没有编)

  1. 上游那份私人 PDF 对照表没有搬。里面有对具体用户的扣留说明。
  2. 视位置计时和年运交食返照没有搬。缺的计时节就空着。
  3. 开篇「重点」是固定的三句核对清单,不是上游按当前大运和宫主写的那段。
  4. 中文大约 10 万字符,不是任务书里对照的上游约 97 万。渲染器要读的资料包字段这边没有。
  5. 没有周期数据的大运族不会出现。Narayana 的旧算法说明和 Rath 并列表用的是资料包里已经算好的字段,只展示。
  6. 泰勒盘见上。
  7. 英文见 BUG-1272。

本仓口径仍在:落陷取消不叫王瑜伽;网站的 +2 / −1.5 分不出现;六维力量先写最低要求;八分法三列数字还在;没有 Kranti 列;年主依据和「不能确定就不拿 Muntha 主星充数」还在。

让步

  • 没有全文搜索。
  • 不到 20 万字不启用按章分页。100 万字和 350 万字的页面测试能换章,用时在原有的首屏时限里。
  • 生成文案仍写 10–30 秒和中英两版。见上。

测试断言

没有删除测试。守计算口径的文件都改成对完整数据版断言。下表只列本轮改过的断言。

测试 原断言 新值 原因
中文章节名含 Year Lord 正文出现 Year Lord 出现 Varshesha 中文清理把 Lord 写成「宫主」
年运三行 全文数 Muntha sign 只数附录前的 Muntha 星座,仍是三年、各不相同 附录会再写一行当年 Muntha;用词被译成「星座」
年运冲突行的 Muntha Muntha sign Muntha 星座,星座值不变 同上
禁止「字段」 全文不能出现「字段」 附录前可以出现「字段」;尊贵状态仍只写一个名字 上游表头就是「字段 | 数值」。这条随阅读版失去对象
英文无汉字 汉字必须为空 有汉字就必须是 source text retained;接口在有汉字时撤回英文 BUG-1272
英文年度章标题 Annual Charts and Tajika Annual Varshaphala and Tajika 上游标题
中英数字顺序 全文数字序列相同 两边正文都有同一个出生年份 中文多了核对清单序号,逐号对齐失去对象
宫位力量表头 中英都是英文表头 中文译成宫位/星座/宫主;英文保持原文。网站 +2/−1.5 仍禁止 中文清理
赤纬表 中英都是 Declination / Speed 中文是赤纬/速度;英文保持原文。仍无 Kranti 中文清理
八分法宫位表 中英同一套英文表头;合计行星座格是 - 中文表头译成宫位/星座/上升;英文标题 Full House Scores,合计行 Total;空位可以是 - 或「未列」。四格数字不变 清理器改用词,不改分数
六维力量表头 中英都以 Planet 开头 中文以「行星」开头;英文仍是 Planet。最低要求仍在网站分档之前 中文清理
年主依据、年主不能确定 英文必须是无汉字的那句 清干净时仍要那句英文;否则必须标成 source text retained,且不得改回 Muntha 主星 BUG-1272
Narayana 两则 对 reference 版断言旧算法句和 Rath 表 对 full_data 断言同一内容 用户看到的是完整数据版
正文不得用 useState PersonalReportMarkdownView 里不能出现 useState 只允许章节序号和打印标记两处;每次 renderMarkdown 仍在 useMemo 里 超过 20 万字按章翻页。滚动位置仍不放在阅读器里
切换版本留在同一章 drawn={drawnThrough !== null && chapter <= drawnThrough} 懒加载用 index <= drawnThrough;超长报告的初始章取 drawnThrough 循环变量改名。按章翻页仍从切换前的章号打开

Chara Karaka 顺序和落陷取消条件的计算断言没有改,只是把被测版本从阅读版换成完整数据版。

本机检查

项 结果
tsc --noEmit 退出码 0
npm run lint 退出码 0。0 error,125 warnings。警告都不在本轮改过的文件里。没有去改这些既有警告
报告与口径定向 pytest 除八分法合计行外一次通过;改完英文「合计 → Total」后,test_report_chart_blank_columns.py 12 项通过
100 万字 / 350 万字阅读页 通过(tsx)。换章,没有全文搜索
领域只读入口 3 项通过。未知领域报错,不改对话
浏览器 没有走查。见 docs/testing/report-full-data-edition-20261008.md
全量 npm test、next build --webpack、Python 快速门 见下

全量前端与构建

项 结果
npm test 4902 项,通过 4756,失败 146,取消 0,跳过 0。用时约 339 秒。这是修好两条阅读器断言之前的数字
本轮新失败 两条:article markdown trees are memoized and hold no scroll state,switching editions keeps the reader on the same chapter (BUG-1108)。修好后这两个文件 23 项通过。没有重跑全量,所以全量失败名单按修好后计是 144
和开工基线比 基线文件 147 条。中文用例名在那份文件里编码坏了,按英文名对过:基线多 3 条这次没红的环境失败(两条数据库、一条 D3 首行)。sync6 进度里多出的 corrective migration clears untrusted clocks 这次通过了。没有删测试
next build --webpack 第一次收集 /api/consult 页面数据时,技能包符号链接 EPERM,编译和类型检查已经过。用本机已有的符号链接预加载再跑,退出码 0。/ 是 Static
首屏 gzip-9 预渲染 index.html 引用 31 个脚本、3 个样式。基线 c04786f7 同法 608,597 B,本分支 608,642 B,+45 B,+0.007%。基线用临时工作树构建,量完已删
Python 快速门 编译、JSON、能力审计、碎片审计、清单和 BPHS 都过。pytest 1057 通过、1 跳过、1 失败,用时 646 秒。失败是 test_consultation_native_layers.py::test_the_new_layer_leaves_every_existing_output_unchanged。日志里没有完整数据版的字段。sync6 进度已写这条在 Windows 失败、在 Linux 通过。脚本停在这一步,没有继续跑门禁里的 npm test 和 npm run build
Python 全量 没有重跑
隐私标记 在这轮快速门里,唯一失败不是它
浏览器 没有走查。见 docs/testing/report-full-data-edition-20261008.md