Files
ai_soc_sw/.ai/knowledge/decisions.md
T
tupingr 6c9acbc501 chore(arch): 记录今日工作 + 更新明日任务 + 同步知识库
- journal: 2026-05-25 完整工作记录
- arch/today.md: 标记完成,列出明日待办
- ROADMAP.md: 进度更新至40%,信息架构重构标为完成
- 从 ai_project 同步 ADR-008 + P-003 到 main

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 17:23:06 +08:00

73 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 架构决策记录 (ADR)
## ADR-001: "1 人 + 2 AI" 协作框架
- 日期: 2026-05-23
- 状态: 已采纳(后升级为 1 人 + 3 AI)
- 决策: 采用人类负责人 + Dev AI + QA AI 的三角协作模式
- 理由: 单人开发需要 AI 辅助,但 AI 不能互审,需要人类做最终决策
- 影响: 定义了 R/W/RW/- 四级权限体系
## ADR-002: 四级权限体系
- 日期: 2026-05-23
- 状态: 已采纳
- 决策: 采用 `-`(禁止) / `R`(只读) / `W`(可写) / `RW`(读写) 四级权限,比二进制的读写更精细
- 理由: AI 角色需要明确的边界,"只读但不能写"和"完全不可见"需要区分
- 影响: 所有目录访问按权限矩阵执行,`forbidden > read_only > allowed` 优先级
## ADR-003: 根级 docs/ 目录
- 日期: 2026-05-23
- 状态: 已采纳
- 决策: 项目级文档放在根目录 `docs/` 而非子项目内
- 理由: 跨项目共享的文档(架构设计、开发规范)不应属于某个子项目
- 影响: docs/ 由 Arch AI 和 Dev AI 共同维护
## ADR-004: 独立 tools/ 和 data/ 目录
- 日期: 2026-05-23
- 状态: 已采纳
- 决策: 开发工具脚本和训练数据从 shared/ 中独立出来
- 理由: tools 和 data 的使用场景和权限需求与 shared 不同
- 影响: Arch AI 和 Dev AI 可写 tools/ 和 data/QA AI 只能读 data/
## ADR-005: 工作流重试和升级机制
- 日期: 2026-05-23
- 状态: 已采纳
- 决策: 测试 → 修复循环最多 3 轮,Round 3 仍有 BLOCKER/HIGH 则升级给人类
- 理由: 防止无限循环,确保严重问题得到人类关注
- 影响: `skip_acceptance_on_retry: true`,修复轮次不重写验收标准
## ADR-006: resume-context Skill 多机同步
- 日期: 2026-05-23
- 状态: 已采纳
- 决策: 通过 `resume-context` Skill 实现换电脑时上下文恢复
- 理由: 用户在家和公司两台电脑开发,需要快速恢复 AI 工作上下文
- 影响: 角色检测、关键文档加载、上下文摘要生成
## ADR-007: 分层信息架构 + Token 预算
- 日期: 2026-05-25
- 状态: 已采纳
- 决策: 采用四层信息架构(工作台 → 路线图 → 阶段上下文 → 知识沉淀),每层有 token 预算
- 理由: AI 上下文窗口有限(~200K tokens),旧 AGENTS.md 单体文件浪费 token;每个 AI 角色只需要知道自己该干什么
- 影响: 所有 AI 从 `.ai/roles/{role}/` 启动;新增 `ROADMAP.md``DASHBOARD.md``docs/share/` 分享层
## ADR-008: 框架/项目双分支 + 同步机制
- 日期: 2026-05-25
- 状态: 已采纳
- 决策: 采用双分支策略:`main` 分支开发具体项目(ErrLens),`ai_project` 分支保持为去敏的通用模板。通过 `sync-template.sh` 从 main 单向同步框架层变化到模板分支
- 理由:
- 框架层变化需要传播到模板,但重做去敏化消耗巨大(~100K tokens
- 两个分支的差异本质是"变量替换",可以脚本自动化
- 框架层(AGENTS/权限/提示词/工作流)和项目层(任务/日志/代码)的边界清晰
- 影响:
- 新增 `SYNC.md` 定义框架层/项目层边界
- 新增 `sync-template.sh` 实现自动同步
- 新增 `TEMPLATE.yaml` + `init.sh` 实现一键初始化
- AI 项目框架从此可复用,token 节省 95%+