BUG-1063:后台按列只读档案,授权前数据库拒绝读表,授权后通过。对话输入框下和报告标题下加上 AI 生成说明。状态板按已部署提交改措辞,不标 resolved。下载文件元数据没有做。 自测:tsc 退出码 0;lint 0 error;定向测试 51 通过;test:db 82 项里 13 项为 Windows 已知失败,无新增;隐私标记退出码 0。 Co-Authored-By: Grok (agent loop)
4.3 KiB
PROGRESS · 内测主路径:给别人出报告、AI 生成标识、状态板清账(issue #73)
- 分支:
codex/beta-main-path-20261014 - 实际基线:
origin/stagingf4c53e7f9fad1a3de08b613c3470f8e4a2f62116 - 任务书基线写成
48a2fadd,计划评论里的 base 是13bde11539bc99f76330376145c756da22d149e3。开工时远端 staging 已是上面的f4c53e7f。方向没有改,不需要拍板。 - 产品 2026-10-14 已同意标识文案,并指定 BUG-1063 用逐列只读授权(任务书 §11)。
- 开工时
docs/BUG_HISTORY.md最大号是 BUG-1346。本单新增 BUG-1347。BUG-1246 在本文件里没有对应标题,没有改。 - 未改
page.tsx。没有授写权限,没有改 RLS,没有改authenticated现有授权。Skill 版本不变。
做了什么
T0:给别人出报告的后台在授权之前读不到档案表。同一条数据库用例失败,错误原文是 permission denied for table chart_profiles,代码 42501。这不是绿的,所以继续做 T1。
T1:新迁移只给 service_role 增加档案表上、报告读档所需各列的 SELECT。合同测试核对选择列都在授权里,并且新文件里没有写授权、没有策略改动、没有改登录用户授权。BUG-1063 记为 fixed-pending-verify:部署并真机给别人出一份报告之前不标 resolved。
T2:对话输入框下方一行中文说明「回答由 AI 生成,仅供参考,不构成医疗、法律或投资建议。」报告的两种阅读页在标题下加「本报告由 AI 生成,仅供参考。」英文阅读用「This report is AI-generated and for reference only.」英文对话那句写在文案口径里,界面是中文,不另画一行。没有单独的公开分享页,两种阅读页都带上了这行。DESIGN、VOICE 同提交更新。
T2b 让掉:仓库里没有 PDF / DOCX 导出器。Markdown 下载是按字节锁定的,没有改生成正文,也没有往下载文件里写元数据。记在 BUG-1347。
T3–T5:状态行只改措辞和部署证据。下列提交都已在 origin/staging 上:82c8aeb0(906、907)、dec36bce(1080)、8112f62b(1128 字体部分)、e62d0a32(1244、1245)、52d14e8f(1252、1253、1254)、b8385adb(1255)、c76fdda7(1256)、61d6f248(1257)、6ec8efd5(1258)、11333460(1247–1251)、0ed45a4b(1259)。仍是 fixed-pending-verify 或 investigating,没有改成 resolved。1254 写明门禁 run 1747、1750、1753、1756、1759、1762 连续六次通过,再观察前不标 resolved。BUG-283 状态改为 superseded(由 BUG-299 取代),根因原文保留。
T6:scratchpad/beta-smoke-checklist-20261014.md 不在这棵树上。冒烟清单已经在 docs/testing/beta-smoke-20261014.md,本单只补了第 4、8、9 行(对话标识、他人报告、报告标题中英文标识)。
断言三栏
没有改既有断言。新增用例只加期望。
自测
| 检查 | 命令 | 结果 |
|---|---|---|
| 类型 | frontend\node_modules\.bin\tsc --noEmit -p frontend |
退出码 0,约 51 秒。中途一次失败是测试里 createRef() 没写元素类型,已改成文本框类型后重跑通过 |
| 规范 | npm run lint --prefix frontend |
退出码 0,0 error,125 条原有 warning。本单改的文件没有新增 warning |
| 定向测试 | tsx --test:AI 标识、授权合同、输入框合同、报告阅读 |
tests 51,pass 51,fail 0,cancelled 0,退出码 0,约 3.3 秒 |
| 数据库 | npm run test:db --prefix frontend |
退出码 1。tests 82,pass 69,fail 13,cancelled 0,约 1390 秒。13 条失败的名字与 tools/agent-loop/windows-known-failures.txt 逐条相同,没有多出来的。本单那条是 ok 54 |
| 全量前端测试 / 构建 / Python 快速门 | 未跑 | 留给验收。本单不改 scripts/ |
| 隐私标记 | .venv\Scripts\python.exe -m pytest tests/test_repo_privacy_markers.py -q |
退出码 0,约 59 秒 |
偏离
- 任务书点名的数据库文件可以新建
database-report-worker-subject.test.ts,用的是这个名字,没有改旧的database-chart-subject.test.ts。 - 英文对话说明没有画在界面上,因为对话外壳只有中文。句子留在 VOICE。
- T2b 按让步顺序跳过。
- 冒烟草稿不在树里,改的是已经落盘的清单,没有另起一份。