6992f59cd2
核心变化: - dashboard.md 替代 DASHBOARD + ROADMAP,人类+Arch AI 唯一入口 - DECISIONS.md 人类决策入口,≤3 条待决策 - .ai/tasks/ 14 个独立 task 文件(Coder 8 + Tester 6),弱模型自包含可独立执行 - 旧 today/queue 归档,每个角色启动 ≤2 个文件 - ADR-012 跨平台「高模型指挥小模型」协作架构落地 - 知识库补全:L-002~005、P-004~005、ADR-011~012 - Arch AI 上下文资源管理硬约束写入 principles.md Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Task P01-001: 数据库 Schema 实现 + 迁移脚本
元信息
| 字段 | 值 |
|---|---|
| 状态 | todo |
| 优先级 | P0 |
| 依赖 | 无 |
| 分配给 | Coder AI (Trae CN + GLM-4.6) |
输入
要读的文件:
docs/02_系统架构/数据模型.md— 所有表定义、字段、索引、Drizzle Schema 示例docs/02_系统架构/技术选型.md— PostgreSQL + Drizzle ORM 版本
参考的 ADR:
- ADR-009: verification_status 状态机 + ai_confidence JSONB 字段
- ADR-010: questions 表 source + external_id 字段(题库适配器路由)
上游依赖产出:
- 无(这是所有模块的前置依赖)
输出
要生成/修改的文件:
projects/app/src/db/schema/*.ts— 全部表定义(Drizzle ORM)projects/app/src/db/migrations/— 迁移脚本
涉及的表: users, user_relations, error_items, error_item_images, correction_logs, knowledge_points, question_knowledge_map, questions, print_tasks, recommendation_logs
关键字段提醒:
- users 表:
role VARCHAR+invitation_code VARCHAR - knowledge_points 表:
code VARCHAR(业务编码如 G5-MATH-0201) - questions 表:
question_type VARCHAR(6 种题型),difficulty SMALLINT(1-5),cognitive_level SMALLINT(Bloom 1-6 预留),source VARCHAR(self_built / zuoyebang),external_id VARCHAR(第三方 ID) - error_items 表:
verification_status VARCHAR(raw/reviewed/corrected/stale),ai_confidence JSONB,subject VARCHAR(math/english) - correction_logs 表:
ai_value JSONB+user_value JSONB+ai_confidence NUMERIC - print_tasks 表:
status, file_url, expires_at, created_at - user_relations 表:
parent_user_id, child_user_id, level(支持递归 CTE 邀请链查询)
验收方法
# 生成迁移脚本
npm run db:generate
# 执行迁移(本地 dev 数据库)
npm run db:migrate
# 验证所有表存在
psql $DATABASE_URL -c "\dt"
约束
- 不碰:
projects/app/src/modules/(业务模块)、projects/app/tests/ - 技术栈: PostgreSQL + Drizzle ORM
- 遵循: 数据模型 v0.4.0 字段定义,不做自行裁剪
完成报告
Coder 完成后填写。Commit message 以
[READY_FOR_TEST]结尾。
- 输出文件已生成
- 验收命令通过
- Commit:
{hash} - Commit message:
feat(P01-001): 数据库 Schema 实现 + 迁移脚本 [READY_FOR_TEST]