docs: progress, bug history, changelog, backtest after-run for consult no-presupposition (BUG-1164~1168)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
ec06d422d3
commit
db568d1433
@@ -0,0 +1,81 @@
|
||||
# PROGRESS · 普通对话去预设、示例清理、纠正追问、名人回测改动后(2026-10-02,三单之三)
|
||||
|
||||
- 任务书:`docs/tasks/TASK-consult-no-presupposition-and-backtest-20261001.md`(origin/staging 最新版,含 D7 / T2b)
|
||||
- 执行:Claude fork 子代理(直接执行模式,产品授权);未推送
|
||||
- 分支 / worktree:`codex/consult-no-presupposition-backtest-20261001` / `.worktrees/consult-no-presupposition-backtest-20261001`
|
||||
- 基线:第二单分支 `codex/consult-affliction-reading-20261001` `695fd5ee`(已含第一单,待验收、未上 staging),合入 `origin/staging`(含回测基础设施 `691ee440`)无冲突 → 合并提交 `585c7370`。门禁基线数字在 `585c7370` 的独立检出 `.worktrees/nopresup-baseline-585c7370` 上实测。
|
||||
- BUG 编号:任务书预留 1167~1172;开工核对最大号 BUG-1163,按连续编号用 **1164~1168**(T1 1164、T2 1165、T3 1166、T4 1167、T2b 1168),1169 起未用。
|
||||
- 提交:`955bab69`(T1~T3、T2b、golden 重生成、脚本 `--correction`)、`071a196d`(脚本类型修正)、`ec06d422`(产品 10-02 年运 / 时运字数口径,见下)、文档提交。
|
||||
|
||||
## 环境
|
||||
|
||||
- Node 22.14(`/exec-daemon/node`);`frontend/node_modules` 用 `cp -al` 硬链接自第一单 worktree(真目录,gitignore,未提交)。
|
||||
- 无 Docker:24 条数据库 / 部署套件失败,与基线逐条同名。
|
||||
- 模型 key 只从环境变量 `DS_KEY` 读,未写入任何文件、日志、提交。模型输出在 `scratch/consult-biography-backtest/after-20261002/`(gitignore),未提交。
|
||||
- Python 用本机 python3(无项目 `.venv`);本单未改根目录 `scripts/**` 与 `tests/**`,未跑快速门。
|
||||
|
||||
## 实现
|
||||
|
||||
| 任务 | 落点 |
|
||||
| --- | --- |
|
||||
| T1(BUG-1164) | `consultation-thinking-plan.ts` 新常量 `NATAL_SECTION_RULE` = 任务书 T1 定稿句,「不预设」一句按 D7 补「做哪类工作」;`natalAnswerShapeBody` 用它取代「这个人是什么样、你们怎么相处、事情会怎么走」,再接「每段的判断后在括号里给撑住它的盘上依据」。`product-voice.ts` ANSWER SHAPE 第 3 条原本是同一句的第二份写法,改为引用 `${NATAL_SECTION_RULE}`(硬红线 1:规则文本只在一个文件) |
|
||||
| T2(BUG-1165) | 是非题 Good 例改「不是。(4 宫主落 10 宫)她把心力放在你的前途上……」;删「你这段婚姻更像先把已经在一起的关系过稳」;父母 Good 例重写为「受冲先说、用可能、段末请确认」,删「分量重」「标杆」「问爸爸的意见」;示例标签改为「括号里是依据的占位,只演示口气与结构,不是读法」。`VOICE.md` 同步,并加「示例只演示口气与结构」「用户纠正盘上判断」两条 |
|
||||
| T2b(BUG-1168) | 事业 Good 例去「升职」、工作宫改 6 宫、依据改占位;Bad 例改「你更适合长期做一件事……把手上的事做稳」;追问轮 Good 例「这份工作还值得留……不是换公司」改「现在这条路还值得走……不是换方向」 |
|
||||
| T3(BUG-1166) | `FOLLOW_UP_CORRECTION_RULE` = 定稿句,接在 `followUpAnswerShapeInstruction` 追问轮说明之后 |
|
||||
| T4 第 5 条(BUG-1167) | golden 用真实引擎重生成(见下);脚本加 `--correction <ids>` / `--correction-text`:对列出名人的每份父母答案,在同会话追加一轮(历史 = 上一问一答,`natalUserTurnShape` 读历史走追问轮形状,`followUpTurn: true`);跑改动后全量并逐份评分,结果写进 `docs/testing/consult-affliction-backtest-20261001.md`「改动后」 |
|
||||
| 测试 | 新文件 `frontend/tests/consult-no-presupposition-20261001.test.ts`(4 条) |
|
||||
|
||||
`git grep -n "逆行" frontend/src/mastra 'frontend/src/lib/consultation-*.ts'` 结果 3 行,全是允许项:`consultation-condensed-checklist.ts:63` 第二单通用读法的禁令句「逆行不等于『反复、打回来』」;`consultation-technique-audit.ts:60–61` 技法名「逆行次限」「逆行太阳弧」。测试 T2 把这 3 行列成白名单。
|
||||
|
||||
## golden 重新生成
|
||||
|
||||
旧 golden(`691ee440`)生成于第一单之前:`graha_drishti`、`combust`、`yoga_domains`、`saturn_from_moon_house` 都是 0 处,回测看不到第一单的新卡字段。用同一命令 `JYOTISH_API_CHART_CACHE_TTL_SECONDS=0 PYTHONHASHSEED=0 python3 scripts/research/capture_consult_biography_backtest_golden.py` 在本分支重跑(capture 复用的 `trim()` 已是第一单版本),两次输出逐字节相同,未手改。2,872,080 → 3,860,364 字节;四个字段分别 36 / 252 / 36 / 36 处。`--dump-cards` 确认 36 张卡都带 `aspected_by`、通用读法段。
|
||||
|
||||
## 产品决定(2026-10-02):年运 / 时运字数口径
|
||||
|
||||
协调方转达产品决定:年运、时运与事业 / 婚姻 / 财富同口径(契约 + 卡 ≤ 12,000,含清单 ≤ 18,000)。单独提交 `ec06d422`:删 `CONSULT_READING_BUDGET_BLOCKED`,两条 size 断言与第二单的钉住测试改口径(三栏见第二单进度记录「产品决定」段),BUG-1160 / 1161 改 resolved,`BLOCKED.md` 划掉。实测三张 golden 盘:年运 契约 + 卡 9,501~9,882、总量 12,598~12,979;时运 8,555~8,604、12,208~12,257。
|
||||
|
||||
对回测的影响:两次 `--dump-cards`(提交前 / 后)36 张模型可见工具结果逐字节相同;回测的四个领域不受这一提交影响,模型 72 份也没有自选年运 / 时运,所以改动后回测结果对最终分支有效。
|
||||
|
||||
## 改动的既有断言(原值 / 新值 / 原因)
|
||||
|
||||
| 文件 · 测试 | 原值 | 新值 | 原因 |
|
||||
| --- | --- | --- | --- |
|
||||
| `consultation-voice-contract.test.ts`「the pinned Good examples…」 | `indexOf("Good (父母题首轮,按对象分段;盘上数据是示意)")`、事业同 | 标签改为「括号里是依据的占位,只演示口气与结构,不是读法」,事业再加「不预设读者在上班、做哪类工作」 | D3 / D7 |
|
||||
| 同上 | `/(4 宫母亲宫的宫主水星落在 10 宫事业宫;代表母亲的月亮也在 10 宫)/` | `/(4 宫主落 10 宫;月亮在 10 宫)/`,加锁爸爸段「可能不常在你身边…请确认」、不得有「分量重 / 标杆 / 爸爸的意见 / 靠做事」 | D1 / D3 |
|
||||
| 同上 | `/…说直接点:这份工作还值得留/` | `/…说直接点:现在这条路还值得走/` | D7 |
|
||||
| 同上 | Bad 行 `startsWith("Bad: 你更适合把已经积累的专业能力做成长期事业")` | `startsWith("Bad: 你更适合长期做一件事")`,理由不变;加全篇不得有「专业能力 / 升职 / 做深 / 现有工作 / 这份工作」 | D7 / T2b |
|
||||
| 同文件「the voice answers the sentence asked…」 | `/不是。4 宫主水星逆行落 10 宫/` | `/不是。(4 宫主落 10 宫)她把心力放在你的前途上/`,加 voice 不得有「逆行」「已经在一起的关系」 | D2 / D3 |
|
||||
| 年运 / 时运口径的 4 处 | 见第二单进度记录「产品决定」段 | | 产品 10-02 |
|
||||
|
||||
## 交付门
|
||||
|
||||
| 项 | 基线 `585c7370` | 本分支 |
|
||||
| --- | --- | --- |
|
||||
| `tsc --noEmit` | 0 错 | 0 错 |
|
||||
| `npm run lint` | 0 error / 126 warning | 0 error / 126 warning |
|
||||
| `npm test`(Node 22) | 4,884(pass 4,819 / fail 24 / skip 41 / cancelled 0) | 4,888(pass 4,823 / fail 24 / skip 41 / cancelled 0),新增 4 条、无删除;在 `ec06d422` 上实测 |
|
||||
| 失败名单 | 24 条,数据库 / 部署类 | 与基线逐条同名 |
|
||||
| `next build` | `/` ○ Static | `/` ○ Static |
|
||||
| 首屏 gzip(`index.html` 引用 26 个脚本 gzip-9 求和,第二单同法) | 555,694 B | 555,694 B(0%) |
|
||||
|
||||
## 名人回测改动后(摘要,详表见测试文档)
|
||||
|
||||
| 项 | 改动前 | 改动后 | 通过线 | 达到 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 严重冲突 | 39 / 72 | 19 / 72 | — | — |
|
||||
| 排查记录 5 份 × 2 | 10 / 10 冲突 | 奥巴马父母、乔布斯父母、泰勒婚姻 6 / 6 过;泰勒健康 2 份读反;泰勒事业 2 份严重 | 全过 | 否 |
|
||||
| 新增 4 位严重冲突 | 20 / 32 | 7 / 32 | ≤ 1 | 否 |
|
||||
| 对照组误报 | 1 | 15(Bush、Zidane 与奥巴马婚姻 / 健康) | 0 | 否 |
|
||||
| 禁句 | 7 | 0 | 0 | 是 |
|
||||
| 事业「专业 / 顾问 / 幕后」 | 16 / 18 | 16 / 18 | ≤ 3 / 18 | 否 |
|
||||
| 纠正追问(4 位 × 2) | — | 8 / 8 先认下、不辩护 | 无辩护 | 是 |
|
||||
|
||||
未达到的原因(判断,详见测试文档「读出来的东西」与 BUG-1164 / 1168):第二单「受冲信号两个及以上」门槛几乎每张盘都满足,T1 定稿句又要求此时第一句写这一面,误报从 1 涨到 15;事业题示例不是主因,可疑源头是通用读法的先写受冲与事业清单第 3 行「面试 / 正式职位」三层。定稿句、清单文本按任务书不得改意思,本单未改,交产品决定。
|
||||
|
||||
## 未做 / 交给后续
|
||||
|
||||
- 受冲门槛(BUG-1164)与事业清单(BUG-1168)——需产品决定后另开单。
|
||||
- 纠正追问轮的「反向全盘附和」副作用(BUG-1166 副作用段)。
|
||||
- 年运 / 时运单领域轮放开后的效果未回测(回测领域不含年运 / 时运)。
|
||||
- 真机清单在测试文档末尾,待 staging 部署后由产品走。
|
||||
@@ -404,5 +404,5 @@
|
||||
| `TASK-consult-timeline-no-plan-20261001.md` | `PROGRESS-consult-timeline-no-plan-20261001.md` | 普通对话进度栏提前打勾:回答提纲在算盘前就作为四行步骤显示并全部打勾(BUG-1145);产品选 B 去掉提纲行,只显示真实步骤 | **实现完成,待 Claude 验收**(直接执行) | 分支 `codex/consult-timeline-no-plan-20261001` |
|
||||
| `TASK-staging-otp-skip-password-20261001.md` | `PROGRESS-staging-otp-skip-password-20261001.md` | staging 新邮箱用固定验证码登录后被强制设置密码,测试者误以为要密码登录;产品选「测试通道验证码登录跳过设置密码」,生产不变(BUG-1152) | **已实现推 staging**(Claude 直接执行),真机清单 `docs/testing/staging-otp-skip-password-20261001.md` | 分支 `codex/staging-otp-skip-password-20261001` |
|
||||
| `TASK-consult-card-affliction-data-20261001.md` | `PROGRESS-consult-card-affliction-data-20261001.md` | 普通对话「盘上有信号、模型没认出」三单之一:数据卡补相位(谁照谁)、同宫、燃烧,父母卡带宫主与代表星完整行,健康卡加 1/12 宫、学业卡加 4 宫,瑜伽按领域分流(预留 BUG-1154~1159);排查记录 `docs/research/consult_affliction_audit_2026_10_01.md` | **已实现待验收**(Claude 子代理直接执行,BUG-1154~1159;未推送);三单串行第一 | 分支 `codex/consult-card-affliction-data-20261001` |
|
||||
| `TASK-consult-affliction-reading-20261001.md` | `PROGRESS-consult-affliction-reading-20261001.md` | 三单之二:全领域「先看受冲、再看旺弱」通用读法,补齐父母/子女/学业/迁居/家庭/年运/综合/健康中文清单,健康改名「健康」先讲体质底子(预留 BUG-1160~1166) | **已实现待验收**(Claude 子代理直接执行,BUG-1160~1163;未推送);年运 / 时运单领域轮因 12,000 字符口径 blocked,待产品决定 | 分支 `codex/consult-affliction-reading-20261001` |
|
||||
| `TASK-consult-no-presupposition-and-backtest-20261001.md` | `PROGRESS-consult-no-presupposition-backtest-20261001.md` | 三单之三:写作形状去掉「对象在场」预设、受冲时请用户确认、删被照抄的「逆行」示例、用户纠正时不辩护;建立名人生平回测作为普通对话提示词改动的固定验收(预留 BUG-1167~1172) | **待领取**;依赖第二单上 staging;回测需模型 key | 分支 `codex/consult-no-presupposition-backtest-20261001` |
|
||||
| `TASK-consult-affliction-reading-20261001.md` | `PROGRESS-consult-affliction-reading-20261001.md` | 三单之二:全领域「先看受冲、再看旺弱」通用读法,补齐父母/子女/学业/迁居/家庭/年运/综合/健康中文清单,健康改名「健康」先讲体质底子(预留 BUG-1160~1166) | **已实现待验收**(Claude 子代理直接执行,BUG-1160~1163;未推送);年运 / 时运字数口径产品 10-02 已定(同事业 / 婚姻 / 财富),实现在第三单分支 `ec06d422` | 分支 `codex/consult-affliction-reading-20261001` |
|
||||
| `TASK-consult-no-presupposition-and-backtest-20261001.md` | `PROGRESS-consult-no-presupposition-backtest-20261001.md` | 三单之三:写作形状去掉「对象在场」预设、受冲时请用户确认、删被照抄的「逆行」示例、用户纠正时不辩护;建立名人生平回测作为普通对话提示词改动的固定验收(预留 BUG-1167~1172) | **已实现待验收**(Claude 子代理直接执行,BUG-1164~1168;未推送);基于第二单分支 + staging;名人回测已跑改动后:严重冲突 39→19、禁句 7→0、纠正追问 8/8,但对照组误报 1→15、事业「专业/顾问/幕后」16/18,T4 / T2b 通过线未达到;含产品 10-02 年运 / 时运字数口径(第二单 blocker 解除) | 分支 `codex/consult-no-presupposition-backtest-20261001` |
|
||||
|
||||
Reference in New Issue
Block a user