Files
ai_soc_sw/.ai/tasks/active/P01-001.md
T
tupingr 6992f59cd2 refactor(arch): 信息架构升级 — 三层四角色控制面板 + 跨平台 task 交接协议
核心变化:
- 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>
2026-05-26 15:17:06 +08:00

2.4 KiB
Raw Blame History

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 VARCHAR6 种题型), difficulty SMALLINT1-5, cognitive_level SMALLINTBloom 1-6 预留), source VARCHARself_built / zuoyebang, external_id VARCHAR(第三方 ID
  • error_items 表: verification_status VARCHARraw/reviewed/corrected/stale, ai_confidence JSONB, subject VARCHARmath/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]