Skip to content

fix: 统一回答反馈的目标校验与前端入口 - #1017

Closed
zhujue888 wants to merge 1 commit into
xerrors:mainfrom
zhujue888:fix/feedback-target-contract
Closed

zhujue888 wants to merge 1 commit into
xerrors:mainfrom
zhujue888:fix/feedback-target-contract

Conversation

@zhujue888

@zhujue888 zhujue888 commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

变更说明

  • 任务类型:bug-fix;substantial(收紧反馈写入口的目标契约)。
  • 目标:仅对本人会话的非审计 assistant 消息提交反馈,前端入口与服务校验一致,兼容历史 None 类型及无 role/status 的历史 DTO。
  • 非目标:清理历史反馈、改变 Dashboard/GET 权限、重构运行终态;不包含其他 PR 的重排修复。

工程主张与 Owner

feedback_service 在消息存在和归属检查后、数据库写入与外部评分前校验角色/审计类型;非法目标返回 422,保留 403/404/409。RefsComponent 隐藏非法目标的点赞/点踩入口,并在点击及弹窗提交时复核目标,保留复制、模型和来源。
决策记录:回答反馈目标契约。新增 422 行为仍请维护者确认,decision 保留 proposed。

验证情况

主张 失败面 语义 Owner 直接证据 / 命令 负向案例 结果
非法目标零写入/零评分 角色/审计类型 feedback_service test/unit/services/test_feedback_service.py,12项 user/system/tool、两类审计;原服务5失败、修复后12通过 Passed
合法历史兼容与既有错误 text/None及归属 feedback_service 同上 403/404/409保持 Passed
完整HTTP登录与持久化 应用启动/认证/schema/清理 chat路由 test/integration/api/test_feedback_router.py,1项循环7种目标及重复提交;隔离PostgreSQL/Redis、完整TCP应用、原fixtures 5类非法目标拒绝,合法text/SQL NULL成功,重复409 Passed
前端反馈入口与提交一致 历史DTO、属性切换 RefsComponent test/unit/refs_feedback_target.test.js,12模板场景及renderer交互 loading、无role/status历史、弹窗打开后切换为审计;原组件测试失败 Passed

补充回归:

  • Passed:后端 python -m pytest test/unit -m 'not slow' -q -o addopts=:2004 passed,另7 subtests。
  • Passed:工程契约检查;检查器单测62项。
  • Passed:Linux pnpm run test:unit:320 passed,0 failed。
  • Passed:变更文件 Ruff/格式/ESLint、Web build、diff检查。
  • Inspected:全量 ESLint 在 Windows/Linux 均报告未修改的 web/test/unit/pdfPreviewAssets.test.js 两处 Buffer 未定义(24、40行);文件与基线 9820648 字节一致,不宣称全部门禁通过。Windows此前PDF路径测试失败,Linux全量未复现。

简化 / 删除验收

不涉及。

独立语义 Review

独立 Reviewer 审查需求、完整反馈 diff 及测试,发现历史 DTO 缺失 role/status 时误隐藏按钮,已修复并补回归;复审确认闭合。最终交互测试和 decision 复审无新增阻断。Review 不替代测试。

未验证范围与风险

  • Not run:生产部署、全部集成/E2E、真实模型 provider 和容器沙箱工具执行。
  • live 使用 memory provisioner,不代表 Docker 沙箱行为验收。实际执行测试与提交版仅排版差异,AST相同;服务代码字节一致。
  • 另有独立 ASGI+PostgreSQL 探针通过,但其认证/评分替身不替代上述完整登录测试。
  • 新增422收紧旧行为;既有非法反馈不清理,历史统计不随之净化。

事故反馈

未认定为已发生的高影响线上事故;缺陷反证与回归已包含。

界面变更

浏览器隔离组件页验证:正常助手显示点赞/点踩/复制;审计及用户只保留复制,模型名保留。截图已本地检查,未上传公开附件;不是生产会话浏览器E2E。真实Vue模板与交互回归包含在PR中。

关联事项

无关联Issue。

补充说明

无数据库迁移、无新依赖,不自动部署。一个PR只处理反馈目标契约。

@xerrors

xerrors commented Sep 14, 2026

Copy link
Copy Markdown
Owner

感谢 PR,不过反馈模块正在思考如何重建,会和此 PR 冲突,暂时先不完成此 Fix

@xerrors xerrors closed this Sep 14, 2026
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.

2 participants