docs(W19): 补登画像题真机复验(fin_customer_profile 6 行,H-03/D-04 由查不到档案变为有数据可依)

This commit is contained in:
张胜宇
2026-09-20 17:54:43 +08:00
parent d9151ac1b1
commit fc4351e219
2 changed files with 2 additions and 0 deletions
@@ -64,6 +64,7 @@
| 9 | 📌 **版本位同步**:`D2.2` v2.7 / `D2.4` v1.7 / `D3.1` v2.6 / `D3.2` v1.6;`D1.1` 头部 **v1.8 → v1.9** + 四处版本位同步(含两处历史遗留:`D2.4` 的 `v1.3`、`D2.2` 的日期列) | `D1.1` §28 |
| 10 | ✅ **真机入参边界复验 12/12**(8 条越界 → 422 `AGENT_INPUT_INVALID`;4 条合法边界 → 202):`_fe_boundary_http.py`(**重建件**,原件于本轮被误删)—— 证据 `_fe_boundary_http_result.json` | 本轮真机实测 |
| 12 | ✅ **画像题真机复验通过**(补 `v6.33` 的登记缺口):`fin_customer_profile` 直查 **6 行**,「我够哪一档?」/「我的风险测评结果是什么」均 `transfer=false`、`tools=['query_customer_profile']`,答出 C1 + **客户分层 普通** ⇒ `H-03` / `D-04` 由「查不到档案」变为**有数据可依** | 本轮真机实测 |
| 11 | ⚠️ **自我失误留痕**:本轮清理临时文件时判据过宽,误删 `_consistency.py`(已原样恢复)、`_legacy_customer_service.py`(已按 `f72a545` 逐字节重建,40,554 字节)、`_fe_boundary_http.py`(**原件不可恢复**,已按既有判据重建并实跑 12/12)与若干历史轮次原始日志;结论均在文档表格内,原始输出不可追。教训:按「本轮新建清单」逐个删,禁用通配判据 | `D1.6` §4.47 五 |
**看板状态更新**:`D-1` / `D-3` **✅ 已落地**;**建议 B ✅ 已完成**(原挂「演示后做」)。
**仍挂起**:`D-2`(同会话重复模糊问句漂移,**只登记不修**、演示避开);`D-4`(英文问句落 `E5b`,登记为已知边界)。
@@ -3087,6 +3087,7 @@ pytest **2 failed / 1577 passed / 2 skipped**(= `T0` 基线同两项)、ruff
| 全量回归 | 见会话末尾汇报(跑前停常驻 Worker、跑后重启 API + Worker) |
| 版本位 | `D2.2` **v2.6 → v2.7**、`D2.4` **v1.6 → v1.7**、`D3.1` **v2.5 → v2.6**、`D3.2` **v1.2 → v1.6**;`D1.1` 头部 **v1.8 → v1.9** + 四处版本位同步;`D2.1` 新增 **v6.34** 段 |
| 顺带修正 | `D1.1` §4.0 / §4.1 里 `D2.4` 的版本位**长期停在 `v1.3`**(实际早已 `v1.6`)⇒ 更正为 `v1.7`;§4.2 的 `D2.2` 日期列 `2026-09-17` ⇒ `2026-09-20` |
| 画像题真机复验(补上 `v6.33` 登记的缺口) | `v6.33` 曾登记「`fin_customer_profile` **0 行** ⇒ `H-03` / `D-04` 未真正评到」。本轮直查该表已有 **6 行**,遂真机复验两条:**「我够哪一档?」** 与 **「我的风险测评结果是什么」** 均 `succeeded`、`transfer=false`、`tools=['query_customer_profile']`,答出「风险测评等级 保守型(C1)/ 投资期限偏好 短期(1 年以内)/ 交易频率 较低 / 偏好资产类别 货币基金 / **客户分层 普通**」—— 即①**字段级只读作答**生效、②**未泄露越权内容**、③`H-03` 的「未编造档位」由**有数据可依**取代 |
| 真机边界复验 | `_fe_boundary_http.py`(**重建件**,见下行)**12/12 符合预期**:越界 8 条(`message` 空串 / 纯空白 / 8001 字、`session_id` 空串 / 65 字、`idempotency_key` 15 字 / 65 字、多余字段)→ **422 + `AGENT_INPUT_INVALID`**;合法边界 4 条(`message` 8000 字 / 1 字、`session_id` 64 字、`idempotency_key` 64 字)→ **202**。证据 `_fe_boundary_http_result.json` |
| ⚠️ **自我失误留痕(必读)** | 本轮清临时文件时,我的删除判据写得过宽(「顶层 `_*.py` / `_*.txt` 一律删」),**误删了不该删的文件**:① `_consistency.py` —— 从 `客服agent\_build\_consistency.py`(同一份、已入库)**原样恢复**;② `_legacy_customer_service.py` —— 按「从 `git HEAD` 导出」的原始口径,从 `f72a545:app/service/agent/implementations/customer_service.py`(748 行、**无** `E5b`,即旧实现)**逐字节重建**(40,554 字节),并核对 `probe_legacy.py` 的加载契约(`CustomerServiceAgent` + 5 个终端方法)通过;③ `_fe_boundary_http.py` —— **原件不可逐字恢复**(不在 git、非回收站可还原),已按文档记载的判据**重建同名脚本并实跑 12/12**,文件头显式标注「重建件、非原件」;④ 另丢失若干**历史轮次的原始日志**(`_regress_pytest*.txt` / `_verify_all.txt` / `_pre_commit_pytest.txt` / `_commit_msg.txt` / `_merge_msg.txt`)—— 其**结论都在文档表格里**,但**原始输出已不可追**。**教训**:清理必须按「本轮新建的文件清单」逐个删,不能用通配判据 |
| ⚠️ 未做(诚实声明) | ① 三份完整版 / 收敛版的 `HNSW` / `IVF_FLAT` **原文保留**(口径=加注不改原文);② `D-2`(同会话重复模糊问句漂移)仍**只登记不修**;③ `D-4`(英文问句落 `E5b`)登记为已知边界 |