244f03917bbeeafe312a01f3cd18c9772639fd2d
## 对 ZSY 三件事的核实与裁决(docs/33-ZSY底座扩展确认-回复.md) 1. **访客身份**:`data_scope="public"` 我扫了全平台 26 个消费点,对未知值的行为一致 fail closed(6 处 `== "all"` 判假、1 处 `!= "all"` 会要求 customer_ids 非空否则 403、 1 处显式白名单直接拒),**安全,不用改**。但有一条硬约束必须先确认:全平台有 **72 处 `int(context.user_id)`,只有 3 处做了防御**——若访客的 sub 不是纯数字, 其中"权限被拒时要写审计"的路径会把本该 403 的情况变成 500。已要求他确认 sub 为纯十进制数字、且 visitor 分支复用同一套 `jwt.decode`(含 isdecimal 校验), 而不是另写第二个鉴权入口。 2. **客服 Agent**:`allowed_roles` 扩集合与确定性安全路由可接受;`recalls_customer_memory` 是新声明字段,已要求**默认值必须是 True**(否则会静默关掉所有既有 Agent 的记忆召回, 界面看不出来、只表现为回答变差)。品牌名(南方科技 → 奶龙基金责任有限公司)属业务 口径,已上报项目方定,不由技术侧拍板。 3. **current_customer_id**:**他的判断正确**。我独立实测 information_schema: `EXTRA=''` 且 `GENERATION_EXPRESSION=''`,配合 baseline_generated.sql 无 GENERATED 子句、seed_profile_demo.py 的注释、profile_repository.py 用原生 SQL 显式写入, 四处一致 ⇒ `docs/00` 第 783 行"生成列"的描述是错的。处置:按真实 schema 映射成 普通可空列、**不改 docs/00**(规则 1)、**不补迁移**(DDL 本身正确,为让文档成真而加 生成列会改变既有列语义,违反规则 4)、但**必须登记这处偏差**。 另:他删了两个死代码文件(含一处硬编码 Milvus 字段名,违反 AGENTS.md §E),方向认同, 但要求他在 PR 里附上两条 git grep 的实际输出以证明"全仓唯一引用是它自己的单测"。 ## 落实我在回复里承诺的两件事 - `docs/08-数据库结构审计基线.md` 新增"六、已知文档偏差",逐条登记上述偏差(含四处 证据与处置口径),并注明发现方式; - `AGENTS.md` 环境口径新增 `MILVUS_LOCAL_URI` 的坑:配了会让健康检查与部分检索指向 本地 Milvus Lite 文件,出现"健康检查正常、实际查的是另一个库";并注明 `milvus-lite` 属本地开发依赖,应放 `optional-dependencies` 而非主依赖。 ## 顺带更新 AGENTS.md 的过期口径 - 表数 68 → **89**(场内 51 + 场外/推广 17 + 投顾 21),并注明投顾那 21 张的登记文档待补; - 测试基线从"1034 passed / 1 failed"改为实测值:ruff 干净 / mypy 228 文件 0 错 / 1207 passed 0 failed / integration 99 passed,并指向 docs/32; - mypy 那条从"本机 181 错、双方不可比"改成可操作的判据:先对版本,根因是某一侧虚拟环境 没满足 pyproject 的 sqlalchemy>=2.0,<3 / mypy>=1.14,<2;并写明**不要装 sqlalchemy2-stubs** (那是给 1.4 的,2.0 自带 py.typed,装了反而按 1.4 API 报一批新错)。 文档守卫:42 份无编号冲突。
Description
番茄炒蛋组
18 MiB
Languages
Python
99.9%