Skip to content

fix(feedback): sources_json 落库前条数封顶 + 逐条收缩,防超 TEXT 上限整条反馈 500 丢失 - #10

Open
leaderwm wants to merge 1 commit into
zhyese:mainfrom
leaderwm:fix/feedback-sources-cap
Open

fix(feedback): sources_json 落库前条数封顶 + 逐条收缩,防超 TEXT 上限整条反馈 500 丢失#10
leaderwm wants to merge 1 commit into
zhyese:mainfrom
leaderwm:fix/feedback-sources-cap

Conversation

@leaderwm

@leaderwm leaderwm commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

问题

/qa/feedback 新增的 sources 列表(List[dict])无条数与单条长度上限;超 MySQL TEXT 64KB 时 sources_json 落库 commit 抛 DataError → 反馈接口 500 且该条反馈整体丢失

改动

record_feedback 内对齐 reason/retrieval_sources/trace_id 已有的边界截断风格:条数封顶 50 条,序列化超 60KB 时逐条收缩直到可落库(保证 sources_json 恒为合法 JSON,读路径 _parse_sources 不会收到残缺串)。新增 tests/test_feedback_sources_cap.py 2 例(超限截断 + 正常数据不受影响)。

验证

  • python -m pytest tests/ -q --ignore=tests/test_api.py -m "not integration":828 passed(3 个失败为 main 上已存在的 test_batch3_infra openai SDK 环境差异,与本 PR 无关,已在未改动代码上复现确认)
  • python scripts/validate_golden.py 通过

sources 列表(List[dict])原无条数/长度上限,超 MySQL TEXT 64KB 时
sources_json 落库 commit 抛 DataError → 反馈接口 500 且该条反馈丢失;
对齐 reason/retrieval_sources/trace_id 已有的边界截断风格
@leaderwm
leaderwm force-pushed the fix/feedback-sources-cap branch from ce63a2a to b216881 Compare September 4, 2026 10:30
@leaderwm

leaderwm commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

CI 红叉已定位并另有 PR 修复:#12

本 PR 的 CI 失败为 main 上预存问题,与本 PR 改动无关——证据:main(8862c31)与本 PR 分支的本地全量失败集完全一致,均为 test_batch3_infra.py 3 例(openai 3.7.0 在 AsyncOpenAI() 构造期即校验凭据,而单测环境无 key);本 PR 涉及的模块相关测试全部通过。

#12(conftest 注入哑 key,仅测试环境变更)合并后,main 与本 PR 的 CI 会自动转绿(PR CI 跑的是与 main 的合并预览)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant