nex_docus/docs/sdd/architecture/constraints.md

31 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 约束与待决事项Constraints & Open Points
## 技术约束(当前代码库既定)
1. **Python 3.12 + FastAPI 0.109**:异步栈;`requirements.txt` 固定大部分版本。
2. **SQLAlchemy 2.0async+ aiomysql**;同步连接供 Alembic 风格脚本pymysql
3. **MySQL 5.7.5+ / 生产镜像 MySQL 8.0**utf8mb4。
4. **Redis**Token 缓存、会话状态、通知等。
5. **JWT**python-jose HS256+ **bcrypt**passlib
6. **前端 React 18 + Vite 5 + Ant Design 5 + Tailwind + Zustand**;路由 React Router v6。
7. **Whoosh3**(全文)+ **ZVec**(向量)+ **jieba**(中文分词)。
8. **WeasyPrint**PDF 导出)、**pdfjs-dist/react-pdf**(前端 PDF 预览)、**react-virtuoso/react-window**(虚拟列表)。
9. **部署**Docker Compose v2 + Engine ≥ 25ADR-0008
## 约束来源
- 依赖锁定:`backend/requirements.txt`、`frontend/package.json`。
- 配置默认:`backend/app/core/config.py`、`.env.example`、`docker-compose.yml`。
## 待决事项Open Points
| 编号 | 事项 | 现状 | 建议 |
| --- | --- | --- | --- |
| OP-1 | Alembic vs 幂等 ALTER | 采用幂等 ALTER`migrations.py` | 评估引入 Alembic 以支撑大规模结构变更 |
| OP-2 | 敏感日志 | `security.py`/`deps.py` 记录 SECRET_KEY 前缀/JWT 载荷 | 脱敏,见 OI-1 |
| OP-3 | Compose v2 官方化 | deploy.sh 探测 v2 但根文档仍提及 v1 | 统一 v2 路径,见 OI-2 |
| OP-4 | 测试覆盖 | 仅 3 个后端单测 | 增加集成/E2E见 OI-3 |
| OP-5 | 实时协同编辑 | 明确不在此版本做vision 边界) | 另立项评估 OT/CRDT |
| OP-6 | 多实例/高可用 | 单机部署无状态服务仅后端Redis/DB 独立) | 若需要再评估 |
## 约束的规格化引用
- 以上条目若成为刚性承诺,须固化为 ADR 并登记到 `decisions/README.md`