fix(report): make density facts readable and printable
Unify reader cleanup rules, lock writer table guards, and register the exact fictional timestamp collision. Preserve existing ordinary-report safety contracts and source-data gaps. Validation: report Node 165/165, final safety 29/29, Python 101/101, Chrome 28/28; both PDFs retain all 130 rows. Full Node 3704 tests with the same 91 baseline failures. Privacy test: 62 passed, 1 failed due to 17 protected-file READ_ERRORs; not a green gate. Build, DB, manual checklist and controlled-login gaps remain documented. User explicitly authorized staging push with these gaps disclosed. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
# PROGRESS-report-density-20260922 · 报告密度实现与验收修复
|
||||
|
||||
## 当前状态(2026-09-23)
|
||||
|
||||
**代码补修与可执行的独立验证已完成;用户在获知下列缺口后明确要求 push 到 staging。** 本次按授权提交并尝试快进推送,不代表整体验收通过或部署成功。F3 清单写入被拒,完整隐私门、全量门槛、构建与数据库缺口仍保留,Gitea 门禁和部署结果须另外核实。原实现已进入 staging;本轮按 [修复单](TASK-report-density-fix-20260923.md) 执行 F1~F6。原任务书:[TASK-report-density-20260922.md](TASK-report-density-20260922.md)。
|
||||
|
||||
| 项 | 已核实事实 |
|
||||
| --- | --- |
|
||||
| 原实现 | 脱敏历史 `bbd96d3b`,已进入 staging;原验收未通过 |
|
||||
| 本轮基线 | 主会话已 fetch 并创建 worktree;本工作树 HEAD 核实为 `0d37bec15a456329880b45810c63812d29162f29` |
|
||||
| 工作树 / 分支 | `.worktrees/report-density-fix-20260923` / `codex/report-density-fix-20260923` |
|
||||
| 当前交付 | 用户明确要求 push 到 staging;主会话提交本轮指定文件并快进推送,远端 SHA 与门禁结果另行核实;不使用 stash、不强推 |
|
||||
| 部署 | 原修复单记录门禁 run 2854 失败、health 停在 `1bc6a954`;本轮未重新查询,不能当作当前线上核验 |
|
||||
| Bug 编号 | 开工核对最大已记编号 BUG-1008;按既有预留补 BUG-1003~1007 与 BUG-1009/1010,不改 BUG-1008 |
|
||||
|
||||
## 实现事实与分工
|
||||
|
||||
| 范围 | 基线已有实现 / 本轮工作 | 当前结论 |
|
||||
| --- | --- | --- |
|
||||
| BUG-1003 / F4 | Python / TS 共用一份 JSON 清洗规则 | 本轮完整虚构 golden 逐字一致,页码归零 |
|
||||
| BUG-1004 | 独立 `raw-appendix` 入口;普通正文仍走原投影;新计算有持久 snapshot | 定向回归通过;受控浏览器下载待验证 |
|
||||
| BUG-1005 / BUG-1009 / F1 | 8 组可读领域表、可选子表、隐藏来源路径 | 单测与 Chrome 隔离组件验证通过;年度行星源缺失如实留空 |
|
||||
| BUG-1006 | 16 种分盘契约与装配已有;复用 grid / memoized Markdown | golden 与布局合同通过;Static、gzip、真机布局待验 |
|
||||
| BUG-1007 | 新计算的辅助大运适用性说明已有;不提升证据等级 | 本轮定向回归通过;旧 Markdown-only 缓存仍不回填 |
|
||||
| BUG-1010 / F2 | 虚构时间戳碰撞按精确 span 登记 | 反扩大豁免用例通过;完整隐私门因保护文件 READ_ERROR 未绿 |
|
||||
| F3 | 补 Bug 历史、本进度、索引与真实状态,更正旧缺口 | 已有文档补齐;新建真人清单被工具拒绝,文件不存在,F3 尚未完全满足 |
|
||||
| F5 | writer 补提示及真实校验路径拒表回归 | 主会话回归通过;代理去 guard 变异证据已收到 |
|
||||
| F6 | beforeprint 展开、afterprint 恢复、打印解除裁切 | 单测与 Chrome 原生 PDF 通过;真人打印对话框与登录 E2E 未验证 |
|
||||
|
||||
F1/F2/F4/F5 各代理只改自己的代码范围,F3 仅改授权文档,F6 和最终验收由主会话负责。P3 可选项没有完成证据前不记为已修。
|
||||
|
||||
## 已有防复发措施核对
|
||||
|
||||
开始记录前已按报告模块、原始附录接口、字段泄漏、打印、折叠、快照与相关 BUG 编号检索 Bug 历史,并读完 BUG-153、616、617、999、1008。本轮只读核对结果如下,不等于执行测试通过。
|
||||
|
||||
| 历史记录 | 仍在的措施 | 此次未被拦住的边界 |
|
||||
| --- | --- | --- |
|
||||
| BUG-999 | `report-public-projection.test.ts` 保留旧缓存再投影、普通下载、HTML / 危险 URL / 图盘围栏合同 | 新增事实表是独立结构化可见层,旧正文投影测试不检查表格单元格 |
|
||||
| BUG-616 | `personal-report-markdown-view.test.tsx` 保留 grid/card 结构及禁止 float / 负 margin | 源码或静态 DOM 不能代替 16 张盘真实布局 |
|
||||
| BUG-617 | 同文件保留文章无滚动态、`renderMarkdown` 在 `useMemo` 内的合同 | 滚动无整树重建仍需浏览器核对 |
|
||||
| BUG-153 | 既有打印入口与报告样式合同保留 | 新增默认关闭的事实表 disclosure 未被旧打印范围完整覆盖,F6 补齐 |
|
||||
| BUG-1008 | 状态与历史清除记录原样保留 | 服务器垃圾回收不属于本轮;不访问旧泄漏历史、不同步镜像 |
|
||||
|
||||
## 结构化重试与范围边界
|
||||
|
||||
- 基线 `personal-report-longform-snapshot.ts` 已通过既有 `ensure_personal_report_section` / `complete_personal_report_section` RPC 写入服务端快照;不新增表或迁移。
|
||||
- `generatePersonalReportLongform` 先持久完整快照,再写 Markdown 缓存与最终文档。重试从快照恢复 `factTables`、`charts` 与适用性说明;检查用户 / 请求 / 报告绑定和 Markdown 哈希;损坏快照失败闭合,不冒充旧缓存。
|
||||
- `personal-report-density-retry.test.ts` 已含 snapshot-only、appendix-only、final-ready、legacy、corrupt、mismatch、pending-with-markdown、late-pending、late-ready、parallel-ready 用例。这里确认的是测试存在,不是本轮测试成绩。
|
||||
- 因此旧 BLOCKED 中“结构化层的持久重试尚未实现”已过时。**真正保留的范围边界**是没有结构化快照的历史 Markdown-only 缓存不回填、不重算;不得承诺旧报告自动获得 8 组事实表、16 张结构化分盘或新适用性说明。
|
||||
- Sade Sati 源数据只有三阶段框架与当前状态,没有三轮起止日期;新增日期计算在本修复单范围外,不靠渲染层推算。
|
||||
|
||||
## 既有 API 断言变更(三栏说明)
|
||||
|
||||
证据取自脱敏历史 `git diff f77a1b5a bbd96d3b -- frontend/tests/personal-report-api.test.ts`,未读取旧泄漏提交或私有输入。目标用例为 `failed report reads aggregate existing section error codes without importing generation`。
|
||||
|
||||
| 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- |
|
||||
| `assert.match(createRoute, /select\("request_id, status, last_error_code"\)/)` | `assert.match(createRoute, /select\("request_id, section_id, status, last_error_code"\)/)` | 列表聚合必须读取 `section_id`,识别并排除服务端计算快照;保留请求、状态、错误码三列,不删既有检查目的 |
|
||||
| 无专门的快照行过滤断言 | 新增 `assert.match(createRoute, /row\.section_id === LONGFORM_SNAPSHOT_SECTION_ID\) continue/)` | 快照不是 writer 章节,不得计入章节进度或错误聚合;这是新增约束,不是放宽断言 |
|
||||
|
||||
### 本轮 F1 既有断言调整
|
||||
|
||||
五个既有 Node 测试名称全部保留;F4/F5/F6 没有修改既有断言。
|
||||
|
||||
| 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- |
|
||||
| 每个顶层表必须有行 | 顶层或子表有真实行 | 年度源没有行星位置,但有年度 Saham 子表;不得伪造顶层行 |
|
||||
| `cells[1]` 等于来源路径的标量 | 每行来源可回查;逐列比较 packet 原值及两位格式 | 一行改为领域对象,原始数值不改变 |
|
||||
| 六分量 42 个叶子行 | 7 个行星行,六分量与引擎合计逐列核对 | 从路径清单变为矩阵,不自行求和 |
|
||||
| 八分力 108 个叶子行 | SAV 12 行、BAV 8 行 × 12 星座 | 不再列内部索引或重复总分 |
|
||||
| 年度混含 `advanced_systems.sahams` | 年度位置 0 行,年度 Saham 36 行,来源 `annual_tajika_pack.sahams.data` | 本命数据不能冒充年度位置;真实缺值保留 |
|
||||
| Sade Sati 6 个叶子行 | 3 个阶段行,当前状态移到说明 | 隐藏内部字段,日期缺口保留 |
|
||||
|
||||
新增断言包括完整主运年数与余额分离、删除 full_years 后不得补算、blocked 不升级、旧快照兼容、子表列数/来源/重复 id 拒绝。Python 新增子表合同兼容回归。共享规则打包测试修正 CWD 隔离,不改业务或断言。
|
||||
|
||||
## 验证账本
|
||||
|
||||
### 前轮独立验收(引用,不是本轮重跑)
|
||||
|
||||
来源为 [修复单的验收结论](TASK-report-density-fix-20260923.md#验收结论)。以下用于追踪前轮基线,不将前轮通过移植为修复版通过。
|
||||
|
||||
| 检查 | 前轮记载 |
|
||||
| --- | --- |
|
||||
| Node 22 全量前端 | 基线 3,698 条 / 26 失败;原实现 3,730 条 / 26 失败;失败名单逐条一致 |
|
||||
| tsc / lint | 0 错 / 0 error |
|
||||
| Python 定向 | 88 passed,含 API server 增长合同 |
|
||||
| 构建 | `/` Static;首屏 gzip 623,288 → 623,329 B(+0.007%) |
|
||||
| Python 快速门 | 隐私门新增失败;不是通过 |
|
||||
|
||||
### 本轮修复验证(主会话独立复验,2026-09-23)
|
||||
|
||||
| 检查 | 状态 / 待补证据 |
|
||||
| --- | --- |
|
||||
| F1 可见格、来源回查、主运年数 | 报告整批 Node 定向 165/165;最终 facts/打印/普通投影/布局安全复验 29/29。完整年数直接取 full_years;缺年度位置留空。没有修改普通投影实现 |
|
||||
| F2 隐私扫描 | F2 执行报告:精确登记及反例 62 passed / 1 deselected;完整专项使用 audit hook 禁读 `pending_packets`,62 pass / 1 fail(17 个保护文件 READ_ERROR),其余 4,647 文件无命中。**完整门未绿**;本轮未重跑引擎,独立复现依据来自修复单已有验收 |
|
||||
| F4 双语言一致性与页码归零 | 主会话 Node/Python 定向通过,完整真实引擎虚构 fixture 两端逐字一致、页码归零;普通投影安全复验通过 |
|
||||
| F5 writer 拒绝与变异 | 主会话独立回归包含 Markdown、HTML、顶层及嵌套 factTables 拒绝与正常文字。执行代理隔离去 guard 的变异:4 个负例全红,2 个正常对照仍绿;未在共享产品文件上变异 |
|
||||
| F6 打印行为 | 4 条单测通过;Chrome 153 实际组件隔离页 28/28,通过原生 printToPDF 验证打印前展开与打印后恢复。两份 A4 PDF 各 5 页、各 130/130 行完整;不是登录 E2E,也未真人操作取消对话框 |
|
||||
| tsc / lint | 最终集成 tsc 0 错,lint 0 error / 119 warning;本轮新增 warning 已清理,不顺修旧 warning |
|
||||
| 全量前端 | Node 22 / Windows 基线 3,686 tests / 3,595 pass / 91 fail;修复版已执行,名称及失败原因比对另列。部分文件组受 symlink 失败影响;不能拿前轮 Linux 3,730 当本轮达标证据 |
|
||||
| build / Static / gzip | 本轮 webpack 编译和构建内 TypeScript 通过;收集 /api/consult、/api/birth-time-guide 配置时因 SKILL.md symlink EPERM 退出 1。完整构建未通过,Static 与 gzip 未验证,不沿用前轮结果 |
|
||||
| 数据库 | 两项实际执行均在 Docker 地址池耗尽处停止,未到 SQL;不能记数据库通过,未清其他会话网络 |
|
||||
| Python 定向 / quick | 主会话最终 101/101 通过。首次定向 98 通过/2 失败为新增打包测试依赖 CWD,修正 monkeypatch.chdir 后复验。F1 代理额外启动一次 quick,GBK UnicodeEncodeError 退出 1;已禁止重跑。public/commercial 未运行,完整门不能记绿 |
|
||||
| 受控登录态浏览器 | 环境缺口;拟建 `docs/testing/report-density-20260922.md` 被工具拒绝,文件尚未生成,不能视为清单齐备 |
|
||||
| staging 推送 / 门禁 / health | 未执行;不预写 SHA、门禁绿或部署成功 |
|
||||
|
||||
### 同机全量 Node 名称与失败原因对比
|
||||
|
||||
| 指标 | 基线 | 修复版 |
|
||||
| --- | ---: | ---: |
|
||||
| tests | 3,686 | 3,704 |
|
||||
| pass | 3,595 | 3,613 |
|
||||
| fail | 91 | 91 |
|
||||
| 消失的既有测试名称 | — | 0 |
|
||||
| 新增测试名称 | — | 18(全部通过) |
|
||||
| 新增失败 | — | 0 |
|
||||
|
||||
只读核对两份本轮日志,包含缩进嵌套 TAP 名称多重集合;91 个既有失败的完整诊断逐项一致。仅归一工作树前缀、临时随机目录、Docker 项目 PID/时间、时长和临时 alias 路径段,不删除断言值、错误码、栈行或 Skill 哈希。4 个只报 test failed 的文件组另查前置 stderr,两侧同为 Skill alias EPERM。**3,704 仍低于修复单要求的 3,730;只能证明本机无名称丢失和新增失败,不能宣布完整门达标。**
|
||||
|
||||
本轮 `pre_work_check` 远端 verified;focused 仍有一条既有 workbuddy 镜像路径断言失败,不记预检全绿。
|
||||
|
||||
### 打印证据与执行边界
|
||||
|
||||
证据在本轮忽略目录 `scratch/browser-f1-f6-20260923-acceptance/`:`browser-evidence.json`、`pdf-evidence.json`、`facts-default-collapsed.pdf`、`facts-mixed-state.pdf`。真实组件与完整产品 CSS,独立新建 Chrome profile,没有账号或 Cookie。8 组、11 张实际网格、130 行、545 单元格;两份 PDF 全行核对、无页面外裁切、无可见工程键/下标/超精度。非阻断排版细节:SAV 标题留在第 1 页末尾,表从第 2 页继续;未缺内容。隔离页不等于登录后完整报告或真人打印对话框验收。
|
||||
|
||||
F1 子代理额外运行 quick 时没有继承禁读 audit hook,输出有保护目录路径的清单枚举;其在 `validate_bphs_invariants.py` GBK 编码错误处停止,没有 pytest/隐私扫描启动证据。**无法保证此前子进程未读取保护目录,不能宣称这次全程禁读已获证实。** 主会话收到报告即禁止重跑,代理确认没有启动 UTF-8 重跑。不得为补门禁读取这些文件、修改隐私规则或静默跳过后记通过。
|
||||
|
||||
F3 新建真人清单时收到工具拒绝:子代理不得写 report 文件。未重试、未换工具绕过,已通知主会话;授权要求与工具边界由产品处理。拟验收项目为:新报告及刷新恢复、16 盘桌面 / 移动布局、8 组逐表与来源核对、独立附录及普通下载与修复前逐字比较、全部表折叠时按钮和 Ctrl+P 打印 / 保存 PDF、实际页数、打印完成 / 取消后恢复原开合状态、混合开合恢复,以及旧报告兼容 / 旧缓存不回填。当前无执行证据,不能勾选通过。
|
||||
|
||||
F3 文档自检已执行:限定授权文档的 `git diff --check` 通过;脚本比较确认 BUG-1008 段落与 HEAD 原样一致、BUG-1003~1010 各出现一次、BLOCKED / CHANGELOG 不再含过时的“未提交、推送”说法、PROGRESS 存在、真人清单确实仍缺。未读取 `pending_packets`,未运行完整隐私扫描、未改代码、未提交或推送。
|
||||
|
||||
上述自检不能替代代码、浏览器或部署验收;真人清单文件缺失意味着 F3 验收尚未完全满足。阻塞项统一见根目录 [BLOCKED.md](../../BLOCKED.md)。
|
||||
@@ -169,8 +169,8 @@
|
||||
|
||||
| 任务书 | 进度 | 主题 | 状态 | 落点 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `TASK-report-density-20260922.md` | `PROGRESS-report-density-20260922.md` | **报告信息密度与原始附录(BUG-1003~1007)**:与源头仓 PL9 全量报告同资料实测:对照 847,632 字符 / 8,044 表格行,我方 309,357 / 1,478。缺口不在引擎——20 张分盘全表、KP 四表、Ashtakavarga 四类、Shadbala 六分量、Avastha、Sahams、年度都已算得出,但 `personal-report-contract.ts` 的 `REPORT_SECTION_KINDS` **没有表格类型**、`CHART_IDS` 只有 9 种,这些表在产品页报告里没有落脚字段。另测出对外原始附录泄漏 925 种 / 3,797 处工程标识符(`parameter_sensitive` 697、`cmd_full_reading` 68、`PyJHora`/`JHora` 35、`PL9` 页码 59),对照物同项为 0。**产品 2026-09-22 三点拍板**:层 1 按 8 组表 + 分盘扩到 16 张;层 2 原始附录直接给 C 端且先全显示;B 类大运族要显示。**决策记录已写明推翻 BUG-999 的两条红线**(专业参考不得作普通下载 fallback;`parameter_sensitive`/「参数敏感」命中整行剔除)——**仅限附录通道**,普通正文投影不动。硬红线:表格层服务端装配、writer 不得写表;对照物的替代大运族日期与 Shadbala 分量在源头仍未闭环(506 行 date mismatch、`production_tuning_allowed=false`),不得照搬升级。让步顺序与串行依赖(任务 3 → 任务 4 同改契约)见任务书 | **验收未通过**(2026-09-23):任务 1/2/4/5 通过;任务 3 事实表在普通报告里显示 447 个引擎键路径(P1);隐私门新增失败(任务书自身写入真实出生资料 BUG-1008 已清 HEAD,fixture 数值碰撞待登记);BUG-1003~1007、PROGRESS、testing 清单缺失。Node 22 前端 0 新增失败、`/` Static、gzip +0.007% | 实现 `bbd96d3b`(原 `f968cb21`,09-23 为清除 BUG-1008 重写历史;已在 staging,未部署);修复单 `TASK-report-density-fix-20260923.md` |
|
||||
| `TASK-report-density-fix-20260923.md` | — | **报告密度验收修复单(BUG-1009/1010 + 补写 1003~1007)**:F1 事实表改成真正的表(逐组规定列,普通报告可见格 0 个引擎键 / 0 个下标 / 最多 2 位小数,`sourcePath` 保留供回查;主运年数不得填出生剩余年数);F2 按既有机制登记 fixture 的数值碰撞(已独立重跑确认是虚构输入);F3 补 Bug 历史 / PROGRESS / 真人清单并更正「未提交推送」;F4 两份清洗规则只留一份(Python 版漏第三方页码);F5 writer 写表拦截补测试与提示;F6 事实表可打印。硬红线:不得弱化隐私扫描、不得强推或重写 staging(历史清除由产品负责人决定);Sade Sati 三轮日期是原任务书错误、不在本单 | **待领取** | — |
|
||||
| `TASK-report-density-20260922.md` | `PROGRESS-report-density-20260922.md` | **报告信息密度与原始附录(BUG-1003~1007)**:与源头仓 PL9 全量报告同资料实测:对照 847,632 字符 / 8,044 表格行,我方 309,357 / 1,478。缺口不在引擎——20 张分盘全表、KP 四表、Ashtakavarga 四类、Shadbala 六分量、Avastha、Sahams、年度都已算得出,但 `personal-report-contract.ts` 的 `REPORT_SECTION_KINDS` **没有表格类型**、`CHART_IDS` 只有 9 种,这些表在产品页报告里没有落脚字段。另测出对外原始附录泄漏 925 种 / 3,797 处工程标识符(`parameter_sensitive` 697、`cmd_full_reading` 68、`PyJHora`/`JHora` 35、`PL9` 页码 59),对照物同项为 0。**产品 2026-09-22 三点拍板**:层 1 按 8 组表 + 分盘扩到 16 张;层 2 原始附录直接给 C 端且先全显示;B 类大运族要显示。**决策记录已写明推翻 BUG-999 的两条红线**(专业参考不得作普通下载 fallback;`parameter_sensitive`/「参数敏感」命中整行剔除)——**仅限附录通道**,普通正文投影不动。硬红线:表格层服务端装配、writer 不得写表;对照物的替代大运族日期与 Shadbala 分量在源头仍未闭环(506 行 date mismatch、`production_tuning_allowed=false`),不得照搬升级。让步顺序与串行依赖(任务 3 → 任务 4 同改契约)见任务书 | **验收未通过**(2026-09-23):任务 1/2/4/5 通过;任务 3 事实表在普通报告里显示 447 个引擎键路径(P1);隐私门新增失败(任务书自身写入真实出生资料 BUG-1008 已清 HEAD,fixture 数值碰撞待登记);当时 BUG-1003~1007、PROGRESS、testing 清单缺失;F3 现已补前两项,testing 新建受工具边界阻塞仍缺。Node 22 前端 0 新增失败、`/` Static、gzip +0.007% | 实现 `bbd96d3b`(原 `f968cb21`,09-23 为清除 BUG-1008 重写历史;已在 staging,未部署);修复单 `TASK-report-density-fix-20260923.md` |
|
||||
| `TASK-report-density-fix-20260923.md` | `PROGRESS-report-density-20260922.md` | **报告密度验收修复单(BUG-1009/1010 + 补写 1003~1007)**:F1 事实表改成真正的表(逐组规定列,普通报告可见格 0 个引擎键 / 0 个下标 / 最多 2 位小数,`sourcePath` 保留供回查;主运年数不得填出生剩余年数);F2 按既有机制登记 fixture 的数值碰撞(已独立重跑确认是虚构输入);F3 补 Bug 历史 / PROGRESS / 真人清单并更正「未提交推送」;F4 两份清洗规则只留一份(Python 版漏第三方页码);F5 writer 写表拦截补测试与提示;F6 事实表可打印。硬红线:不得弱化隐私扫描、不得强推或重写 staging(历史清除由产品负责人决定);Sade Sati 三轮日期是原任务书错误、不在本单 | **执行中**:F1/F2/F4/F5 分工实施,F6 与独立验收由主会话负责;F3 已补 Bug / 进度 / API 断言三栏,真人清单新建被工具拒绝,文件仍缺。隐私专项因禁读保护文件尚未全绿;未写浏览器或部署通过 | `codex/report-density-fix-20260923`,基线 `0d37bec15`;BUG-1008 原样保留 |
|
||||
| `TASK-report-sectioned-generation-20260830.md` | `PROGRESS-report-sectioned-20260830.md` | 分章节生成 | 已合入 | 见 PROGRESS |
|
||||
| `TASK-report-skill-parity-20260901.md` | `PROGRESS-report-skill-parity-20260901.md` | 内容对齐 skill 解读深度 | 已验收 | `90bad10d`、`ef1bd6df` |
|
||||
| `TASK-report-blocked-repairs-20260902.md` | `PROGRESS-report-blocked-repairs-20260902.md` | 全主题 blocked 修复 | 已验收 | `7faf8555` |
|
||||
|
||||
@@ -6,6 +6,12 @@
|
||||
- 开发分支:`codex/report-density-20260922`,worktree `.worktrees/report-density-20260922`
|
||||
- 对照物:用户在本机提供的一份对照报告 Markdown(不入仓,路径与文件名含个人信息,不在此记录),由**源头 skill 仓** `/workspace/yinduzhanxing` 的 `scripts/pl9_bilingual_batch_export.py` → `jyotish_engine.py` 生成。它对标商业软件 Parashara's Light 9 的 204 页报告。
|
||||
|
||||
## 执行状态(2026-09-23)
|
||||
|
||||
原实现 `bbd96d3b` 已提交并进入 staging,但原验收未通过;当前从 `0d37bec15` 在独立工作树执行 [验收修复单](TASK-report-density-fix-20260923.md)。实施与验证见 [进度记录](PROGRESS-report-density-20260922.md)。F3 新建真人清单被工具拒绝、文件仍缺,不能记为文档齐备;无受控浏览器或本轮部署通过结论。
|
||||
|
||||
范围更正:任务 3 的 Sade Sati 源数据只有阶段框架和当前状态,没有三轮起止日期;原“已逐项确认存在”的日期部分有误,新增日期计算按修复单明确列为范围外。下文保留原事故与规格历史,不作为该能力已完成的证据。
|
||||
|
||||
## 事故实证
|
||||
|
||||
### 一、对照物与我方同一组出生资料实测
|
||||
|
||||
@@ -7,7 +7,13 @@
|
||||
- 修复分支:`codex/report-density-fix-20260923`,从 `origin/staging` 起
|
||||
- 验收基线:`f77a1b5a`(实现的父提交)
|
||||
|
||||
## 验收结论
|
||||
## 执行状态(2026-09-23)
|
||||
|
||||
- **执行中**:已 fetch 并从 `0d37bec15` 创建独立工作树 `.worktrees/report-density-fix-20260923`,分支 `codex/report-density-fix-20260923`。下方验收结论是对原实现 `bbd96d3b` 的历史验收,不是本轮修复通过。
|
||||
- F1/F2/F4/F5 分工实施;F6 与独立验收由主会话负责。F3 补 Bug 历史、进度、索引和 API 既有断言三栏;**真人清单新建被工具拒绝,文件仍不存在,F3 尚未全部完成**。不换工具绕过。
|
||||
- 实际结果与缺口见 `docs/tasks/PROGRESS-report-density-20260922.md`、`BLOCKED.md`。没有受控登录 / Chrome 证据,不预写测试成功或部署;BUG-1008 不改。
|
||||
|
||||
## 验收结论(原实现)
|
||||
|
||||
| 项 | 结论 | 证据 |
|
||||
|---|---|---|
|
||||
|
||||
Reference in New Issue
Block a user