docs(tasks): 库主案例清除 fe9489e6 验收未通过——答案键守卫撞 pl9_1993 模式(P0)修复单 + 状态板

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8
This commit is contained in:
Jesse_Chen
2026-09-19 23:35:43 +08:00
co-authored by Claude Fable 5.1
parent 35ca7299c9
commit 4a87790984
2 changed files with 58 additions and 1 deletions
+1 -1
View File
@@ -286,7 +286,7 @@
| `TASK-rectification-precision-gate-guided-collect-fix-20260916.md` | `PROGRESS-rectification-precision-gate-guided-collect-fix-20260916.md` | **验收修复单**F1 `decision_receipt` 新增 `guided_collect_windows` 让 `test_rectification_engine_memoization` golden 红(在 CORE_PYTEST_TARGETSstaging 未部署 cfb41daf);F2 16 条既有校正断言红未按三栏改;F3 `mayDeliverOnPrecision` 缺省即放行、短路 BUG-654 且 `guidedCollectExhausted` 不含 refresh;F4 无领域轨道窗口轮询贴领域、一窗只问一领域;F5 离线回放注入 month_lo 非真值方向、0/20 不作数;F6 录入卡合成「或」列表句走模型轮;F7 page.tsx +1、手造 fixture。D6 产品已拍板:门槛只是必要条件,仍问完线再出。BUG 段 744 起 | **已验收通过,已合入 staging**;合入后 run `2697` 仍红 capability audit`(secondary)/chart`),跟进 BUG-753 | `dc732825`Opus 子代理实现,Claude 独立验收):tsc 0 / lint 0 error / npm test 3405 条 31 红与基线 a396bbe0 逐条一致(16 条校正红转绿、0 新红)/ pytest 193 通过 / `○ /` Static / gzip 582,552 → 582,800+0.04%/ page.tsx 1836 → 1835 / golden diff 仅加 `guided_collect_windows` 一键 / Skill 10.0.28。F5 真值方向回放三档仍 0 例靠引导件达标,作研究结论记录。D2+D6 合并后 10 分钟门槛只上报不改出卡时机 |
| — (产品口头拍板,无任务书) | `PROGRESS-agent-voice-20260917.md` | **对话口气改形状(纯提示词与文案,无 BUG 号)**:产品判定现有人设出来的是顾问报告。人设改成「把人当一个人认真对待 / 行动力很强、嘴有点毒但靠谱的同事」;开场从「一句结论 + 2–3 条短要点 + 一句下一步」换成固定形状——**反差**(表面 A 底下 B,命名成一个格局)→ **谁在推谁在修**(大运主星推、行运修体面)→ **别去应 X 的象,去扮演 Y 的象** → **最多三条短行动**(各 ≤ 20 字),仍无标题、≤ 400 字。新增希望纪律:有转机且允许精确应期就说到月份,没有就说这段时间拿来干什么、能扮演哪个象,禁「一切都会好 / 相信自己 / 加油 / 你值得更好的 / 宇宙自有安排」。申报时段与无出生分钟两条降级路线形状照给、不编月份。改 `product-voice.ts` / `consult/route.ts` 用户回合文案 / 三处复述旧形状的系统指令 / `VOICE.md`(五条原则→七条)/ `CHANGELOG.md`。零业务逻辑改动,Skill 版本不变 | 已实现,待验收 | `codex/agent-voice-20260917`tsc 0 / lint 0 error118 warning 不变)/ npm test 3468→3471 条、36 红与基线 `ff0427cf` 逐条相同、0 新红 / `○ /` Static / 首屏 gzip 1,416,965 两侧**字节相同**(改动全在服务端模块,客户端 chunk 无该文本)。真机口气走查欠 |
| — (产品口头拍板,无任务书) | `PROGRESS-settings-ui-20260919.md` | **设置面板布局与资料入口整理**:基线 `4f4cd684`;四分区继续共用固定 `.settings-modal`,桌面导航 176px→200px 并加分隔,内容区增加内边距,表单 cap 440px→560px,导航移除误导性右箭头;账户头像 48px→56px;“添加其他人”移到分组标题操作区。已同步 `frontend/DESIGN.md` 与合同测试;tsc 0、lint 0 error、定向测试 21/21build 被 Windows Skill runtime symlink 权限阻塞,浏览器走查待受控环境;BUG-970 保持 `investigating` | 待验收 | `codex/settings-ui-20260919` |
| `TASK-owner-case-purge-20260919.md` | `PROGRESS-owner-case-purge-20260919.md` | **上游库主案例与本机路径残留清除(只含本仓)**:镜像同步带进库主本人案例(`pl9_1993_user_case` / `yn-1993`)与其本机绝对路径,`origin/staging` 命中 95 个文件:33 个在无引用的 `versions/` 三快照(3,467 文件、71.6 MB)、13 个前端 fixture、10 个 Python 测试(其中 1 个用生日+出生分钟、2 个断言本机路径)、11 份整机扫描台账 + 1 份 manifest、2 份会话转录、上游 SKILL 快照。运行时无特判不用动。产品拍板整体删除不留匿名版;fixture 统一虚构常量;`import_yinduzhanxing.py` 加隐私排除项 + 新增仓库级隐私守卫测试;上游 SKILL 快照等库主清完再重导入(BLOCKED 记录)。上游仓的清理指令另见 `UPSTREAM-INSTRUCTION-owner-case-purge-20260919.md`(交给库主,不在本仓执行)。BUG-972/973 | 待领取 | — |
| `TASK-owner-case-purge-20260919.md` | `PROGRESS-owner-case-purge-20260919.md` | **上游库主案例与本机路径残留清除(只含本仓)**:镜像同步带进库主本人案例(`pl9_1993_user_case` / `yn-1993`)与其本机绝对路径,`origin/staging` 命中 95 个文件:33 个在无引用的 `versions/` 三快照(3,467 文件、71.6 MB)、13 个前端 fixture、10 个 Python 测试(其中 1 个用生日+出生分钟、2 个断言本机路径)、11 份整机扫描台账 + 1 份 manifest、2 份会话转录、上游 SKILL 快照。运行时无特判不用动。产品拍板整体删除不留匿名版;fixture 统一虚构常量;`import_yinduzhanxing.py` 加隐私排除项 + 新增仓库级隐私守卫测试;上游 SKILL 快照等库主清完再重导入(BLOCKED 记录)。上游仓的清理指令另见 `UPSTREAM-INSTRUCTION-owner-case-purge-20260919.md`(交给库主,不在本仓执行)。BUG-972/973 | **已验收:未通过(1 P0 + 1 P2 + 1 P3)→ 修复单 `TASK-owner-case-purge-fix2-20260919.md`** | `fe9489e6`Claude 在 Linux 全依赖环境独立验收):tsc 0 / lint 0 error 120 warning 同基线 / `npm test` 3530 条 33 红失败清单与基线 `35ca7299` 逐条相同 / `next build` `○ /` Static、首屏 gzip 617,915 与基线字节相同 / Python 全量收集 2,905→2,9700 收集错误)、64 红 vs 基线 63 红,**新红 1 条**`test_rectification_engine_convergence` 答案键守卫命中 `import_yinduzhanxing.py` 新增的 `**/*pl9_1993*` 模式,快速门实跑因此 failed(P0,删该模式即可,被 `**/*1993*` 包含)/ 隐私检索:本机用户名 0 命中、生日与分钟仅 2 处数值巧合(已核为 raahu_kaalam 时段与 17 簇窗口测试)/ 校正 Skill 哈希包 186 文件、注册表、上游快照、frontend/src、主 API 均 0 改动 / 证据索引 185→174 包、缺失路径 012 个 claim_status 校验器不认识是基线既有红)/ P2 进度记录缺 12 个已删测试名(验收已列出)/ P3 上游指令与历史文档把案例 ID、函数名也脱敏成占位符,仓内归档件不可执行(产品已持有 35ca7299 原文) |
## 命名与归档
@@ -0,0 +1,57 @@
# TASK · 库主案例清除验收修复单(2026-09-19,第二轮)
> 状态:待领取。串行在 `codex/owner-case-purge-20260919``fe9489e6`)之上,同一分支继续提交。上一轮验收结论见 `docs/tasks/README.md` 状态板。
> 本单不转录任何出生日期、出生分钟、经纬度、本机用户名。
## 0. 基线
- 分支:`codex/owner-case-purge-20260919` @ `fe9489e6`,基于 `origin/staging` `35ca7299`
- 验收环境(LinuxPython 3.11 + pyswisseph 轮子,Node 20,依赖装在 worktree 内):tsc 0 错;lint 0 error / 120 warning 与基线相同;`npm test` 3530 条、33 红、15 skip,失败清单与基线逐条相同;`next build` `/` Static,首屏 gzip 617,915 字节与基线**字节相同**Python 全量 64 红 vs 基线 63 红。
- 执行方在 Windows 上没能跑完 Python 全量(缺 mcp / hypothesis),进度记录里「0 新红」的结论只覆盖定向测试,所以漏了下面 F1。
## 1. 事故实证
### F1P0)新增一条 Python 红:答案键字面量守卫命中导入脚本,staging 快速门会红
- `tests/test_rectification_engine_convergence.py:396-416` `EngineConvergenceAnswerKeyTests.test_scripts_and_frontend_have_no_answer_key_literals``scripts/``frontend/src``frontend/tests` 里禁止三个字面量(`target_minute``pl9_1993``regression_only`,测试里用字符串拼接写的)。
- `scripts/import_yinduzhanxing.py:56-64` 新增的 `REQUIRED_PRIVACY_PATH_PATTERNS` 第三项是 `"**/*pl9_1993*"`,命中该守卫。基线上该测试通过。
- 这条模式被第一项 `"**/*1993*"` 完全包含,删掉不减少任何拦截能力。
- `run_quality_gate.py:66``CORE_PYTEST_TARGETS` 含 glob `tests/test_rectification_*.py`,该测试在快速门内。验收实跑 `--profile quick`Python 步 856 条只有这 1 条红,`== Quality gate failed ==`。**合入 staging 会让门禁红、镜像不发布**,所以是 P0。
### F2(P3)上游指令被脱敏到不可执行
- `docs/tasks/UPSTREAM-INSTRUCTION-owner-case-purge-20260919.md``fe9489e6` 里把案例 ID、函数名、文件名批量替换成 `[库主案例标识已移除]` / `[私人案例引用已移除]`,并删掉了第三步的 `git ls-files | grep` 命令。案例 ID 和函数名不是出生资料;原单只禁出生日期、分钟、经纬度、本机用户名。替换后库主拿到的是无法定位的占位符。
- 产品手里已有 `35ca7299` 版本的原文(验收时已单独发出),这条不阻塞交付,只是仓内归档件应可读。
- 同类替换也落在 `TASK-rectification-convergence-20260830.md``TASK-upstream-sync-20260903.md` 等 11 份历史文档里,其中真实出生日期 / 分钟的替换(`[隐私标记 R001/R003 已移除]`)是**对的**,保留;文件名被替换成整句「会话转录已按 … 决策删除」造成句子不通,属美观问题,不要求回改。
### F3(P2)进度记录缺逐项删除测试清单
- 执行方在 `PROGRESS-owner-case-purge-20260919.md` 写明因写入权限没能落盘。验收从 diff 得到的清单如下,直接抄进进度记录即可(都是文件名,不含隐私):
`test_deep_fragment_oss_reuse_gate_round2``test_fragment_migration_registries``test_fragment_second_pass_candidate_ledger``test_high_value_gap_registries``test_technique_promotion_audit_kp_gochara_muhurta``test_truth_source_runtime_identity``test_whole_machine_jyotish_fragment_scan``test_workbuddy_round3_candidate_ledger``test_workbuddy_round4_candidate_ledger``test_workbuddy_round4_formalization_registry``test_workbuddy_round4_usage_closure_queue``test_workbuddy_round5_transfer_status`12 个文件)。
- 验收实测 Python 收集数(Linux 全依赖环境,0 收集错误):基线 2,905 条 / 501 文件 → 分支 2,970 条 / 491 文件,净 +65 = 108 新增 43 已删,文件 −10 = 12 删 + 2 增;与进度记录在 Windows 上算出的 +65 一致(那边绝对数 2,758 → 2,823 是因为 13 个模块收集失败)。
## 2. 决策记录
- 沿用原单与执行方补充单(`TASK-owner-case-purge-fix-20260919.md`)的全部授权,不新增范围。
- F2 只恢复 `UPSTREAM-INSTRUCTION-*.md` 一份文件到 `35ca7299` 的措辞(`git show 35ca7299:docs/tasks/UPSTREAM-INSTRUCTION-owner-case-purge-20260919.md`),其余历史文档的脱敏保持 `fe9489e6` 状态。恢复前用分支上的 `tests/test_repo_privacy_markers.py` 扫一遍,命中即不恢复并写进度记录。
## 3. 任务
| # | 动作 | 验收 |
| --- | --- | --- |
| F1 | 删 `REQUIRED_PRIVACY_PATH_PATTERNS` 里的 `"**/*pl9_1993*"``tests/test_import_yinduzhanxing.py:81,361``len()` 参数化,不需要改;若有断言写死 7 条则改成 6 并三栏说明 | `pytest tests/test_rectification_engine_convergence.py tests/test_import_yinduzhanxing.py -q` 全绿;用原单的检索键确认 `scripts/` 仍 0 命中 |
| F2 | 恢复上游指令文件到 `35ca7299` 版本 | `pytest tests/test_repo_privacy_markers.py -q` 通过 |
| F3 | 把上面 12 个测试名与收集数核算写进 `PROGRESS-owner-case-purge-20260919.md` | 文件里能找到 12 个名字 |
| F4 | `docs/BUG_HISTORY.md` BUG-973 补一行「验收发现 `pl9_1993` 模式撞答案键守卫,已删」;`BLOCKED.md` 里「删除测试清单写入权限」一条划掉 | — |
## 4. 硬红线
原单 §4 全部沿用;额外:不动 `tests/test_rectification_engine_convergence.py` 的禁止字面量列表来换绿。
## 5. 开工前置
```bash
cd /workspace/Jyotisha && git status -sb && git fetch origin refs/heads/codex/owner-case-purge-20260919:refs/remotes/origin/codex/owner-case-purge-20260919
git worktree add .worktrees/owner-case-purge-fix2-20260919 origin/codex/owner-case-purge-20260919 -b codex/owner-case-purge-20260919-fix2
```
完成后快进合回 `codex/owner-case-purge-20260919` 并推同名远端分支,Claude 再验一次全量后合入 staging。