Files
Jyotisha/docs/tasks/PROGRESS-rectification-chart-tier-caveats-20261001.md
T
Jesse_ChenandClaude Opus 5.5 209352eb31
Independent Staging Quality Gate / validate (push) Successful in 13m35s
Independent Staging Quality Gate / publish (push) Successful in 3m41s
docs(rectification): Claude acceptance of chart-tier caveats (BUG-1138/1139 resolved)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
2026-10-01 10:15:11 +08:00

100 lines
8.2 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.
# PROGRESS · 报告与聊天标注判断不了的分盘(2026-10-01)
任务书:`TASK-rectification-chart-tier-caveats-20261001.md`(BUG-1138 / BUG-1139)。执行:Claude fork 子代理。分支 `codex/rectification-chart-tier-caveats-20261001`,基线 `origin/staging` @ `437dcecb`。只 commit,未 push。
## 环境
Linux,Node 22.14(`/exec-daemon/node`),Python 3.13(系统 `python3`,本机无 `.venv`)。`frontend/node_modules` 用 `cp -al` 硬链主检出(同一 lockfile;Turbopack 不接受软链),未执行 `npm ci`。基线在独立 worktree `.worktrees/tier-caveats-base`(`437dcecb`)同机同依赖量。无 Docker:真库断言用 PostgreSQL 17.9 本地替身,正式证据待产品真 Docker。
## 实现
| T | 内容 | 提交 |
| --- | --- | --- |
| T1 | `frontend/src/lib/rectification-adopted-chart-tiers.ts`:仅 `active_birth_provenance.contract === "segment-v1"` 时按 `case_id` 读 `get_agentic_rectification_case_dossier`(服务账号),解析 `latest_result.decision_receipt.inference_state.segment_summary`,`blocked` / `indistinct` → 不可判分盘;同 Case 有更新结果用更新的,跨 Case 拒绝;5 分钟缓存;失败记日志返回 null | `5f279214` |
| T2 | 聊天:共用范围读取 `loadReportCandidateRange` 在 segment-v1 时附带 `unreliableVargas`(经服务账号读资料来源列,`20260927020000` 已授列权);`prepareConsultationRoute` 写入排盘工具输入 `unreliable_vargas`;`runConsultationWorkflow` 从引擎载荷剔除该字段,并经 `applyUnreliableVargasToWorkflowContext` 写 `answer_policy.unreliable_vargas` / `deterministic_claims_forbidden_for` 与一句 `user_facing_limitation`;`projectEvidenceContract` 把两项透传进模型数据包。**未改** `consult/route.ts`、`product-voice.ts`、`consultation-evidence-card.ts`、`consultation-thinking-plan.ts`(挂接点在路由已注入的范围读取函数) | `e68ac9b2` |
| T3 | 报告:`frontend/src/lib/personal-report-chart-caveats.ts` 在不可判分盘的图盘标题与数值位置表标题下插一行提示;`generatePersonalReportLongform` 在计算快照哈希前对中英文正文各自应用;引擎载荷不变,不改 Python | `6372ad8a` |
| 真库 | `tests/database-segment-adoption.test.ts` 追加:采用后服务账号读来源列 + 档案 RPC → `{ source: "segment-v1", resultMatch: "adopted", unreliable: [] }` | `da88c325` |
| T4 | BUG-1138 / 1139、CHANGELOG、VOICE、DESIGN、真机清单、本记录、README | 末提交 |
## helper 五种输入(T1 测试)
| 输入 | 输出 |
| --- | --- |
| segment-v1,结果 D9/D10 blocked(虚构 ±60 宽窗) | `{ source: "segment-v1", resultMatch: "adopted", unreliable: ["D9","D10"] }`,1 次 RPC |
| 旧采用(`contract: "candidate-v2"`) | `null`,0 次 RPC |
| 未校正(provenance 为 null) | `null`,0 次 RPC |
| 结果缺失(RPC 报错 / 档案无 latest_result) | `null` + 警告 `P0001` / `invalid_segment_summary` |
| 摘要损坏(档位与占比不一致) | `null` + 警告 `invalid_segment_summary` |
另:真实引擎扫描(公开 AA,31 分钟)窄窗 → D1 certain、D9/D10 credible,不标注。
## 聊天 A/B
- 工具输入:segment-v1 多 `unreliable_vargas: ["D9","D10"]`,其余字段与旧采用逐字节相同;旧采用工具输入字节快照锁在测试里。
- 引擎载荷:带 / 不带 `unreliable_vargas` 逐字节相同(字段不出站)。
- 上下文与模型数据包:segment-v1 多 `answer_policy.unreliable_vargas`、`deterministic_claims_forbidden_for`,`user_facing_limitation` 末尾追加「你的出生时间范围里,婚恋(D9)、事业(D10)的上升会变,这几张盘判断不了;涉及它们的部分只看本命盘和大运,不按它们下结论。」
- **旧资料逐字节不变(硬红线 1)**:基线 worktree 与本分支各跑同一脚本(`scratchpad/tier/peek2.ts`、`peek3.ts`):旧采用聊天工具输入 `cmp` 相同;真实工作流 golden 下「引擎请求 + 工作流上下文 + 模型数据包」226,949 字节 `cmp` 相同。
## 报告 A/B
- 引擎载荷:旧 / 新资料逐字节相同。
- 落库正文:旧资料 = 引擎原文逐字节;新资料(D9+D10)多 3 行(密度版真实输出:D9 两处、D10 一处图盘标题),删去这 3 行后与引擎原文相同;图盘数不变。
- 读者版真实输出(虚构出生)命中标题:`##### Navamsha`、`##### D9 九分盘`、`##### D10 Dasamsa`、`#### D9 九分盘 数值位置表`、`#### D10 Dasamsa 数值位置表`;英文版:`##### Navamsha`、`##### D9 Navamsa`、`#### D9 Navamsa Position Table`。
- 样例:
```
##### D9 九分盘
提示:出生时间范围内这张盘的上升会变,这一节仅供参考。
(图盘)
```
- 图盘网格:卡片解析允许标题与图之间恰好一段,提示行成为图注;密度版卡片数前后相同,3 张卡带该图注。
## 门禁(基线 `437dcecb` vs 本分支,同机同依赖)
| 检查 | 基线 | 本分支 |
| --- | --- | --- |
| tsc | 0 | 0 |
| lint | 0 error / 126 warning | 0 error / 126 warning |
| npm test | 4809 / pass 4744 / fail 24 / cancel 0 / skip 41 | 4823 / pass 4758 / fail 24 / cancel 0 / skip 41;失败清单逐名相同,基线名 0 丢失,新增 14 |
| `/` | Static | Static |
| 首屏 gzip(`/` 预渲染 HTML 引用 JS + CSS,gzip -9) | JS 555,325 / CSS 68,764 | JS 555,325 / CSS 68,764(±0.00%) |
| 快速门 Python | 1036 passed / 1 skipped | 1036 passed / 1 skipped / 0 failed |
| 快速门 npm 步 | 24 环境失败(Docker / PG / 部署) | 同 24 条 |
| 真库(替身)`database-segment-adoption.test.ts` | — | 2/2 |
| 隐私守卫 | — | 通过 |
## 改动的既有断言
无。`tests/database-segment-adoption.test.ts` 只追加断言,未改既有断言。
## 缺口
- 真 Docker 未跑(替身证据);真机与真实模型输出待部署 staging 后按 `docs/testing/rectification-chart-tier-caveats-20261001.md` 走。
- 写作模型报告路径(`PERSONAL_REPORT_WRITER_ENABLED = false`)未接 `demoteThemesMissingRequiredCharts`;该路径生产关闭,开启前需补。
- 只给图盘 / 数值位置表加提示,未给依赖 D9/D10 的主题段落(报告正文为引擎输出,无稳定的主题→分盘映射);若要按主题降级需引擎侧配合,另立单。
- 已生成的旧报告不回改(任务书 D3)。
## Claude 验收修正(2026-10-01)
| 项 | 原值 | 新值 | 原因 |
| --- | --- | --- | --- |
| 分盘可靠性判定 | 最新结果 `segment_summary` 中档位为 blocked / indistinct 即不可判 | 另加:非全窗唯一的分盘,存盘分钟(来源记录 `window_offset_minutes`)不在该盘头段,或偏移缺失,也不可判(`unreliableChartsForSavedMinute`) | 存盘分钟不随采用后的新结果变;D7 头段无交集时退回 D1 头段中点;只看档位会把存盘分钟读不到的星座标为较可信,放宽置信边界(AGENTS §8.4) |
| `rectification-adopted-chart-tiers.test.ts` fixture | 来源记录无 `window_offset_minutes` | 补该字段(60 / summary.adoption_minute.offset) | 真实 segment-v1 来源恒含此字段 |
| 新增测试 | — | 存盘分钟落在 D9 非头段 → 标注 D9;偏移缺失 → 窗内会变的盘全部标注 | 锁定上面的规则 |
## Claude 独立验收(2026-10-01,变基到 `origin/staging` @ `c304cf3a`)
| 检查 | 基线 | 本分支 |
| --- | --- | --- |
| tsc / lint | 0 / 0 error、126 warning | 0 / 0 error、126 warning |
| npm test | 4811 / fail 24 | 4827 / fail 24;失败清单逐名相同,基线名 0 丢失,新增 16 |
| 按 `deploy/railway-web.Dockerfile` COPY 清单构建(ERR-113) | — | exit 0 |
| `/` / 首屏 gzip | Static / JS 555,325、CSS 68,764 | Static / 完全相同 |
| `database-segment-adoption.test.ts`(PostgreSQL 17 替身) | — | 2/2 |
| 快速门 | — | Python 1036 passed / 1 skipped / 0 failed;npm 步同 24 条环境失败 |
结论:通过。缺口:真机与真实模型待部署后按 `docs/testing/rectification-chart-tier-caveats-20261001.md`;报告主题段降级未做(引擎读者版正文无稳定主题→分盘映射,需引擎侧配合另开单);写作模型报告路径(生产关闭)未接入。