diff --git a/TASK-report-longform-gaps2-20260906.md b/TASK-report-longform-gaps2-20260906.md new file mode 100644 index 00000000..fd9c4195 --- /dev/null +++ b/TASK-report-longform-gaps2-20260906.md @@ -0,0 +1,102 @@ +# 任务书 · 长报告对齐二轮:真实参数下的装配缺口(2026-09-06) + +基线:`origin/staging` 最新(开工 `git fetch` 后以 HEAD 为准;出稿时 `2dc454c9` 之后)。 + +## 背景 + +产品负责人用同一真实用户重新生成了 pl9 长报告 v2(253K/2690 行)对照本地 Agent 全量版(391K/3634 行)。委托方逐段对比结论:**骨架已对齐(一轮成果有效),剩余差距集中在"真实参数组合下的装配缺口"**——多个段在上一轮虚构盘验收里 `present`,在真实用户参数下却整段消失或空表。对照两份真实报告本身**不得入库**;下述差距清单已脱敏(只有段名与行数)。 + +## 差距定案(按段行数 diff,全量版 vs 新版) + +**A · 同根因高嫌疑:KP 装配在真实参数组合下整体静默跳过** + +| 段 | 全量 | 新版 | +|---|---:|---:| +| KP Lord / Sub 原始表(本地计算) | 138 | **整段缺失** | +| 事业章 KP 结构小表 + KP 宫位核对(2/6/10/11 宫)+ 逐月 MD/AD 表 | 47 行/3 子块 | 22 行/仅剩"冲突裁决"1 子块 | +| 财运/关系章同构 | 各 48/60 | 各 23/35 | + +三年 KP 月度支持的**普通月表在**,缺的全是依赖 `cmd_kp` 细产物(Lord/Sub、Ruling Planets、ABCD 显著星)的段。虚构盘 `present`、真实盘 missing → 输入相关的条件分支或键名在真实参数(候选窗传入 / raman / 具体时刻组合)下未命中,且**静默跳过无任何痕迹**。 + +**B · 独立装配 bug** + +| 段 | 全量 | 新版 | +|---|---:|---:| +| 逐模块执行与结论追踪审计 | 77 | **5(表头在、零数据行)** | +| 力量章缺 6 子块:Bhava Bala、Yogini Dasha 周期、Narayana Rashi Dasha、Kala Chakra Dasha + 深度差异诊断 + 参考对齐 | 421 | 232 | +| 2028 KP 月度支持缺"Patyayini 外部回放""年度 Saham 外部回放"两子块(回放未按年展开;2027 是否同缺需逐年核对) | 227 | 110 | + +力量章六子块的数据源都是本地模块(bhava_bala / yogini / narayana / kala chakra),与未 vendor 的 master-pack 无关,属于装配漏挂。 + +**C · 小段补齐** + +原始模块索引与未下沉字段附录(80 行,整段缺);Profile-aware Benchmark Boundary(67 行,整段缺);校时附录·分钟排行表(5 行;敏感度矩阵主体已工作,窗口/代表分钟/稳定层都在);完整 Technique Audit Table(18→5);校时证据领域合同(19→7);Vargas I(-71);第二证据轴(-21);时间与年度提醒(-12)。 + +**D · 豁免(不补)** + +全量版的"1993-08-29 版本对照覆盖表 / 本版相对短版的实质优化 / 成品判定"是 Agent 拿两个历史版本写的个案对照,生成器不应硬造。 + +## 硬红线 + +1. **静默跳过禁令(本轮防复发核心)**:任何计划内报告段因输入缺失/条件不满足而不能装配时,必须输出显式的 blocked/missing 行(段名 + 原因码),不得整段无声消失。上一轮覆盖表验收被虚构盘骗过,就是因为缺席不可见。 +2. **验收必须加"真实参数组合"维度**:除虚构基础盘外,构造一个**虚构但参数同构**的盘(带候选窗、raman、同样的 pack/flags 组合)复现 A 组缺失后再修;修复验收用同一同构盘。真实用户资料仍不得入库。 +3. 诚实标签延续:Muntha conflict、pyjhora_behavior_only、blocked 一律不涂色;外部回放仍是黑盒 wrapper,不 vendor AGPL。 +4. 其余既有红线延续(不改 `.gitea/workflows/**`、不提升 main、`./node_modules/.bin/tsc`、隐私日志边界)。 + +## 开工前置 + +```bash +git fetch origin --prune +git worktree add -b codex/report-longform-gaps2-20260906 \ + ../.worktrees/report-longform-gaps2-20260906 origin/staging +``` + +先读 `docs/tasks/PROGRESS-report-longform-parity-20260905.md`(一轮让步清单)、`scripts/jyotish_engine.py` 的 pl9-export 装配段、`scripts/kp_monthly_report_packet.py`、`scripts/annual_pyjhora_replay.py`。 + +## 任务 + +### 任务 0(P0,门控)· 复现 A 组缺失并定位共同根因 + +用参数同构虚构盘本地跑 pl9-export,确认 KP Lord/Sub 表与专题三表缺失可复现;定位触发变量(候选窗传入路径 / ayanamsa / 时刻边界 / pack 组合)与静默跳过的具体分支。PROGRESS 写明根因与触发条件。 + +### 任务 1(P0)· KP 装配回归 + 静默跳过禁令落地 + +A 组段在同构盘下全部回来;所有计划内段的装配失败路径改为显式 blocked 行(红线 1),并加"段落清单完整性"测试:给定 pack 清单,产出的标题集合必须覆盖计划段(present 或 blocked,不允许缺席)。 + +### 任务 2(P0)· 逐模块审计表零行修复 + +审计行数据源接通;测试锁:full pack 下审计表数据行 ≥ 模块执行数下限。 + +### 任务 3(P1)· 力量章六子块装配 + +Bhava Bala / Yogini / Narayana 明细 / Kala Chakra(含差异诊断与参考对齐)从本地模块装入;缺数据走显式 blocked 行。 + +### 任务 4(P1)· 外部回放按年展开 + +Patyayini / 年度 Saham 回放对三个目标年逐年执行;某年环境不可回放时输出显式 blocked 行注明年份。逐年核对 2026/2027/2028 三节的子块清单一致。 + +### 任务 5(P2)· 小段补齐 + +C 组逐项:分钟排行表、原始模块索引附录、Profile-aware Benchmark Boundary、Technique Audit Table 行数、校时证据合同、Vargas I / 第二证据轴 / 时间与年度提醒的缺行核对(能补则补,受限材料保持诚实 missing 并在对照表注明)。 + +### 任务 6(P0 收尾)· 同构盘对照验收 + +同构盘产物与全量版做逐段行数对照表(沿用本任务书差距表格式),A/B 组段全部 present 且行数同量级;C 组给出补齐/豁免逐项结论;产品侧真实用户重新生成一次附录复核(由委托方或产品执行)。 + +## 不在本轮范围 + +- D 组个案层;五章叙事管线;vendor `professional_parity_closure`(仍走本地模块 + 诚实 blocked);Muntha producer 仲裁。 + +## 收尾 + +`docs/tasks/PROGRESS-report-longform-gaps2-20260906.md`;BUG_HISTORY 条目(A 组静默跳过、审计表零行各记一条,编号对远端);推送后核对 health(注意:memory 记录 staging 部署自 c295b853 起连续失败、`bab07187` 的迁移待执行——本轮推送前先确认部署链恢复,Migrate Staging Database 先行);不提升 main。 + +## 交付物清单 + +1. 任务 0 根因与触发条件 +2. KP 装配回归 + 段落清单完整性测试 + 静默跳过禁令落地 +3. 审计表修复 + 行数下限测试 +4. 力量章六子块 + 按年回放展开 +5. C 组逐项结论 +6. 同构盘逐段对照表(present/blocked/行数)+ 真实附录复核记录 +7. 全套质量门实际输出 + PROGRESS + BUG_HISTORY