CI / backend (push) Canceled after 0s
- 0.1–0.9 全部标为完成,但不是"代码写完"就算完成: 33 条测试全绿、ruff/format 通过、真机 uvicorn 冒烟(/health /version 登录 建工作区 列表 /auth/me)通过 之后才敢打勾;没跑过的(downgrade、mypy、CI 在 Gitea 实跑、Web/Android 联调)保持未勾并写明原因。 - 记录 5 处"计划与实际不符"的偏差及理由: JWT 30min/14d、refresh 无状态不可撤销、权限用 ROLE_RANK 而非 PERMISSIONS 字典、 app_user 故意不加 RLS(登录发生在租户绑定之前)、minio 与 pgvector 推迟到 M3。 - 新增「环境现状与阻塞」一节:Docker 起不来用便携 PG、外网 TLS 被拦走 HTTP 镜像、 pip 必须 --no-cache-dir(否则写缓存卡死)、pg_ctl restricted token 报错、fnsvr-01 只有 8418/3306。 - 验收用例表加"现状"列,区分已验证 / 部分 / 未做。 顺带修: - alembic downgrade 之前直接失败:workspace 的 RLS 策略引用了 member, 不先 DROP POLICY 就 drop table,报 "cannot drop table member because other objects depend on it"。 现已按策略先删后删表,downgrade base → upgrade head 全通。 - npm 依赖必须 --ignore-scripts 才能装(沙箱禁止 lifecycle 脚本派生进程), 已写进 DEVELOPMENT.md;web 首次构建成功(tsc -b + vite,177KB/gzip 58KB)。 验收:pytest 33 passed / ruff 干净 / alembic 升降级往返通过 / web build 通过。
22 lines
786 B
Markdown
22 lines
786 B
Markdown
## 改了什么
|
||
|
||
<!-- 一句话说清这个 PR 让系统多了/少了什么能力 -->
|
||
|
||
## 为什么
|
||
|
||
<!-- 关联的 issue / 设计文档章节 / 线上现象 -->
|
||
|
||
## 自检(merge 前逐条确认,不填不 merge)
|
||
|
||
- [ ] `pytest` 全绿(`cd backend && ENV=test .venv/Scripts/python -m pytest -q`)
|
||
- [ ] `ruff check . && ruff format --check .` 无告警
|
||
- [ ] 改了表结构:`workspace_id NOT NULL` + RLS 策略 + 跨租户测试,三者齐全
|
||
- [ ] 改了接口:`2.Design/API.md` 已同步
|
||
- [ ] 改了部署方式:`2.Design/DEPLOY.md` 已同步
|
||
- [ ] 迁移文件人工复核过(没有盲信 autogenerate)
|
||
- [ ] 已 push(本地有未推送提交 = 未完成)
|
||
|
||
## 风险 / 回滚
|
||
|
||
<!-- 影响面、灰度方式、出问题怎么退回去。没有就写"无" -->
|