diff --git a/.cursor/rules/agent-collaboration-docs.mdc b/.cursor/rules/agent-collaboration-docs.mdc index 279d0adf..35758745 100644 --- a/.cursor/rules/agent-collaboration-docs.mdc +++ b/.cursor/rules/agent-collaboration-docs.mdc @@ -9,15 +9,16 @@ alwaysApply: true ## 开场必读 -1. `AGENTS.md` → `PROJECT.md` → `.doc/ops/CURRENT.md` → 相关 short-term / handoff +1. `AGENTS.md` → `PROJECT.md` → `.doc/README.md` → `.doc/ops/CURRENT.md` → `FEATURE-MATRIX` → short-term / handoff ## 红线 -- 任何任务/调研/审计/修复/运维:**开始前**建或更新 `.doc/ops/short-term/` 或 `long-term/`(复制 templates) -- **禁止**只改代码、真相只留在聊天 -- 里程碑更新 `CURRENT.md`;会话结束写 `handoffs/` -- 验收报告进 `.doc/test-reports/` 并回链 checklist -- 文档与代码同批或紧随 `docs(...)` 提交 +- 任务开始前:short-term/long-term + CURRENT 并行认领(mutex) +- 合 dev + 容器测:占用 CURRENT 集成槽位;他人 queue 等待 +- 多 Agent 并行:worktree(`.worktrees/`);禁止 worktree 内 env-service start +- 禁止只改代码;done 任务 → `archive/ops/` +- 验收报告 → `.doc/test-reports/`;运行产物 → `test-reports/assets/` +- 禁止在 `.doc/` 根或 `docs/` 随意新建文档 ## 状态 diff --git a/.cursor/rules/git-workflow-and-environments.mdc b/.cursor/rules/git-workflow-and-environments.mdc index 18c58135..59d6d4d0 100644 --- a/.cursor/rules/git-workflow-and-environments.mdc +++ b/.cursor/rules/git-workflow-and-environments.mdc @@ -10,18 +10,18 @@ alwaysApply: true ## 一、 Git 固定三分支体系 1. **开发分支 (`dev`)**: - - 所有代码日常开发在此分支进行。 - - 细小变更直接在 `dev` 上分批逐步提交。 - - 独立大功能可从 `dev` 检出子分支 `feature/` 或 `fix/`,在本地测试完成后合并回 `dev`(`--no-ff`),并删除临时子分支。 + - **合入基线**,不是日常 commit 目标。 + - **禁止**在 `dev` 上直接开发提交(含 docs/chore)。 + - 一律从最新 `dev` 检出 `feature/` 或 `fix/`,在 feature 分支上渐进式提交;自测后占集成槽位,`--no-ff` 合回 `dev`,并删除临时子分支(见 [AGENTS.md](../../AGENTS.md) §6.2)。 2. **测试分支 (`test`)**: - 当 `dev` 积累了一定的功能阶段后,合并至 `test` 分支,创建阶段候选节点 Tag(如 `rc-vX.Y.Z-beta.1`)。 - 用于较长时间的真实环境部署、全链路集成测试、运维稳定性检验。 - - 严禁在 `test` 分支进行未经规划的大规模功能开发。 + - **严禁**在 `test` 分支进行开发或直接 commit。 3. **主分支 (`main`)**: - 生产发布分支(Release)。 - - 严禁直接在 `main` 上开发! + - **严禁**直接在 `main` 上开发或 commit! - 只有 `test` 分支的代码经过实际运维和测试充分验证达到发布标准后,方可将对应验证节点合并回 `main` 分支,并打正式发布 Tag(如 `v1.0.0`)。 --- diff --git a/.cursor/rules/test-reports-standard.mdc b/.cursor/rules/test-reports-standard.mdc index 3d23706c..8eb00670 100644 --- a/.cursor/rules/test-reports-standard.mdc +++ b/.cursor/rules/test-reports-standard.mdc @@ -13,7 +13,7 @@ alwaysApply: true - **统一目录**:所有测试报告必须统一存放于 `.doc/test-reports/` 目录下。 - **命名规范**:遵循 `YYYY-MM-DD-<模块/功能/版本>-test-report.md` 命名格式。 - 例如:`.doc/test-reports/2026-09-07-three-branch-intent-framework-test-report.md` - - 例如:`.doc/test-reports/2026-09-07-bizdev-workflow-integration-test-report.md` +- **证据附件**:运行产物(json/jsonl、workspace 快照、截图)放 `.doc/test-reports/assets//`,**不得**与 `*-test-report.md` 混放在同一层级目录。 --- @@ -58,7 +58,7 @@ alwaysApply: true 1. **真实 Agent 交付铁律(红线)**: - **开发实现阶段**:可以快速使用 `stub` 验证状态机、协议分流、数据落盘与逻辑契约,加速反馈; - - **交付前验收与测试报告生成**:**必须切回真实环境与真实 Agent(`pi-agent` + 实际运行的 `MiniMax-M3` 容器)进行全链路端到端实测**; + - **交付前验收与测试报告生成**:**必须切回真实环境与真实 Agent(`pi-agent` + 实际运行的 `MiniMax-M2.7-highspeed` 容器)进行全链路端到端实测**; - **严禁**使用 stub 的测试输出作为最终交付报告的验收数据。 2. **严禁散落存放**:测试报告统一归档至 `.doc/test-reports/` 目录下,禁止散落在根目录或临时沙箱中。 3. **真实控制台取样**:测试报告中的输入、输出、耗时与判定必须取自实际环境运行的真实控制台输出与日志。 diff --git a/.doc/README.md b/.doc/README.md new file mode 100644 index 00000000..63e5c83c --- /dev/null +++ b/.doc/README.md @@ -0,0 +1,64 @@ +# 项目文档总地图 + +> Agent 协作纪律见仓库根 [AGENTS.md](../AGENTS.md)。 +> 当前焦点见 [ops/CURRENT.md](ops/CURRENT.md)。 + +--- + +## 文档 taxonomy(禁止随意新建路径) + +```text +.doc/ + README.md ← 本文件(总地图) + status/ ← 模块/功能完成度 SSOT + audit/ ← 问题发现与分析 + remediation/ ← 整改方案与发布缺口 + archive/ ← 历史(只增不删) + ops/ ← 活协作(任务、交接、调研) + system-design/ ← 模块架构深读 + adr/ ← 架构决策 + backlog/ ← 产品 backlog(非阻塞) + test-reports/ ← 验收报告(+ assets/ 附件) + test-fixtures/ ← 测试拓扑说明 + +仓库根(入口,非内容库) + AGENTS.md | PROJECT.md | CLAUDE.md | CODEX.md | GEMINI.md | ANTIGRAVITY.md | KIMI.md +``` + +**红线**:不得在 `.doc/` 根目录新建大包 Markdown;不得在 `docs/` 随意新建子目录。新文档必须落入上表之一。 + +--- + +## 快速入口 + +| 我要… | 读这里 | +|--------|--------| +| 当前在做什么 | [ops/CURRENT.md](ops/CURRENT.md) | +| 模块完成度 | [status/FEATURE-MATRIX.md](status/FEATURE-MATRIX.md) | +| 发布 blocker | [remediation/gap-matrix.md](remediation/gap-matrix.md) | +| 审计/问题分析 | [audit/INDEX.md](audit/INDEX.md) | +| 整改方案 | [remediation/INDEX.md](remediation/INDEX.md) | +| 历史归档 | [archive/README.md](archive/README.md) | +| 架构设计 | [system-design/README.md](system-design/README.md) | +| 测试报告 | [test-reports/](test-reports/) | +| 历史功能设计 | [archive/design/superpowers/](archive/design/superpowers/) | + +--- + +## backlog 分工 + +| 路径 | 用途 | +|------|------| +| `backlog/` | 产品侧非阻塞 backlog | +| `ops/long-term/` | Agent/工程技术债 backlog | + +--- + +## 文档生命周期 + +```text +audit(问题)→ remediation(方案)→ ops/short-term(任务) + → test-reports(验收)→ archive(关闭证据) +``` + +状态字段:`planned | in_progress | blocked | done | cancelled` diff --git a/.doc/archive/README.md b/.doc/archive/README.md new file mode 100644 index 00000000..4a812670 --- /dev/null +++ b/.doc/archive/README.md @@ -0,0 +1,12 @@ +# 历史归档 + +已完成、supersede 或关闭的文档证据。**禁止删除**,仅迁移至此。 + +| 子目录 | 内容 | +|--------|------| +| `audit/` | 已关闭审计大包 | +| `remediation/` | 已关闭整改大包 | +| `ops/` | done 的 short-term / checklist / handoff | +| `ops/research/` | 已关闭调研(自 ops/research 迁入) | +| `design/superpowers/` | 历史功能 spec/plan | +| `reference/` | 被 PROJECT 替代的参考长文 | diff --git a/.doc/archive/design/superpowers/INDEX.md b/.doc/archive/design/superpowers/INDEX.md new file mode 100644 index 00000000..98eb829b --- /dev/null +++ b/.doc/archive/design/superpowers/INDEX.md @@ -0,0 +1,10 @@ +# 历史功能设计(Superpowers) + +迭代期功能 spec/plan,自 `.doc/archive/design/superpowers/` 迁入。 + +| 子目录 | 内容 | +|--------|------| +| `specs/` | 设计规范 | +| `plans/` | 实施计划 | + +新功能设计请写入 `.doc/system-design/` 或 `.doc/remediation/`,**不再**使用 `.doc/archive/design/superpowers/`。 diff --git a/docs/superpowers/plans/2026-09-07-bizdev-squad.md b/.doc/archive/design/superpowers/plans/2026-09-07-bizdev-squad.md similarity index 100% rename from docs/superpowers/plans/2026-09-07-bizdev-squad.md rename to .doc/archive/design/superpowers/plans/2026-09-07-bizdev-squad.md diff --git a/docs/superpowers/plans/2026-09-07-dynamic-squad-planning.md b/.doc/archive/design/superpowers/plans/2026-09-07-dynamic-squad-planning.md similarity index 100% rename from docs/superpowers/plans/2026-09-07-dynamic-squad-planning.md rename to .doc/archive/design/superpowers/plans/2026-09-07-dynamic-squad-planning.md diff --git a/docs/superpowers/plans/2026-09-07-multi-domain-knowledge-base.md b/.doc/archive/design/superpowers/plans/2026-09-07-multi-domain-knowledge-base.md similarity index 100% rename from docs/superpowers/plans/2026-09-07-multi-domain-knowledge-base.md rename to .doc/archive/design/superpowers/plans/2026-09-07-multi-domain-knowledge-base.md diff --git a/docs/superpowers/plans/2026-09-08-auth-and-dual-settings.md b/.doc/archive/design/superpowers/plans/2026-09-08-auth-and-dual-settings.md similarity index 100% rename from docs/superpowers/plans/2026-09-08-auth-and-dual-settings.md rename to .doc/archive/design/superpowers/plans/2026-09-08-auth-and-dual-settings.md diff --git a/docs/superpowers/plans/2026-09-08-dialogue-driven-content-and-hierarchical-intent.md b/.doc/archive/design/superpowers/plans/2026-09-08-dialogue-driven-content-and-hierarchical-intent.md similarity index 100% rename from docs/superpowers/plans/2026-09-08-dialogue-driven-content-and-hierarchical-intent.md rename to .doc/archive/design/superpowers/plans/2026-09-08-dialogue-driven-content-and-hierarchical-intent.md diff --git a/docs/superpowers/plans/2026-09-08-dynamic-roles-and-doc-visibility-rbac.md b/.doc/archive/design/superpowers/plans/2026-09-08-dynamic-roles-and-doc-visibility-rbac.md similarity index 100% rename from docs/superpowers/plans/2026-09-08-dynamic-roles-and-doc-visibility-rbac.md rename to .doc/archive/design/superpowers/plans/2026-09-08-dynamic-roles-and-doc-visibility-rbac.md diff --git a/docs/superpowers/plans/2026-09-08-project-init-template-cloning.md b/.doc/archive/design/superpowers/plans/2026-09-08-project-init-template-cloning.md similarity index 100% rename from docs/superpowers/plans/2026-09-08-project-init-template-cloning.md rename to .doc/archive/design/superpowers/plans/2026-09-08-project-init-template-cloning.md diff --git a/docs/superpowers/plans/2026-09-08-semantic-chat-history-and-case-retrieval.md b/.doc/archive/design/superpowers/plans/2026-09-08-semantic-chat-history-and-case-retrieval.md similarity index 100% rename from docs/superpowers/plans/2026-09-08-semantic-chat-history-and-case-retrieval.md rename to .doc/archive/design/superpowers/plans/2026-09-08-semantic-chat-history-and-case-retrieval.md diff --git a/docs/superpowers/plans/2026-09-08-streaming-events-and-digestible-ux.md b/.doc/archive/design/superpowers/plans/2026-09-08-streaming-events-and-digestible-ux.md similarity index 100% rename from docs/superpowers/plans/2026-09-08-streaming-events-and-digestible-ux.md rename to .doc/archive/design/superpowers/plans/2026-09-08-streaming-events-and-digestible-ux.md diff --git a/docs/superpowers/plans/2026-09-08-three-column-workbench-and-block-document.md b/.doc/archive/design/superpowers/plans/2026-09-08-three-column-workbench-and-block-document.md similarity index 100% rename from docs/superpowers/plans/2026-09-08-three-column-workbench-and-block-document.md rename to .doc/archive/design/superpowers/plans/2026-09-08-three-column-workbench-and-block-document.md diff --git a/docs/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md b/.doc/archive/design/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md similarity index 88% rename from docs/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md rename to .doc/archive/design/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md index cec98e83..293861b2 100644 --- a/docs/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md +++ b/.doc/archive/design/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md @@ -2,7 +2,7 @@ # (Three-Tier Deliverable Governance, Privacy & Sharing Implementation Plan) - **编制日期**: 2026-09-08 -- **设计规范**: `docs/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md` +- **设计规范**: `.doc/archive/design/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md` - **执行分支**: `dev` --- @@ -12,8 +12,8 @@ ### 任务 1: 规范编制与架构契约归档 (Docs & Specs) - **目标**: 编制完整的架构规范与实施计划文档,明确三层分类、可见性规则与流转动作。 - **文件**: - - `docs/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md` - - `docs/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md` + - `.doc/archive/design/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md` + - `.doc/archive/design/superpowers/plans/2026-09-08-three-tier-deliverable-privacy-and-sharing.md` ### 任务 2: 升级前端数据模型与 Mock 数据 (Data Model & Initial Mocks) - **目标**: 扩展 `DeliverableItem`,增加 `category` (`workflow` | `shared` | `private`)、`creatorId`、`creatorName`、`sharedAt` 等字段,并补充初始模拟数据。 diff --git a/docs/superpowers/plans/2026-09-09-chat-wait-error-retry-ux.md b/.doc/archive/design/superpowers/plans/2026-09-09-chat-wait-error-retry-ux.md similarity index 99% rename from docs/superpowers/plans/2026-09-09-chat-wait-error-retry-ux.md rename to .doc/archive/design/superpowers/plans/2026-09-09-chat-wait-error-retry-ux.md index a1b4605c..45235c07 100644 --- a/docs/superpowers/plans/2026-09-09-chat-wait-error-retry-ux.md +++ b/.doc/archive/design/superpowers/plans/2026-09-09-chat-wait-error-retry-ux.md @@ -8,7 +8,7 @@ **Tech Stack:** Go 1.22+ (`net/http` SSE), React 19 + TypeScript + Vite, `node:test` / vitest for web unit tests, real `pi-agent` + MiniMax for E2E acceptance. -**Spec:** `docs/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md` +**Spec:** `.doc/archive/design/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md` ## Global Constraints diff --git a/docs/superpowers/plans/2026-09-09-longtask-phase-live-resume-ux.md b/.doc/archive/design/superpowers/plans/2026-09-09-longtask-phase-live-resume-ux.md similarity index 99% rename from docs/superpowers/plans/2026-09-09-longtask-phase-live-resume-ux.md rename to .doc/archive/design/superpowers/plans/2026-09-09-longtask-phase-live-resume-ux.md index 40a70c51..6a5f94ff 100644 --- a/docs/superpowers/plans/2026-09-09-longtask-phase-live-resume-ux.md +++ b/.doc/archive/design/superpowers/plans/2026-09-09-longtask-phase-live-resume-ux.md @@ -8,7 +8,7 @@ **Tech Stack:** Go 1.22+ (`net/http` SSE), React 19 + TypeScript + Vite, `node:test` for web unit tests, real `pi-agent` + MiniMax for E2E acceptance. -**Spec:** `docs/superpowers/specs/2026-09-09-longtask-phase-live-resume-ux-design.md` +**Spec:** `.doc/archive/design/superpowers/specs/2026-09-09-longtask-phase-live-resume-ux-design.md` ## Global Constraints diff --git a/docs/superpowers/specs/2026-09-07-bizdev-squad-design.md b/.doc/archive/design/superpowers/specs/2026-09-07-bizdev-squad-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-07-bizdev-squad-design.md rename to .doc/archive/design/superpowers/specs/2026-09-07-bizdev-squad-design.md diff --git a/docs/superpowers/specs/2026-09-07-dynamic-squad-planning-design.md b/.doc/archive/design/superpowers/specs/2026-09-07-dynamic-squad-planning-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-07-dynamic-squad-planning-design.md rename to .doc/archive/design/superpowers/specs/2026-09-07-dynamic-squad-planning-design.md diff --git a/docs/superpowers/specs/2026-09-07-multi-domain-knowledge-base-design.md b/.doc/archive/design/superpowers/specs/2026-09-07-multi-domain-knowledge-base-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-07-multi-domain-knowledge-base-design.md rename to .doc/archive/design/superpowers/specs/2026-09-07-multi-domain-knowledge-base-design.md diff --git a/docs/superpowers/specs/2026-09-08-auth-and-dual-settings-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-auth-and-dual-settings-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-08-auth-and-dual-settings-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-auth-and-dual-settings-design.md diff --git a/docs/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md similarity index 99% rename from docs/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md index 512442df..dbe781e5 100644 --- a/docs/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md @@ -1,7 +1,7 @@ # 对话驱动受控内容产出、分级意图消解与交互卡片架构设计规范 # (Dialogue-Driven Content Synthesis, Hierarchical Intent Funnel & Interactive Cards Specification) -- **归档路径**: `docs/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md` - **编制日期**: 2026-09-08 - **当前状态**: 批准实施 (Approved) - **技术栈**: Go 后端 (L1 意图识别/L2 协调引擎/L3 底层服务) + React 19 / TypeScript 前端 + 医疗器械受控文档治理引擎 (`docgov`) diff --git a/docs/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md similarity index 99% rename from docs/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md index 6658e071..d41677ef 100644 --- a/docs/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md @@ -1,7 +1,7 @@ # 动态角色管理与单文档可见性覆盖权限系统架构设计规范 # (Dynamic Roles & Document-Level Visibility Override RBAC Specification) -- **归档路径**: `docs/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md` - **编制日期**: 2026-09-08 - **当前状态**: 批准实施 (Approved) - **技术栈**: React 19 + TypeScript + Vite + FlowMind Token 设计系统 + Go 后端规范兼容 diff --git a/docs/superpowers/specs/2026-09-08-project-init-template-cloning-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-project-init-template-cloning-design.md similarity index 99% rename from docs/superpowers/specs/2026-09-08-project-init-template-cloning-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-project-init-template-cloning-design.md index 114ae3d1..ee68a5b1 100644 --- a/docs/superpowers/specs/2026-09-08-project-init-template-cloning-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-08-project-init-template-cloning-design.md @@ -1,7 +1,7 @@ # 项目创建即时克隆全生命周期文档模板副本设计规范 # (Project-Init Template Cloning & Full-Lifecycle Workflow Visualization Spec) -- **归档路径**: `docs/superpowers/specs/2026-09-08-project-init-template-cloning-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-08-project-init-template-cloning-design.md` - **编制日期**: 2026-09-08 - **当前状态**: 待实施 (Draft / Pending Plan) - **技术栈**: React 19 + TypeScript + FlowMind Token 设计系统 + Vite + Go 协同服务 diff --git a/docs/superpowers/specs/2026-09-08-semantic-chat-history-and-case-retrieval-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-semantic-chat-history-and-case-retrieval-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-08-semantic-chat-history-and-case-retrieval-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-semantic-chat-history-and-case-retrieval-design.md diff --git a/docs/superpowers/specs/2026-09-08-streaming-events-and-digestible-ux-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-streaming-events-and-digestible-ux-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-08-streaming-events-and-digestible-ux-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-streaming-events-and-digestible-ux-design.md diff --git a/docs/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md similarity index 99% rename from docs/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md index feef4175..152bd170 100644 --- a/docs/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md @@ -1,7 +1,7 @@ # 水木东方现代三栏工作台与块状受控文档引擎设计规范 # (Three-Column Modern Workbench & Block-Based Document Engine Specification) -- **归档路径**: `docs/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-08-three-column-workbench-and-block-document-design.md` - **编制日期**: 2026-09-08 - **状态**: 批准实施 (Approved) - **技术栈**: React 19 + TypeScript + Vite + FlowMind Token 设计系统 + Go HTTP/SSE 后端 diff --git a/docs/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md b/.doc/archive/design/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md similarity index 98% rename from docs/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md rename to .doc/archive/design/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md index 2770f0ad..ee5e9c41 100644 --- a/docs/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md @@ -1,7 +1,7 @@ # 三层交付物治理与隐私/共享架构设计规范 # (Three-Tier Deliverable Governance, Privacy & Sharing Specification) -- **归档路径**: `docs/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-08-three-tier-deliverable-privacy-and-sharing-design.md` - **编制日期**: 2026-09-08 - **当前状态**: 批准实施 (Approved) - **技术栈**: React 19 + TypeScript + Vite + FlowMind Token 设计系统 + Go 后端 diff --git a/docs/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md b/.doc/archive/design/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md similarity index 98% rename from docs/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md rename to .doc/archive/design/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md index f256eccc..256e6391 100644 --- a/docs/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md @@ -222,7 +222,7 @@ pending → streaming_status → completed ## 七、与既有文档的关系 -- 继承并实现:`docs/superpowers/specs/2026-09-08-streaming-events-and-digestible-ux-design.md` 中 Web 侧「进度条 + 对话呈现」缺口。 +- 继承并实现:`.doc/archive/design/superpowers/specs/2026-09-08-streaming-events-and-digestible-ux-design.md` 中 Web 侧「进度条 + 对话呈现」缺口。 - 不替代该文档的三层信息架构与事件类型定义;本文件专注 **Web 等待态、错误诊断、分型重试与自动重试策略**。 --- diff --git a/docs/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md b/.doc/archive/design/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md similarity index 96% rename from docs/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md rename to .doc/archive/design/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md index 81b39d85..7ade729a 100644 --- a/docs/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md @@ -1,6 +1,6 @@ # 对话/小队并发与文档编辑互斥设计规范 -- **归档路径**: `docs/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-09-concurrency-mutex-and-doc-edit-lease-design.md` - **编制日期**: 2026-09-09 - **当前状态**: 批准实施 (Approved) / 实现中 - **技术栈**: Go 后端 docgov/bizdev/chat/agent + React 工作台 diff --git a/docs/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md b/.doc/archive/design/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md similarity index 93% rename from docs/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md rename to .doc/archive/design/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md index 858f79eb..75271590 100644 --- a/docs/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md @@ -1,6 +1,6 @@ # 对话闲聊/模糊分支接入真实 LLM(Phase A)设计 -- **归档路径**: `docs/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md` - **编制日期**: 2026-09-09 - **状态**: 实施中(用户确认方案 A + 协调层内嵌 pi-agent) diff --git a/docs/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md b/.doc/archive/design/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md similarity index 99% rename from docs/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md rename to .doc/archive/design/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md index 9d7eb864..c4b8f7d9 100644 --- a/docs/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md @@ -1,6 +1,6 @@ # 长任务运行时治理、执行路由与自由任务体系设计(Task Runtime Governance & Router) -- **归档路径**: `docs/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md` - **编制日期**: 2026-09-09 - **当前状态**: 设计定稿待评审 (Draft for Review) - **关联模块**: `internal/squad` · `internal/agent` · `internal/intent` · `internal/coordinator` · `internal/ctxmgr` · `internal/kb` · pi-agent bridge · `web/src` diff --git a/docs/superpowers/specs/2026-09-09-longtask-phase-live-resume-ux-design.md b/.doc/archive/design/superpowers/specs/2026-09-09-longtask-phase-live-resume-ux-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-09-longtask-phase-live-resume-ux-design.md rename to .doc/archive/design/superpowers/specs/2026-09-09-longtask-phase-live-resume-ux-design.md diff --git a/docs/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md b/.doc/archive/design/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md similarity index 96% rename from docs/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md rename to .doc/archive/design/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md index b4e50fd1..92ae4210 100644 --- a/docs/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md @@ -1,7 +1,7 @@ # 角色适配交互卡片选项设计补丁 # (Role-Aware Interactive Card Options) -- **归档路径**: `docs/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-09-role-aware-interactive-card-options-design.md` - **编制日期**: 2026-09-09 - **当前状态**: 批准实施 (Approved) - **关联规格**: `2026-09-08-dialogue-driven-content-and-hierarchical-intent-design.md` §5.x diff --git a/docs/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md b/.doc/archive/design/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md similarity index 99% rename from docs/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md rename to .doc/archive/design/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md index 04e1fc51..6f3fe29b 100644 --- a/docs/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md @@ -1,11 +1,11 @@ # 分类准确性治理、Dock 式锚点坞与未读体系重设计规范 -- **归档路径**: `docs/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-10-category-dock-anchors-and-unread-redesign-design.md` - **编制日期**: 2026-09-10 - **状态**: 待评审 (Draft for Review) - **性质**: 前序设计 `2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md` 落地后的**实施反馈修正版**(Fix-up Spec) - **关联文档**: - - `docs/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md`(P0-P3 已实施:窗口化、日历、搜索、摘要、导出、未读) + - `.doc/archive/design/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md`(P0-P3 已实施:窗口化、日历、搜索、摘要、导出、未读) - `internal/intent/types.go`(意图枚举单一事实源) - `internal/ctxmgr/category.go` / `deploy/postgres/migrations/2026-09-10-chat-messages-day-window.sql`(现存两套分类词表) diff --git a/docs/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md b/.doc/archive/design/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md similarity index 98% rename from docs/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md rename to .doc/archive/design/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md index 67459a24..603411f9 100644 --- a/docs/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md +++ b/.doc/archive/design/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md @@ -1,12 +1,12 @@ # 长对话历史时间轴归档、多级导航锚点与每日智能摘要设计规范 -- **归档路径**: `docs/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-10-chat-history-archive-navigation-and-daily-digest-design.md` - **编制日期**: 2026-09-10 - **状态**: 待评审 (Draft for Review) - **关联文档**: - - `docs/superpowers/specs/2026-09-08-semantic-chat-history-and-case-retrieval-design.md`(多轮会话持久化与标杆案例语义检索,本设计在其 `chat_sessions` / `chat_messages` / `context_memory_chunks` 基础上演进) - - `docs/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md`(SSE 气泡状态机与 `sourceUserMessageId`,本设计的消息 ID 稳定性协议与其衔接) - - `docs/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md`(pi-agent + MiniMax 真实 LLM 接入,本设计的每日摘要生成器复用该 Backend) + - `.doc/archive/design/superpowers/specs/2026-09-08-semantic-chat-history-and-case-retrieval-design.md`(多轮会话持久化与标杆案例语义检索,本设计在其 `chat_sessions` / `chat_messages` / `context_memory_chunks` 基础上演进) + - `.doc/archive/design/superpowers/specs/2026-09-09-chat-wait-error-retry-ux-design.md`(SSE 气泡状态机与 `sourceUserMessageId`,本设计的消息 ID 稳定性协议与其衔接) + - `.doc/archive/design/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md`(pi-agent + MiniMax 真实 LLM 接入,本设计的每日摘要生成器复用该 Backend) --- diff --git a/docs/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md b/.doc/archive/design/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md similarity index 99% rename from docs/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md rename to .doc/archive/design/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md index 16dc46a0..caca4a16 100644 --- a/docs/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md +++ b/.doc/archive/design/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md @@ -1,7 +1,7 @@ # 单次智能体回复导出、私密文档保存与隐私防泄露设计及实施规范 # (Single Assistant Reply Export, Private Document Save & Privacy Guard Design and Implementation Specification) -- **归档路径**: `docs/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md` +- **归档路径**: `.doc/archive/design/superpowers/specs/2026-09-10-single-assistant-reply-export-and-private-document-design-implementation.md` - **编制日期**: 2026-09-10 - **当前状态**: 评审稿 (Proposed) - **适用范围**: 项目工作台中单条智能体回复的复制、下载、保存为私密文档及后续项目级共享 diff --git a/docs/superpowers/specs/2026-09-11-chat-turn-idempotency-and-session-isolation-design.md b/.doc/archive/design/superpowers/specs/2026-09-11-chat-turn-idempotency-and-session-isolation-design.md similarity index 100% rename from docs/superpowers/specs/2026-09-11-chat-turn-idempotency-and-session-isolation-design.md rename to .doc/archive/design/superpowers/specs/2026-09-11-chat-turn-idempotency-and-session-isolation-design.md diff --git a/.doc/archive/ops/2026-09-13-agent-docs-system-reorg.md b/.doc/archive/ops/2026-09-13-agent-docs-system-reorg.md new file mode 100644 index 00000000..e10a66df --- /dev/null +++ b/.doc/archive/ops/2026-09-13-agent-docs-system-reorg.md @@ -0,0 +1,68 @@ +--- +title: "Agent 协作文档体系重组" +status: done +created: 2026-09-13 +updated: 2026-09-13 +owner: cursor +branch: dev +worktree: "-" +mutex: docs +--- + +# Agent 协作文档体系重组 + +## 目标 + +建立跨工具(Cursor / Claude Code / Codex / Kimi / Antigravity)可协作的文档 taxonomy、多 Agent 并行规则与集成槽位,并完成 `.doc/` 结构性重组。 + +## 范围 + +- 新建 `audit/`、`remediation/`、`archive/`、`status/` 及 `.doc/README.md` +- 迁移根目录 15 份审计/整改文档;留 stub +- 编写 `FEATURE-MATRIX.md`;扩展 `AGENTS.md` +- CURRENT 增加并行认领表 + 集成槽位 +- 多工具薄入口 + `scripts/agent-worktree.sh` +- `.gitignore` 增加 `.worktrees/` + +## 非目标 + +- 每 worktree 独立 Docker 端口矩阵 +- 重写 system-design 长文 +- 删除历史证据 + +## 已锁定决策 + +| 项 | 选择 | +|----|------| +| 重组力度 | 结构性重组(迁目录) | +| 完成度 SSOT | `.doc/status/FEATURE-MATRIX.md` | +| 并行 | 认领 + 分支强制 + 并行时 worktree | +| Docker | 仅主工作区单实例 | +| 集成 | 合入 dev + 容器测串行(集成槽位) | + +## 步骤 + +1. [ ] P0:scaffold 目录 + `.gitignore` + `.doc/README.md` +2. [ ] P1:`git mv` 15 文件 + stubs + 更新 INDEX/全库链接 +3. [ ] P2:`FEATURE-MATRIX` + CURRENT 认领/槽位 + 已完成任务→archive +4. [ ] P3:模板 + 重写 `AGENTS.md` + PROJECT/薄入口/Cursor rule +5. [ ] P4:`agent-worktree.sh` + 链接抽检 + 分批提交 + +## 验收标准 + +- [ ] AGENTS 启动链完整(含 `.doc/README` + FEATURE-MATRIX) +- [ ] 根目录无散落审计/整改大包(仅 stub) +- [ ] CURRENT 含认领表与集成槽位段 +- [ ] 多工具薄入口齐全 +- [ ] worktree 脚本冒烟通过 + +## 相关链接 + +- 详细计划:Cursor plan `agent_docs_system_4d43ab63` +- Checklist: (本任务完成后自建) +- Handoff: +- Test report: N/A(纯文档任务) + +## 证据 / 备注 + +(执行过程中追加 commit hash 与命令输出) diff --git a/.doc/archive/ops/2026-09-13-audit-container-env-configuration.md b/.doc/archive/ops/2026-09-13-audit-container-env-configuration.md new file mode 100644 index 00000000..c49483b0 --- /dev/null +++ b/.doc/archive/ops/2026-09-13-audit-container-env-configuration.md @@ -0,0 +1,53 @@ +--- +title: "审计容器构建与环境变量配置链" +status: done +created: 2026-09-13 +updated: 2026-09-13 +owner: codex +--- + +# 审计容器构建与环境变量配置链 + +## 目标 + +确认 Dockerfile、Compose、启动脚本与应用代码正确消费根 `.env` 的必要配置;补齐缺失字段并移除已废弃字段。 + +## 范围 + +- Dockerfile、所有 Compose 文件、容器启动与环境管理脚本 +- Go / React / PI Agent 的环境变量读取点及默认值 +- 根 `.env` 与 `.env.example` 的字段集合(不记录秘密值) +- 当前容器解析配置与运行时注入的静态/动态验证 + +## 非目标 + +- 不替用户编造或更换第三方密钥 +- 不修改与环境配置无关的业务逻辑 +- 不输出 `.env` 中的敏感值 + +## 步骤 + +1. [x] 建立代码、构建、Compose、脚本的环境变量清单 +2. [x] 对比 `.env`、`.env.example` 与各环境覆写,定位缺失/废弃/断链字段 +3. [x] 修正配置文件与必要的注入链路 +4. [x] 执行 Compose config、构建及运行时验证 +5. [x] 写入调研证据、测试报告、CURRENT 与 handoff + +## 验收标准 + +- [x] 必需字段在 `.env.example` 中有说明,在 `.env` 中有字段占位或现值 +- [x] 已移除配置不再残留在 `.env` / `.env.example` +- [x] Compose 构建与配置渲染能正确传递所需字段 +- [x] 验证结果有不泄露秘密的可复核报告 +- [x] 用户补齐两个数据库密码、同步轮换现有 DB,并恢复 main ready + +## 相关链接 + +- Research: `../research/2026-09-13-container-env-configuration-audit.md` +- Test report: `../../test-reports/2026-09-13-container-env-configuration-test-report.md` +- Handoff: `../handoffs/2026-09-13-container-env-configuration.md` + +## 证据 / 备注 + +- 审计中仅记录变量名、来源和是否非空,不记录敏感值。 +- 用户补值后已同步执行两个 PostgreSQL `ALTER ROLE`;独立容器 TCP/SCRAM 登录与 `SELECT 1` 均通过,main app 已恢复 healthy/ready。 diff --git a/.doc/ops/short-term/2026-09-13-codex-audit-p0-remediation.md b/.doc/archive/ops/2026-09-13-codex-audit-p0-remediation.md similarity index 91% rename from .doc/ops/short-term/2026-09-13-codex-audit-p0-remediation.md rename to .doc/archive/ops/2026-09-13-codex-audit-p0-remediation.md index a2bb4d8b..4332f153 100644 --- a/.doc/ops/short-term/2026-09-13-codex-audit-p0-remediation.md +++ b/.doc/archive/ops/2026-09-13-codex-audit-p0-remediation.md @@ -41,4 +41,4 @@ owner: agent ## 相关链接 - 调研: [research/2026-09-12-codex-reaudit-summary.md](../research/2026-09-12-codex-reaudit-summary.md) -- Gap matrix: [../../2026-09-12-remediation-gap-matrix.md](../../2026-09-12-remediation-gap-matrix.md) +- Gap matrix: [../../remediation/gap-matrix.md](../../remediation/gap-matrix.md) diff --git a/.doc/ops/short-term/2026-09-13-fix-piagent-provider-minimax.md b/.doc/archive/ops/2026-09-13-fix-piagent-provider-minimax.md similarity index 100% rename from .doc/ops/short-term/2026-09-13-fix-piagent-provider-minimax.md rename to .doc/archive/ops/2026-09-13-fix-piagent-provider-minimax.md diff --git a/.doc/ops/checklists/2026-09-13-codex-audit-p0-remediation.md b/.doc/archive/ops/checklists/2026-09-13-codex-audit-p0-remediation.md similarity index 100% rename from .doc/ops/checklists/2026-09-13-codex-audit-p0-remediation.md rename to .doc/archive/ops/checklists/2026-09-13-codex-audit-p0-remediation.md diff --git a/.doc/ops/research/2026-09-12-codex-reaudit-summary.md b/.doc/archive/ops/research/2026-09-12-codex-reaudit-summary.md similarity index 100% rename from .doc/ops/research/2026-09-12-codex-reaudit-summary.md rename to .doc/archive/ops/research/2026-09-12-codex-reaudit-summary.md diff --git a/.doc/archive/ops/research/2026-09-13-container-env-configuration-audit.md b/.doc/archive/ops/research/2026-09-13-container-env-configuration-audit.md new file mode 100644 index 00000000..3338c708 --- /dev/null +++ b/.doc/archive/ops/research/2026-09-13-container-env-configuration-audit.md @@ -0,0 +1,33 @@ +--- +title: "容器构建与环境变量配置链审计" +created: 2026-09-13 +status: done +confidence: high +--- + +# 调研:容器构建与环境变量配置链 + +## 结论 + +原配置链不完整:`env-service.sh` 未读取根 `.env`,app 容器未透传多项已配置能力,test/main 仍选择 `stub`,且 `COMPOSE_PROJECT_NAME` 会导致共享环境串到 dev。上述配置链均已修复。另发现的共享 KB 与 main 业务库示例弱密码也已由用户补值、在现有 PostgreSQL volume 内同步轮换并完成 TCP/SCRAM 复验。 + +## 证据 + +| 项 | 路径/命令 | 结果 | +|----|-----------|------| +| 根配置分层 | `scripts/env-service.sh` | `.env` 公共配置先加载,`configs/.env.` 后加载并只覆盖差异 | +| app 透传 | `docker-compose.{dev,test,main}.yml` | Agent 超时/并发、Embedding/Reranker、认证、CORS、缓存、意图开关均注入 | +| 真实 Agent | `configs/.env.{test,main}(.example)` | `AGENT_BACKEND=pi-agent`,main runner 端口补为 18867 | +| 串环境 | `./scripts/env-service.sh all status` | 删除 `COMPOSE_PROJECT_NAME` 后 shared 正确显示 `agent-infra` / `shuimu-kb-shared` | +| 构建上下文 | Docker build 输出、`.dockerignore` | `.regulations` 23GB 已排除;上下文从中止时 17.1GB 降至 12.7MB | +| 失效字段 | 全仓 `rg` | 移除 `EMBEDDING_PROVIDER`、`RERANKER_PROVIDER`、`ADMIN_TOKEN`、`ALLOW_INSECURE_ADMIN`、`AUX_FILE_DSN`、`KB_DATA_DIR` 与单 Key Tavily 透传 | +| 配置加载 | `internal/config/config.go` | 环境变量现在能覆盖 timeout、Cursor/Pi bridge 与检索模型;生产占位密码纳入拒绝列表 | +| secret 权限 | `stat -c '%a %n' ...` | 四个实际 env 文件均为 600 | + +## 开放问题 + +- 共享 KB 密码低于建议的 16 字符;当前不是已知示例值且已生效,建议后续维护窗口换成长随机值。 + +## 建议动作 + +- 后续轮换仍应保持两个数据库密码不同,并优先使用至少 16 字符的高强度随机值。 diff --git a/.doc/archive/ops/research/2026-09-13-doc-inventory.md b/.doc/archive/ops/research/2026-09-13-doc-inventory.md new file mode 100644 index 00000000..4f32f582 --- /dev/null +++ b/.doc/archive/ops/research/2026-09-13-doc-inventory.md @@ -0,0 +1,38 @@ +--- +title: "全仓文档盘点" +status: done +created: 2026-09-13 +updated: 2026-09-13 +--- + +# 全仓文档盘点(2026-09-13) + +## 摘要 + +| 分类 | 路径 | 动作 | +|------|------|------| +| 审计/分析 | `.doc/audit/` | 自根目录迁入 | +| 整改方案 | `.doc/remediation/` | 自根目录迁入;gap-matrix SSOT | +| 活协作 | `.doc/ops/` | 保留;done → `archive/ops/` | +| 完成度 | `.doc/status/FEATURE-MATRIX.md` | 新建 | +| 历史设计 | `.doc/archive/design/superpowers/` | 自 `docs/superpowers/` 迁入 | +| 参考长文 | `.doc/archive/reference/` | workflow 规则归档 | +| 测试报告 | `.doc/test-reports/` | 主报告保留;workspace → `assets/` | +| 架构 | `.doc/system-design/` | 保留;修索引 | +| 遗留 stub | `.doc/` 根 15 stub | 跳转新路径 | +| 遗留 stub | `docs/superpowers/`、`docs/workflow/` | 跳转 archive / PROJECT | +| 产品模板 | `templates/docs/` | **不迁移** | +| Agent prompt | `configs/agents/` | **不迁移** | + +## 合法文档区(整理后) + +见 [AGENTS.md](../../AGENTS.md) §4 与 [.doc/README.md](../../README.md)。 + +## 禁止随意新建 + +- `.doc/` 根目录大包(仅 stub 例外) +- `docs/` 新子目录(仅 stub README) + +## 证据 + +整理执行 commit 见本任务 short-term 证据段。 diff --git a/.doc/archive/reference/branch-and-environment-rules.md b/.doc/archive/reference/branch-and-environment-rules.md new file mode 100644 index 00000000..269800f2 --- /dev/null +++ b/.doc/archive/reference/branch-and-environment-rules.md @@ -0,0 +1,252 @@ +# 研发分支与多套独立环境运行规范 (Branch & Environment Rules) + +> **HISTORICAL**:日常开发分支策略已由 [AGENTS.md](../../../AGENTS.md) §6.2、[PROJECT.md](../../../PROJECT.md) §4 与 [`.cursor/rules/git-workflow-and-environments.mdc`](../../../.cursor/rules/git-workflow-and-environments.mdc) 取代为「一律从 `dev` 开 `feature/*` 或 `fix/*`,禁止在三大主干直接 commit」。本文档保留作环境矩阵与历史流程参考。 + +本规范为本系统代码仓库的强制性规范,涵盖 **Git 3 分支流转模型**、**任务功能拆分与渐进式提交**、**三套环境独立运行(知识库共享 + 对话与数据库隔离)** 以及 **运维操作指引**。 + +--- + +## 一、 Git 固定三分支体系与流转规范 + +本仓库严格固定维护 **3 个常驻分支**: + +``` + (Feature/Fix 子分支) + ┌─────────────┐ + │ feature/*** │ + └──────┬──────┘ + (创建/自测) │ (合回) + ▼ ▼ +┌─────────────────────────────────┐ +│ 开发分支: dev │ <-- 所有日常开发在此进行,功能逐步提交 +└────────────────┬────────────────┘ + │ (积累一定阶段功能,准备长期部署实测) + ▼ +┌─────────────────────────────────┐ +│ 测试分支: test │ <-- 部署到测试环境,进行真实环境长期运维与测试 +└────────────────┬────────────────┘ + │ (测试分支经过实际运维和测试验证,达到发布标准) + ▼ +┌─────────────────────────────────┐ +│ 主分支: main (Release) │ <-- 生产发布基线,对应线上生产环境 +└─────────────────────────────────┘ +``` + +### 1. 开发分支 (`dev`) +- **定位**:日常开发核心集成分支。 +- **职责**:所有新功能(Features)、常规缺陷修复(Bugfixes)、日常重构均在 `dev` 分支推进。 +- **子分支策略**: + - **简单任务**:可直接在 `dev` 分支上按功能拆分进行渐进式提交。 + - **中大型或独立功能**:必须从 `dev` 检出子分支,命名格式为: + - `feature/<功能简述>` (如 `feature/session-isolation`) + - `fix/<缺陷简述>` (如 `fix/llm-streaming-timeout`) + - **合回机制**:子分支在开发者本地或容器中完成自测、通过单元测试和代码审查后,合并回 `dev` 分支(推荐保留提交历史或使用半快进合并)。合并完成后应及时删除临时子分支。 + +### 2. 测试分支 (`test`) +- **定位**:长期实测与准生产验证分支(Staging / Pre-Release)。 +- **职责**:当 `dev` 分支积累了一定的业务功能或阶段里程碑,需要进行较长时间的真实环境部署、冒烟测试、压力测试、全链路联调以及运维验证时,将 `dev` 的对应阶段节点合并至 `test` 分支。 +- **节点打标**: + - 在 `test` 分支部署实测时,建议在该节点上打上候选版本 Tag(如 `rc-v1.1.0-beta.1`)。 + - 测试期间发现的缺陷,若属于该候选版本的严重阻断问题,可在 `test` 分支修复并验证,验证完毕后必须**同步回合(Cherry-pick 或 Merge)至 `dev` 分支**;非阻断问题统一在 `dev` 中继续排期推进。 + +### 3. 主分支 (`main`) +- **定位**:生产发布分支(Production / Release)。 +- **职责**:主分支的代码代表经过实际运维与测试检验、已达到生产可用标准的系统版本。 +- **发布准入标准**: + - 严禁任何未经 `test` 分支充分测试验证的代码直接提交或合入 `main`。 + - 必须由 `test` 分支上的验证通过节点,以合并的方式提交至 `main`。 +- **发布打标**: + - 每次合入 `main` 后,必须打上正式发布 Tag(语义化版本,如 `v1.0.0`, `v1.1.0`)。 +- **紧急热修复 (Hotfix)**: + - 遇到线上紧急故障且 `test` 分支已有新开发代码时,从 `main` 检出 `hotfix/` 分支。 + - 修复完成并在专门隔离环境测试后,先合回 `main` 打补丁 Tag(如 `v1.0.1`),同时合并回 `test` 和 `dev` 分支。 + +--- + +## 二、 任务拆分与渐进式提交规范 (Progressive Commits) + +为保证代码可追溯性、降低 Code Review 成本并利于排查回滚,**禁止将一个大任务的所有变更揉合成一个巨大的提交**。 + +### 1. 拆分原则 +一个完整的业务任务必须按功能层次、逻辑职责进行横向或纵向切分,并在开发过程中逐步提交: +1. **数据模型与存储层提交**:定义数据库 Schema、ORM 映射、迁移脚本或接口实体。 +2. **核心业务逻辑与 Agent 算法层提交**:实现核心业务处理、Agent 工具、会话逻辑。 +3. **API / 适配层提交**:暴露 HTTP/gRPC 端点、集成外部组件或中间件。 +4. **单元与集成测试提交**:补充对应模块的自动化测试用例。 +5. **文档与配置更新提交**:同步更新环境参数配置、README 或设计文档。 + +### 2. 提交信息规范 (Conventional Commits) +采用统一的 Git Commit 消息规范: +```text +(): + +[optional body] +``` +- **Type 类型**: + - `feat`: 新增功能(按功能拆分逐步提交) + - `fix`: 修复缺陷 + - `refactor`: 代码重构(无功能改变与 Bug 修复) + - `test`: 增加或修改测试用例 + - `docs`: 文档变动 + - `chore`: 构建工具、依赖库更新、脚手架配置等 + - `ci`: CI/CD 流程调整 +- **示例**: + - `feat(db): 增加会话与多租户数据库模型迁移脚本` + - `feat(agent): 实现知识库问答工具的多环境路由调用` + - `test(agent): 增加知识库共享与对话隔离测试用例` + - `chore(deploy): 配置 test 环境独立端口与 docker-compose` + +--- + +## 三、 三套环境独立运行架构规范 + +每个分支在部署时对应一套完整的启动服务。必须严格遵循 **“知识库共享,对话数据与数据库隔离”** 的核心原则。 + +``` + ┌──────────────────────────────────────────┐ + │ 共享基础设施: 知识库服务 │ + │ - pgvector / 向量检索 / 统一知识索引库 │ + │ - 共享数据卷: shared-kb-data │ + │ - 共享服务端口: 5432 (Internal) │ + └─────────────────────┬────────────────────┘ + │ (只读检索或统一管理通道) + ┌──────────────────────────────────┼──────────────────────────────────┐ + │ │ │ + ▼ ▼ ▼ +┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────────────┐ +│ 开发环境 (dev) │ │ 测试环境 (test) │ │ 主干环境 (main) │ +│ 容器组: agent-dev-* │ │ 容器组: agent-test-* │ │ 容器组: agent-main-* │ +├─────────────────────────┤ ├─────────────────────────┤ ├─────────────────────────┤ +│ • 专属数据库: │ │ • 专属数据库: │ │ • 专属数据库: │ +│ agent_dev (Port 5433) │ │ agent_test (Port 5434)│ │ agent_main (Port 5435)│ +│ • 专属会话与存储卷: │ │ • 专属会话与存储卷: │ │ • 专属会话与存储卷: │ +│ data/dev/workspace │ │ data/test/workspace │ │ data/main/workspace │ +│ data/dev/conversations│ │ data/test/conversations data/main/conversations│ +│ dev-system-pgdata │ │ test-system-pgdata │ │ main-system-pgdata │ +│ • 应用服务端口: │ │ • 应用服务端口: │ │ • 应用服务端口: │ +│ HTTP: 8080 │ │ HTTP: 8081 │ │ HTTP: 8000 (生产) │ +│ Agent-Runner: 18765 │ │ Agent-Runner: 18766 │ │ Agent-Runner: 18767 │ +│ • 独立日志/SQLite: │ │ • 独立日志/SQLite: │ │ • 独立日志/SQLite: │ +│ dev-aux-data │ │ test-aux-data │ │ main-aux-data │ +└─────────────────────────┘ └─────────────────────────┘ └─────────────────────────┘ +``` + +### 1. 知识库共享规则 (Shared Knowledge Base) +- **共享内容**:法规条文、行业政策、静态向量索引、规章库、系统公共知识文档。 +- **访问控制**: + - 所有分支服务通过专用的 `POSTGRES_SHARED_KB_DSN` 连接同一个共享知识库容器(如 `shuimu-kb-shared`)。 + - 开发、测试与主分支服务在检索知识时,只读访问公共条目。 + - 知识库的结构升级或新增全量知识,统一由知识库迁移脚本维护,并提前通过版本兼容性测试。 + +### 2. 对话数据与业务数据库隔离规则 (Strict Data Isolation) +- **隔离内容**: + 1. **对话上下文与历史记录 (Chat History & Sessions)**:包括用户聊天记录、Agent 规划轨迹、思考日志等。 + 2. **业务数据库 (System DB)**:系统用户表、权限、配置状态、任务状态、审计表。 + 3. **外发信箱与日志 (Outbox & SQLite & Temp Logs)**。 + 4. **工作区目录 (Workspaces & Cache)**。 +- **隔离实现机制**: + - **Docker 容器名隔离**:通过 `COMPOSE_PROJECT_NAME` 前缀 (`agent-dev`, `agent-test`, `agent-main`),服务容器互不覆盖。 + - **网络与端口隔离**:每个环境占用独立的宿主机端口映射(详见下表),互不冲突,支持在同一台机器或多台机器并存启动。 + - **存储卷隔离**:Docker Named Volume 或宿主机本地目录均以环境后缀命名,严禁多环境挂载同一会话或 DB 目录。 + +### 3. 环境配置矩阵表 + +| 配置项 | 共享知识库 (Shared) | 开发环境 (Dev) | 测试环境 (Test) | 主分支生产环境 (Main) | +| :--- | :--- | :--- | :--- | :--- | +| **Compose 项目名** | `agent-infra` | `agent-dev` | `agent-test` | `agent-main` | +| **配置文件** | `configs/.env.shared` | `configs/.env.dev` | `configs/.env.test` | `configs/.env.main` | +| **系统 DB 名称** | `regulations` (KB) | `agent_system_dev` | `agent_system_test` | `agent_system_main` | +| **系统 DB 宿主端口** | `5432` | `5433` | `5434` | `5435` | +| **App 业务 HTTP 端口**| - | `8080` | `8081` | `8000` | +| **Agent Runner 端口** | - | `18765` | `18766` | `18767` | +| **持久化数据目录** | `data/shared/kb` | `data/dev/` | `data/test/` | `data/main/` | +| **系统 DB 数据卷** | `kb-shared-pgdata` | `dev-system-pgdata` | `test-system-pgdata` | `main-system-pgdata` | +| **审计/会话 SQLite** | - | `dev-aux-data` | `test-aux-data` | `main-aux-data` | + +--- + +## 四、 常用运维操作与脚本使用 + +项目在 `scripts/` 目录下提供了标准运维与管理脚本: + +### 1. 服务启停操作 +```bash +# 1. 启动共享知识库基础服务 (首次运行前必须启动) +./scripts/env-service.sh shared start + +# 2. 启动开发环境服务 +./scripts/env-service.sh dev start + +# 3. 启动测试环境服务 +./scripts/env-service.sh test start + +# 4. 启动主分支生产环境服务 +./scripts/env-service.sh main start + +# 5. 查看所有环境运行状态 +./scripts/env-service.sh all status + +# 6. 停止指定环境服务 (如停止 dev) +./scripts/env-service.sh dev stop +``` + +### 2. 分支流转标准流程示范 + +#### 流程 A:日常功能开发与逐步提交 +```bash +# 切换并同步开发分支 +git checkout dev +git pull origin dev + +# 若功能较独立,创建功能子分支 +git checkout -b feature/auth-multi-tenant + +# 功能拆分阶段 1:数据表与存储层 +git add internal/db/migrations/ +git commit -m "feat(db): 增加多租户隔离与字段迁移" + +# 功能拆分阶段 2:服务实现与路由 +git add internal/services/ +git commit -m "feat(auth): 实现多租户鉴权中间件与上下文传递" + +# 功能拆分阶段 3:测试用例 +git add internal/auth/auth_test.go +git commit -m "test(auth): 补充多租户鉴权单元与集成测试" + +# 自测通过后,合并回 dev +git checkout dev +git merge --no-ff feature/auth-multi-tenant -m "merge: 合并功能 feature/auth-multi-tenant 到开发分支" +git branch -d feature/auth-multi-tenant +``` + +#### 流程 B:功能阶段积累完成,进入测试分支实测 +```bash +# 切换到测试分支 +git checkout test +git pull origin test + +# 将 dev 分支当前稳定节点合并到 test +git merge --no-ff dev -m "release-candidate: 合并 dev 阶段功能至 test 分支进行长期实测" + +# 打上实测候选版本 Tag +git tag -a rc-v1.2.0-beta.1 -m "构建 1.2.0 测试候选版本 1,启动长期实测" + +# 启动或重启 test 环境服务进行运维实测 +./scripts/env-service.sh test restart +``` + +#### 流程 C:测试分支验证完成,发布到主分支 +```bash +# 切换到主分支 +git checkout main +git pull origin main + +# 将测试验证完毕的节点合并到 main +git merge --no-ff test -m "release: 经长期测试与运维验证,发布版本 1.2.0" + +# 打正式版本 Tag +git tag -a v1.2.0 -m "Release v1.2.0" + +# 部署/更新主分支生产服务 +./scripts/env-service.sh main restart +``` diff --git a/.doc/2026-09-11-system-functional-gap-audit-and-remediation.md b/.doc/audit/2026-09-11-system-functional-gap-audit-and-remediation.md similarity index 100% rename from .doc/2026-09-11-system-functional-gap-audit-and-remediation.md rename to .doc/audit/2026-09-11-system-functional-gap-audit-and-remediation.md diff --git a/.doc/2026-09-12-audit-summary-report.md b/.doc/audit/2026-09-12-audit-summary-report.md similarity index 96% rename from .doc/2026-09-12-audit-summary-report.md rename to .doc/audit/2026-09-12-audit-summary-report.md index 82de47d1..b7221353 100644 --- a/.doc/2026-09-12-audit-summary-report.md +++ b/.doc/audit/2026-09-12-audit-summary-report.md @@ -1,6 +1,6 @@ # 项目全面审计总结报告 -> **SUPERSEDED** — 历史初审快照。Live 状态见 [remediation-gap-matrix.md](./2026-09-12-remediation-gap-matrix.md) 与 [.doc/ops/CURRENT.md](./ops/CURRENT.md)。 +> **SUPERSEDED** — 历史初审快照。Live 状态见 [gap-matrix.md](../remediation/gap-matrix.md) 与 [CURRENT.md](../ops/CURRENT.md)。 **审计日期**: 2026-09-12 **审计人**: 代码审计 @@ -316,7 +316,7 @@ Phase C (完善) : 20h ## 十、验收标准清单 -### 10.1 功能验收(来自 `.doc/2026-09-12-three-workflows-strict-governance-remediation.md:417-459`) +### 10.1 功能验收(来自 `.doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md:417-459`) **7.1 目录和定义** - [ ] 任意用户在项目选择页都只能看到 3 个工作流 ✅ (已实施) @@ -432,8 +432,8 @@ Day 4-5: **下一步**: 技术评审确认整改计划,进入实施阶段 **相关文档**: -- `.doc/2026-09-12-comprehensive-audit-and-remediation-plan.md` - 详细缺陷说明与整改方案 -- `.doc/2026-09-12-remediation-tasks-and-acceptance-checklist.md` - 可执行的任务拆分 +- `.doc/remediation/2026-09-12-comprehensive-audit-and-remediation-plan.md` - 详细缺陷说明与整改方案 +- `.doc/remediation/2026-09-12-remediation-tasks-and-acceptance-checklist.md` - 可执行的任务拆分 --- diff --git a/.doc/2026-09-12-phase0-api-authz-matrix.md b/.doc/audit/2026-09-12-phase0-api-authz-matrix.md similarity index 100% rename from .doc/2026-09-12-phase0-api-authz-matrix.md rename to .doc/audit/2026-09-12-phase0-api-authz-matrix.md diff --git a/.doc/2026-09-12-AUDIT-INDEX.md b/.doc/audit/INDEX.md similarity index 95% rename from .doc/2026-09-12-AUDIT-INDEX.md rename to .doc/audit/INDEX.md index fd52d820..103cf6cf 100644 --- a/.doc/2026-09-12-AUDIT-INDEX.md +++ b/.doc/audit/INDEX.md @@ -1,9 +1,9 @@ # 项目全面审计 - 文档索引 > **HISTORICAL(2026-09-12 初审快照)** -> **当前发布/缺口 SSOT** → [remediation-gap-matrix.md](./2026-09-12-remediation-gap-matrix.md) -> **协作焦点** → [.doc/ops/CURRENT.md](./ops/CURRENT.md) -> **Agent 工作方式** → [AGENTS.md](../AGENTS.md) · [PROJECT.md](../PROJECT.md) +> **当前发布/缺口 SSOT** → [../remediation/gap-matrix.md](../remediation/gap-matrix.md) +> **协作焦点** → [../ops/CURRENT.md](../ops/CURRENT.md) +> **Agent 工作方式** → [AGENTS.md](../../AGENTS.md) · [PROJECT.md](../../PROJECT.md) **审计日期**: 2026-09-12 **项目**: Chat-Agent-System @@ -15,8 +15,8 @@ ### 0️⃣ 当前状态(Live SSOT) -**文件**: `2026-09-12-remediation-gap-matrix.md` -**协作**: `.doc/ops/CURRENT.md` · `AGENTS.md` · `PROJECT.md` +**文件**: [gap-matrix.md](../remediation/gap-matrix.md) +**协作**: [CURRENT.md](../ops/CURRENT.md) · [AGENTS.md](../../AGENTS.md) · [PROJECT.md](../../PROJECT.md) **用途**: 发布缺口、Codex 再审计闭环证据、发布门禁勾选 --- diff --git a/.doc/audit/README.md b/.doc/audit/README.md new file mode 100644 index 00000000..f1b51e3a --- /dev/null +++ b/.doc/audit/README.md @@ -0,0 +1,5 @@ +# 问题发现与分析 + +审计、根因分析、授权基线与矩阵。**不含**具体改码步骤(链到 `../remediation/`)。 + +索引:[INDEX.md](./INDEX.md) diff --git a/.doc/authorization-baseline-2026-09-12.md b/.doc/audit/authorization-baseline-2026-09-12.md similarity index 91% rename from .doc/authorization-baseline-2026-09-12.md rename to .doc/audit/authorization-baseline-2026-09-12.md index 0ed74bb3..cce1f331 100644 --- a/.doc/authorization-baseline-2026-09-12.md +++ b/.doc/audit/authorization-baseline-2026-09-12.md @@ -3,7 +3,7 @@ - **分支**:`dev` - **Commit SHA**:`bb3f3a1b93eaf4bbd4a7c26a70714a3320d455d3` - **Goose schema**:`00020`(`00020_2026-09-12-task-run-worker-lease.sql`) -- **规格文档**:`.doc/2026-09-12-permissions-settings-three-workflows-implementation-plan.md` +- **规格文档**:`.doc/remediation/2026-09-12-permissions-settings-three-workflows-implementation-plan.md` ## 环境矩阵 diff --git a/.doc/authorization-matrix-v2.md b/.doc/audit/authorization-matrix-v2.md similarity index 100% rename from .doc/authorization-matrix-v2.md rename to .doc/audit/authorization-matrix-v2.md diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index 05326424..7b249fbf 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -1,17 +1,31 @@ # 当前焦点 **更新**: 2026-09-13 -**production_ready**: no(CI 真实 PI E2E + 前端人工抽检待完成) +**production_ready**: no(对话刷新恢复、CI 真实 PI E2E、前端人工抽检待完成) ## 焦点 -1. **已修复**:dev pi-agent provider 误为 `cc-switch-kimi-for-coding` → 已对齐 `.env` 的 `minimax` + `MiniMax-M2.7-highspeed`(见 short-term) -2. Codex 审计 P0 整改 **Wave 0–D 已全部完成**;main 本地冒烟已通过 +1. **CHAT**: [刷新恢复整改待实施](short-term/2026-09-13-chat-history-refresh-remediation.md)(发布 blocker) +2. **CI**: `TEST_DATABASE_URL` + 真实 PI E2E 实录 +3. **前端**: 版本冲突刷新、终止 preview 人工抽检 -## 剩余(非 P0) +## 并行认领 -1. **CI**: `TEST_DATABASE_URL` + 真实 PI E2E 实录 -2. **BACKLOG**: session cookie / bundle 拆分 / 容量治理 +| owner | task | branch | worktree | mutex | status | +|-------|------|--------|----------|-------|--------| +| — | — | — | — | — | — | + +> 新任务开始前登记。`branch` 必须为 `feature/` 或 `fix/`,**禁止** `dev` / `test` / `main`。同一 `mutex` 同时仅一个 `in_progress`。 + +## 集成槽位 + +| holder | phase | since | scope | queue | +|--------|-------|-------|-------|-------| +| idle | - | - | - | - | + +**phase**: `idle` | `merging` | `smoke` | `e2e` + +> 合入 `dev` + 共享容器验证必须串行。详见 [AGENTS.md](../../AGENTS.md) §6.3。 ## 环境快照 @@ -19,12 +33,14 @@ |------|------|--------|------| | dev | 8080 | 25 | healthy | | test | 8081 | 25 | healthy | -| main | 8000 | 25 | healthy(本地冒烟) | +| main | 8000 | 25 | healthy(app + runner + DB) | ## SSOT | 类型 | 路径 | |------|------| -| 发布缺口 | [gap-matrix](../2026-09-12-remediation-gap-matrix.md) | -| 测试报告 | [test-report](../test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md) | +| 文档总地图 | [../README.md](../README.md) | +| 模块完成度 | [FEATURE-MATRIX](../status/FEATURE-MATRIX.md) | +| 发布缺口 | [gap-matrix](../remediation/gap-matrix.md) | +| 测试报告 | [test-reports/](../test-reports/) | | Agent 手册 | [AGENTS.md](../../AGENTS.md) | diff --git a/.doc/ops/README.md b/.doc/ops/README.md index 7ee08f40..5dceaaca 100644 --- a/.doc/ops/README.md +++ b/.doc/ops/README.md @@ -1,24 +1,25 @@ # 活协作区(.doc/ops) -Agent 会话级协作文档,与 Git 跟踪的审计/设计文档分离。 +Agent 会话级协作文档。完整 taxonomy 见 [../README.md](../README.md)。 ## 用法 -1. 会话开始读 [CURRENT.md](./CURRENT.md) +1. 会话开始读 [CURRENT.md](./CURRENT.md)(含并行认领 + 集成槽位) 2. 新任务复制 [templates/](./templates/) 到对应目录 -3. 完成或切换 Agent 时写 [handoffs/](./handoffs/) +3. 结束按 [session-close-checklist.md](./templates/session-close-checklist.md);换人写 [handoffs/](./handoffs/) ## 状态 -- **current**:进行中条目 + CURRENT.md -- **historical**:已完成条目保留,标 `done` 或移入归档 +- **current**:进行中 + CURRENT.md +- **historical**:标 `done` 并移入 [../archive/ops/](../archive/ops/) -## 与 SSOT 关系 +## SSOT 关系 -| 类型 | 位置 | +| 类型 | 路径 | |------|------| -| 协作焦点 | 本目录 CURRENT | -| 发布/审计缺口 | [gap-matrix](../2026-09-12-remediation-gap-matrix.md) | +| 协作焦点 | CURRENT | +| 模块完成度 | [FEATURE-MATRIX](../status/FEATURE-MATRIX.md) | +| 发布缺口 | [gap-matrix](../remediation/gap-matrix.md) | | 验收报告 | [test-reports](../test-reports/) | -通用纪律见仓库根 [AGENTS.md](../../AGENTS.md)。 +通用纪律见 [AGENTS.md](../../AGENTS.md)。 diff --git a/.doc/ops/handoffs/2026-09-13-container-env-configuration.md b/.doc/ops/handoffs/2026-09-13-container-env-configuration.md new file mode 100644 index 00000000..c071c378 --- /dev/null +++ b/.doc/ops/handoffs/2026-09-13-container-env-configuration.md @@ -0,0 +1,54 @@ +--- +title: "容器与 env 配置审计补密钥交接" +created: 2026-09-13 +from: codex +to: next-agent +status: done +--- + +# 交接:容器与 env 配置审计补密钥 + +## 目标(下一位 Agent 应完成什么) + +记录已完成的数据库密码轮换、容器重建与最终健康验证。 + +## 已完成 + +- 根 `.env` 与环境差异文件已分层,容器所需配置已透传。 +- 失效字段、重复项目名与 23GB 构建上下文问题已清理。 +- dev/test app + pi-agent 均已重建并健康;镜像实构建和 Go short 全量测试通过。 +- 用户已补齐两个密码;现有 PostgreSQL 用户已同步轮换。 +- shared/dev/test/main 均 healthy,三个 app ready 通过;独立 TCP/SCRAM 登录与 `SELECT 1` 通过。 + +## 未完成 + +- 无。 + +## 关键文件 + +| 路径 | 说明 | +|------|------| +| `.env` | 公共配置与共享 KB 密码(gitignored) | +| `configs/.env.main` | main 环境差异与 main DB 密码(gitignored) | +| `scripts/env-service.sh` | 根配置 + 环境差异分层加载 | +| `docker-compose.*.yml` | 必填校验和 app/runner 注入 | + +## 如何验证 + +```bash +docker compose -f docker-compose.shared.yml --env-file .env config -q +docker compose -f docker-compose.main.yml --env-file .env --env-file configs/.env.main config -q +go test -short ./... +./scripts/env-service.sh all status +curl -fsS http://127.0.0.1:8000/api/v1/ready +``` + +## 风险 / Blocker + +- 共享 KB 密码低于建议的 16 字符;建议后续维护窗口再次轮换。 + +## 相关链接 + +- CURRENT: [CURRENT.md](../CURRENT.md) +- Task: [audit-container-env-configuration](../short-term/2026-09-13-audit-container-env-configuration.md) +- Test report: [container-env-configuration-test-report](../../test-reports/2026-09-13-container-env-configuration-test-report.md) diff --git a/.doc/ops/research/README.md b/.doc/ops/research/README.md new file mode 100644 index 00000000..9bd505e7 --- /dev/null +++ b/.doc/ops/research/README.md @@ -0,0 +1,5 @@ +# 调研笔记(活) + +进行中的只读调查放此目录。完成后迁入 [../archive/ops/research/](../archive/ops/research/)。 + +模板:[../templates/research-note.md](../templates/research-note.md) diff --git a/.doc/ops/templates/audit-note.md b/.doc/ops/templates/audit-note.md new file mode 100644 index 00000000..ef2adeef --- /dev/null +++ b/.doc/ops/templates/audit-note.md @@ -0,0 +1,33 @@ +--- +title: "<审计/分析标题>" +status: planned +created: YYYY-MM-DD +updated: YYYY-MM-DD +severity: medium +--- + +# <审计/分析标题> + +## 现象 + +(可观测症状) + +## 根因分析 + +(证据路径、代码引用) + +## 严重度 + +`critical` | `high` | `medium` | `low` + +## 关联整改 + +- Remediation: + +## 证据 + +(命令输出、日志、文件路径) + +## 开放问题 + +- diff --git a/.doc/ops/templates/feature-matrix-row.md b/.doc/ops/templates/feature-matrix-row.md new file mode 100644 index 00000000..886dc951 --- /dev/null +++ b/.doc/ops/templates/feature-matrix-row.md @@ -0,0 +1 @@ +| <模块名> | <能力描述> | planned | (设计/代码/test-report 链接) | (缺口) | `` | diff --git a/.doc/ops/templates/handoff.md b/.doc/ops/templates/handoff.md index ca475420..48d0bad8 100644 --- a/.doc/ops/templates/handoff.md +++ b/.doc/ops/templates/handoff.md @@ -18,6 +18,17 @@ status: open - +## 认领 / 槽位状态 + +| 项 | 值 | +|----|-----| +| mutex 已释放 | yes / no | +| 集成槽位 holder | idle / 需接管 | +| branch | | +| worktree | | + +> 若 mutex 未释放,下一位须先在 CURRENT 认领或写 blocker。 + ## 关键文件 | 路径 | 说明 | diff --git a/.doc/ops/templates/remediation-plan.md b/.doc/ops/templates/remediation-plan.md new file mode 100644 index 00000000..845b547b --- /dev/null +++ b/.doc/ops/templates/remediation-plan.md @@ -0,0 +1,32 @@ +--- +title: "<整改方案标题>" +status: planned +created: YYYY-MM-DD +updated: YYYY-MM-DD +--- + +# <整改方案标题> + +## 背景 + +(链到 audit/ 分析文档) + +## 目标 + +(可验证的整改结果) + +## 分波次计划 + +| 波次 | 内容 | 验收 | +|------|------|------| +| Wave 0 | | | + +## 验收标准 + +- [ ] + +## 相关链接 + +- Audit: +- Short-term: +- gap-matrix 行: diff --git a/.doc/ops/templates/session-close-checklist.md b/.doc/ops/templates/session-close-checklist.md new file mode 100644 index 00000000..ae2cb032 --- /dev/null +++ b/.doc/ops/templates/session-close-checklist.md @@ -0,0 +1,29 @@ +# 会话结束清单 + +任务完成或切换 Agent 前逐项勾选: + +## 认领与集成 + +- [ ] CURRENT「并行认领」行 status 已更新(done 或移除) +- [ ] 若曾占集成槽位:smoke 已完成,holder=idle,queue 已通知 +- [ ] mutex 无遗留 in_progress(除明确 handoff 交接项) + +## 代码与分支 + +- [ ] 确认未在 `dev` / `test` / `main` 上直接 commit(工作均在 `feature/*` 或 `fix/*`) +- [ ] 已占集成槽位并 `merge --no-ff` 合回 `dev`(或 handoff 说明未 merge 原因) +- [ ] feature/fix 分支已删除或 worktree 已 remove(若已合入) +- [ ] 无未 push 的关键提交(若用户要求同步远端) + +## 文档 + +- [ ] [FEATURE-MATRIX.md](../../status/FEATURE-MATRIX.md) 已更新(若模块状态变) +- [ ] [gap-matrix.md](../../remediation/gap-matrix.md) 已更新(若 blocker 变) +- [ ] 任务 frontmatter status=done +- [ ] done 任务已 `git mv` 到 [archive/ops/](../../archive/ops/) +- [ ] [CURRENT.md](../CURRENT.md) 焦点 1–3 条已刷新 +- [ ] 若换人:已写 [handoffs/](../handoffs/) + +## 提交 + +- [ ] 文档与代码同批或紧随 `docs(...)` 提交 diff --git a/.doc/ops/templates/short-term-task.md b/.doc/ops/templates/short-term-task.md index b24ee85a..a1d7dbff 100644 --- a/.doc/ops/templates/short-term-task.md +++ b/.doc/ops/templates/short-term-task.md @@ -4,6 +4,9 @@ status: planned created: YYYY-MM-DD updated: YYYY-MM-DD owner: agent +branch: feature/ # 必填:feature/* 或 fix/*;禁止 dev / test / main +worktree: "-" +mutex: --- # <任务标题> diff --git a/.doc/2026-09-11-production-ready-workflow-governance-plan.md b/.doc/remediation/2026-09-11-production-ready-workflow-governance-plan.md similarity index 100% rename from .doc/2026-09-11-production-ready-workflow-governance-plan.md rename to .doc/remediation/2026-09-11-production-ready-workflow-governance-plan.md diff --git a/.doc/2026-09-12-comprehensive-audit-and-remediation-plan.md b/.doc/remediation/2026-09-12-comprehensive-audit-and-remediation-plan.md similarity index 97% rename from .doc/2026-09-12-comprehensive-audit-and-remediation-plan.md rename to .doc/remediation/2026-09-12-comprehensive-audit-and-remediation-plan.md index 34b343c3..72e740f7 100644 --- a/.doc/2026-09-12-comprehensive-audit-and-remediation-plan.md +++ b/.doc/remediation/2026-09-12-comprehensive-audit-and-remediation-plan.md @@ -1,6 +1,6 @@ # 项目全面审计与整改方案 -> **HISTORICAL** — 缺陷详解与 Phase 设计档案。执行状态以 [remediation-gap-matrix.md](./2026-09-12-remediation-gap-matrix.md) 为准。 +> **HISTORICAL** — 缺陷详解与 Phase 设计档案。执行状态以 [remediation-gap-matrix.md](./gap-matrix.md) 为准。 **日期**:2026-09-12 **编制**:代码审计 @@ -15,7 +15,7 @@ | 项目 | 完成度 | 说明 | |---|---|---| -| 业务决策文档 | ✅ 100% | `.doc/2026-09-12-three-workflows-strict-governance-remediation.md` 完成,10章详细规划 | +| 业务决策文档 | ✅ 100% | `.doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md` 完成,10章详细规划 | | 核心代码变更 | ✅ 70% | 8个变更集框架已实施:目录隔离、manifest、validator、激活冻结、阶段推进等 | | 数据库迁移 | ✅ 80% | 00015-00024 共 10 个迁移已应用,核心表结构完成 | | 单元测试 | ✅ 85% | Coordinator、ProjectInstance、WorkflowDef 单元测试PASS | @@ -368,7 +368,7 @@ mux.HandleFunc("POST /projects/{id}/active-workflow", s.handleActiveWorkflow) // ### 3.1 项目上下文快照服务(ProjectContextSnapshot) -**规划文档**: `.doc/2026-09-12-three-workflows-strict-governance-remediation.md:82-105` +**规划文档**: `.doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md:82-105` **当前状态**: 规划完整,实现 0% **关键要求**: @@ -412,7 +412,7 @@ mux.HandleFunc("POST /projects/{id}/active-workflow", s.handleActiveWorkflow) // ### 3.2 受控终止工作流(WorkflowTermination) -**规划文档**: `.doc/2026-09-12-three-workflows-strict-governance-remediation.md:109-131` (状态机) +**规划文档**: `.doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md:109-131` (状态机) **当前状态**: 状态表存在,API 和逻辑 0% **关键要求**: @@ -453,7 +453,7 @@ mux.HandleFunc("POST /projects/{id}/active-workflow", s.handleActiveWorkflow) // ### 3.3 真实 E2E 测试(PostgreSQL + PI Agent) -**规划文档**: `.doc/2026-09-12-three-workflows-strict-governance-remediation.md:417-459` (验收标准) +**规划文档**: `.doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md:417-459` (验收标准) **当前状态**: 单元测试 PASS,E2E 0% **要求**: diff --git a/.doc/2026-09-12-permissions-settings-three-workflows-implementation-plan.md b/.doc/remediation/2026-09-12-permissions-settings-three-workflows-implementation-plan.md similarity index 100% rename from .doc/2026-09-12-permissions-settings-three-workflows-implementation-plan.md rename to .doc/remediation/2026-09-12-permissions-settings-three-workflows-implementation-plan.md diff --git a/.doc/2026-09-12-phase1-iam-authz-implementation-plan.md b/.doc/remediation/2026-09-12-phase1-iam-authz-implementation-plan.md similarity index 100% rename from .doc/2026-09-12-phase1-iam-authz-implementation-plan.md rename to .doc/remediation/2026-09-12-phase1-iam-authz-implementation-plan.md diff --git a/.doc/2026-09-12-phase2-workflow-designer-implementation-plan.md b/.doc/remediation/2026-09-12-phase2-workflow-designer-implementation-plan.md similarity index 89% rename from .doc/2026-09-12-phase2-workflow-designer-implementation-plan.md rename to .doc/remediation/2026-09-12-phase2-workflow-designer-implementation-plan.md index 8d8db223..497416de 100644 --- a/.doc/2026-09-12-phase2-workflow-designer-implementation-plan.md +++ b/.doc/remediation/2026-09-12-phase2-workflow-designer-implementation-plan.md @@ -1,6 +1,6 @@ # Phase 2:工作流设计器与模板库 Implementation Plan -> **依据**:`.doc/2026-09-11-production-ready-workflow-governance-plan.md` §7、§15 Phase 2 +> **依据**:`.doc/remediation/2026-09-11-production-ready-workflow-governance-plan.md` §7、§15 Phase 2 **Goal:** 工作流定义版本化入库;模板 CAS 资产库;Admin 草稿/校验/发布/退役;静态 catalog bootstrap;运行时 DBCatalog。 diff --git a/.doc/2026-09-12-quick-reference-guide.md b/.doc/remediation/2026-09-12-quick-reference-guide.md similarity index 99% rename from .doc/2026-09-12-quick-reference-guide.md rename to .doc/remediation/2026-09-12-quick-reference-guide.md index 6816a20a..0cb9bf4c 100644 --- a/.doc/2026-09-12-quick-reference-guide.md +++ b/.doc/remediation/2026-09-12-quick-reference-guide.md @@ -385,7 +385,7 @@ golangci-lint run ./internal/... | 文档 | 用途 | 适合人员 | |---|---|---| -| [remediation-gap-matrix.md](./2026-09-12-remediation-gap-matrix.md) | **当前缺口 SSOT** | 全体 | +| [remediation-gap-matrix.md](./gap-matrix.md) | **当前缺口 SSOT** | 全体 | | [ops/CURRENT.md](./ops/CURRENT.md) | 协作焦点 | Agent / 开发 | | [comprehensive-audit-and-remediation-plan.md](./2026-09-12-comprehensive-audit-and-remediation-plan.md) | 详细缺陷分析与整改方案(历史) | 架构师、资深开发 | | [remediation-tasks-and-acceptance-checklist.md](./2026-09-12-remediation-tasks-and-acceptance-checklist.md) | 可执行的任务拆分与验收 | 开发、QA | diff --git a/.doc/2026-09-12-remediation-tasks-and-acceptance-checklist.md b/.doc/remediation/2026-09-12-remediation-tasks-and-acceptance-checklist.md similarity index 99% rename from .doc/2026-09-12-remediation-tasks-and-acceptance-checklist.md rename to .doc/remediation/2026-09-12-remediation-tasks-and-acceptance-checklist.md index 05388cce..01ef50be 100644 --- a/.doc/2026-09-12-remediation-tasks-and-acceptance-checklist.md +++ b/.doc/remediation/2026-09-12-remediation-tasks-and-acceptance-checklist.md @@ -1,6 +1,6 @@ # 整改实施拆分与验收清单 -> **工作手册(非 live status)** — 任务说明与验收框;勾选状态以 [remediation-gap-matrix.md](./2026-09-12-remediation-gap-matrix.md) 与 [.doc/ops/checklists/](./ops/checklists/) 为准。 +> **工作手册(非 live status)** — 任务说明与验收框;勾选状态以 [gap-matrix.md](./gap-matrix.md) 与 [archive/ops/checklists/](../archive/ops/checklists/) 为准。 **日期**: 2026-09-12 **格式**: 可执行的任务分解与逐项验收标准 diff --git a/.doc/2026-09-12-three-workflows-strict-governance-remediation.md b/.doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md similarity index 100% rename from .doc/2026-09-12-three-workflows-strict-governance-remediation.md rename to .doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md diff --git a/.doc/remediation/INDEX.md b/.doc/remediation/INDEX.md new file mode 100644 index 00000000..8de77927 --- /dev/null +++ b/.doc/remediation/INDEX.md @@ -0,0 +1,15 @@ +# 整改方案索引 + +| 文档 | 说明 | +|------|------| +| [gap-matrix.md](./gap-matrix.md) | 发布缺口 SSOT | +| [2026-09-12-comprehensive-audit-and-remediation-plan.md](./2026-09-12-comprehensive-audit-and-remediation-plan.md) | 综合缺陷与整改 | +| [2026-09-12-remediation-tasks-and-acceptance-checklist.md](./2026-09-12-remediation-tasks-and-acceptance-checklist.md) | 任务拆分与验收 | +| [2026-09-12-quick-reference-guide.md](./2026-09-12-quick-reference-guide.md) | 症状→原因→方案速查 | +| [2026-09-11-production-ready-workflow-governance-plan.md](./2026-09-11-production-ready-workflow-governance-plan.md) | 生产就绪治理 | +| [2026-09-12-permissions-settings-three-workflows-implementation-plan.md](./2026-09-12-permissions-settings-three-workflows-implementation-plan.md) | 权限+三工作流 | +| [2026-09-12-phase1-iam-authz-implementation-plan.md](./2026-09-12-phase1-iam-authz-implementation-plan.md) | Phase1 IAM | +| [2026-09-12-phase2-workflow-designer-implementation-plan.md](./2026-09-12-phase2-workflow-designer-implementation-plan.md) | Phase2 设计器 | +| [2026-09-12-three-workflows-strict-governance-remediation.md](./2026-09-12-three-workflows-strict-governance-remediation.md) | 三工作流严格治理 | + +审计入口:[../audit/INDEX.md](../audit/INDEX.md) diff --git a/.doc/remediation/README.md b/.doc/remediation/README.md new file mode 100644 index 00000000..cf5ba5cf --- /dev/null +++ b/.doc/remediation/README.md @@ -0,0 +1,8 @@ +# 整改方案 + +实施方案、分波次计划、发布缺口 SSOT。 + +| 文档 | 说明 | +|------|------| +| [gap-matrix.md](./gap-matrix.md) | 发布 blocker SSOT | +| [INDEX.md](./INDEX.md) | 方案索引 | diff --git a/.doc/2026-09-12-remediation-gap-matrix.md b/.doc/remediation/gap-matrix.md similarity index 98% rename from .doc/2026-09-12-remediation-gap-matrix.md rename to .doc/remediation/gap-matrix.md index 4acc1583..14d67063 100644 --- a/.doc/2026-09-12-remediation-gap-matrix.md +++ b/.doc/remediation/gap-matrix.md @@ -3,7 +3,7 @@ **更新**: 2026-09-13 **分支**: dev **production_ready**: no(CI 真实 PI E2E / 前端人工抽检未完成;main 本地冒烟已通过) -**协作焦点**: [.doc/ops/CURRENT.md](ops/CURRENT.md) +**协作焦点**: [../ops/CURRENT.md](../ops/CURRENT.md) **Agent 手册**: [AGENTS.md](../AGENTS.md) · [PROJECT.md](../PROJECT.md) > Codex 2026-09-12 再审计项与本轮回环证据见下表「Codex 再审计」区段。 diff --git a/.doc/status/FEATURE-MATRIX.md b/.doc/status/FEATURE-MATRIX.md new file mode 100644 index 00000000..6222f84f --- /dev/null +++ b/.doc/status/FEATURE-MATRIX.md @@ -0,0 +1,35 @@ +# 模块与功能完成度(SSOT) + +**更新**: 2026-09-13 +**production_ready**: no +**发布缺口**: [../remediation/gap-matrix.md](../remediation/gap-matrix.md) +**协作焦点**: [../ops/CURRENT.md](../ops/CURRENT.md) + +> 本表描述**能力地图**;上线 blocker 见 gap-matrix,二者互相链接、不合并。 + +**状态枚举**: `done` | `partial` | `planned` | `deferred` | `blocked` + +--- + +## 完成度矩阵 + +| 模块 | 能力 | 状态 | 证据 | 缺口/后续 | mutex | +|------|------|------|------|-----------|-------| +| 意图识别 L1 | 18 类 Intent + 三分支消解 | done | [system-design/intent-recognition](../system-design/intent-recognition/);[test-report 2026-09-07](../test-reports/2026-09-07-three-branch-intent-framework-test-report.md) | — | `intent` | +| 对话 / ctxmgr | 多轮上下文、记忆、摘要 | partial | [system-design/multi-turn-dialogue](../system-design/multi-turn-dialogue/);P0 断链已修 | 语义摘要(D5 backlog);长任务治理 | `chat` | +| 智能体小队 | 角色-任务-工作区-黑板 | done | [system-design/agent-squad](../system-design/agent-squad/);[test 2026-09-07](../test-reports/2026-09-07-dynamic-squad-planning-test-report.md) | 非关键步骤降级(A5/A6 backlog) | `squad` | +| 工作流治理 | 三正式工作流 + 阶段门禁 | done | [remediation/three-workflows](../remediation/2026-09-12-three-workflows-strict-governance-remediation.md);[test 2026-09-12](../test-reports/2026-09-12-three-workflows-governance-remediation-test-report.md) | Phase2 设计器 partial | `workflow` | +| IAM / 鉴权 | 项目级 API 鉴权 + RBAC | done | [audit/authorization](../audit/authorization-matrix-v2.md);[test phase1](../test-reports/2026-09-12-phase1-iam-authz-test-report.md) | 旧 API 410 标注(BUG-11 partial) | `authz` | +| 文档治理 | 法定文档生命周期 + 租约 | done | [test docgov](../test-reports/2026-09-08-docgov-lifecycle-and-claiming-framework-test-report.md) | — | `docgov` | +| 前端工作台 | 三栏 + 块文档 + SSE | partial | [test workbench](../test-reports/2026-09-08-three-column-workbench-and-block-document-test-report.md) | 人工抽检待完成 | `web` | +| PI Runner / 配置链 | pi-agent + MiniMax 真实链路 | done | [test piagent](../test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md);[container-env](../test-reports/2026-09-13-container-env-configuration-test-report.md) | — | `pi-agent` | +| 三环境运维 | dev/test/main + 共享 KB | done | [PROJECT.md](../../PROJECT.md) §4;四环境 healthy | — | `infra` | +| CI / E2E | PG 集成 + 真实 PI E2E | partial | [gap-matrix BUG-08](../remediation/gap-matrix.md);[test pg-ci](../test-reports/2026-09-12-pg-ci-soak-e2e-test-report.md) | CI `TEST_DATABASE_URL` + 真实 PI E2E 实录 | `ci` | + +--- + +## 更新规则 + +1. 模块状态变化时同步更新本表与 [gap-matrix](../remediation/gap-matrix.md)(若涉及 blocker) +2. 同一 `mutex` 同时仅一个 Agent `in_progress`(见 CURRENT 并行认领表) +3. 新能力行:复制模板 [../ops/templates/feature-matrix-row.md](../ops/templates/feature-matrix-row.md) diff --git a/.doc/status/README.md b/.doc/status/README.md new file mode 100644 index 00000000..db0d5364 --- /dev/null +++ b/.doc/status/README.md @@ -0,0 +1,5 @@ +# 模块完成度 + +**SSOT**:[FEATURE-MATRIX.md](./FEATURE-MATRIX.md) + +与 [remediation/gap-matrix.md](../remediation/gap-matrix.md)(发布 blocker)分离:本目录描述**能力地图**,gap-matrix 描述**上线缺口**。 diff --git a/.doc/system-design/README.md b/.doc/system-design/README.md index 370f0af0..da71ad6c 100644 --- a/.doc/system-design/README.md +++ b/.doc/system-design/README.md @@ -11,7 +11,7 @@ | 项 | 链接 | |-----|------| -| 主报告 | [intention-recognition/01-意图识别框架-设计-架构-实现-难点-解决方案-亮点与优势.md](intention-recognition/01-意图识别框架-设计-架构-实现-难点-解决方案-亮点与优势.md) | +| 主报告 | [intent-recognition/01-意图识别框架-设计-架构-实现-难点-解决方案-亮点与优势.md](intent-recognition/01-意图识别框架-设计-架构-实现-难点-解决方案-亮点与优势.md) | | 中间分析 | [.tmp/intent-recognition/](../.tmp/intent-recognition/) | | 一句话总结 | 纯规则 + 四级漏斗 + 三分支消解的 L1 协作对话层 | @@ -121,8 +121,13 @@ │ └── 01-意图识别框架-设计-架构-实现-难点-解决方案-亮点与优势.md ├── agent-squad/ │ └── 02-智能体小队编排-设计-思路-架构-实现-难点-解决方案-亮点与优势.md -└── multi-turn-dialogue/ - └── 03-多轮对话优化-设计-架构-实现-难点-解决方案-亮点与优势.md +├── multi-turn-dialogue/ +│ └── 03-多轮对话优化-设计-架构-实现-难点-解决方案-亮点与优势.md +└── project-workflow/ + ├── 03-项目多工作流与智能产品经理-测试经理工作流-设计方案.md + ├── 04-项目多工作流与智能产品经理-测试经理工作流-实施计划.md + ├── 05-Phase0-基线确认与契约冻结.md + └── 06-Phase7-全链路验收与发布基线.md .tmp/ ← 中间分析文件 ├── intent-recognition/ @@ -147,3 +152,4 @@ - 架构总览:[.doc/system-design/architecture-design.md](../architecture-design.md)(已有的项目骨架设计文档) - 测试报告:[.doc/test-reports/](../test-reports/)(多轮多角色端到端测试报告) +- 历史功能设计:[.doc/archive/design/superpowers/](../archive/design/superpowers/) diff --git a/.doc/test-reports/2026-09-08-dynamic-roles-and-doc-visibility-rbac-test-report.md b/.doc/test-reports/2026-09-08-dynamic-roles-and-doc-visibility-rbac-test-report.md index e38457bc..4a62be6c 100644 --- a/.doc/test-reports/2026-09-08-dynamic-roles-and-doc-visibility-rbac-test-report.md +++ b/.doc/test-reports/2026-09-08-dynamic-roles-and-doc-visibility-rbac-test-report.md @@ -4,8 +4,8 @@ - **归档路径**: `.doc/test-reports/2026-09-08-dynamic-roles-and-doc-visibility-rbac-test-report.md` - **测试日期**: 2026-09-08 - **测试结果**: 全部通过 (PASS 100%) -- **关联设计规范**: `docs/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md` -- **关联实施计划**: `docs/superpowers/plans/2026-09-08-dynamic-roles-and-doc-visibility-rbac.md` +- **关联设计规范**: `.doc/archive/design/superpowers/specs/2026-09-08-dynamic-roles-and-doc-visibility-rbac-design.md` +- **关联实施计划**: `.doc/archive/design/superpowers/plans/2026-09-08-dynamic-roles-and-doc-visibility-rbac.md` --- diff --git a/.doc/test-reports/2026-09-09-chat-wait-error-retry-ux-test-report.md b/.doc/test-reports/2026-09-09-chat-wait-error-retry-ux-test-report.md index 6557f460..b64bd012 100644 --- a/.doc/test-reports/2026-09-09-chat-wait-error-retry-ux-test-report.md +++ b/.doc/test-reports/2026-09-09-chat-wait-error-retry-ux-test-report.md @@ -142,7 +142,7 @@ $ curl -N -s -D - -X POST http://127.0.0.1:8080/api/v1/chat/stream \ **实际输出:** 收到完整 `phase`/`status`/`delta`/`done` 序列,**未出现 `event: error`**;`done.duration_ms=9`(毫秒级,非真实生成耗时),`delta` 内容是一段与"逆压电效应"无关的通用推进建议话术(V0.5 方案框架选项)。 -**根因排查:** 阅读 `internal/coordinator/dialogue_llm.go` 与 `docs/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md` 确认,这是**既有、独立的 Phase A 设计行为**(非本次 P1 引入的缺陷):`generateDialogueReply` 对 `CASUAL_CHAT`/`AMBIGUOUS_FALLBACK` 分支调用 pi-agent 失败时,按该设计文档第 26 行 "失败回退原模板,`ReplySource=template`" 的既定契约静默降级为规则模板,由 `internal/coordinator/engine.go:301/748` 处的 `ReplySourceTemplate` 兜底吸收,不会传播到 `sse.go` 的 `SendMessageStream` 错误返回路径,因此该场景**不产生** `error` 事件。这与 P1 设计"失败不得写入成功模板"的原则存在语义交叉,但适用范围不同:P1 该原则约束的是 `chat/stream` 层面的 transient/网络/超时错误(`ClassifyError`/`EmitError` 覆盖的路径,例如 `handleRunTaskStream`/`handleChatStream` 中 `sess.SendMessageStream` 返回非 nil error 时),而闲聊对话生成的模板兜底属于 2026-09-09 单独设计并验收通过的 Phase A 契约,两者不是同一交付边界,因此**不计为本次 P1 缺陷**,但记录为后续需澄清的边界(见第七节)。 +**根因排查:** 阅读 `internal/coordinator/dialogue_llm.go` 与 `.doc/archive/design/superpowers/specs/2026-09-09-dialogue-llm-casual-ambiguous-design.md` 确认,这是**既有、独立的 Phase A 设计行为**(非本次 P1 引入的缺陷):`generateDialogueReply` 对 `CASUAL_CHAT`/`AMBIGUOUS_FALLBACK` 分支调用 pi-agent 失败时,按该设计文档第 26 行 "失败回退原模板,`ReplySource=template`" 的既定契约静默降级为规则模板,由 `internal/coordinator/engine.go:301/748` 处的 `ReplySourceTemplate` 兜底吸收,不会传播到 `sse.go` 的 `SendMessageStream` 错误返回路径,因此该场景**不产生** `error` 事件。这与 P1 设计"失败不得写入成功模板"的原则存在语义交叉,但适用范围不同:P1 该原则约束的是 `chat/stream` 层面的 transient/网络/超时错误(`ClassifyError`/`EmitError` 覆盖的路径,例如 `handleRunTaskStream`/`handleChatStream` 中 `sess.SendMessageStream` 返回非 nil error 时),而闲聊对话生成的模板兜底属于 2026-09-09 单独设计并验收通过的 Phase A 契约,两者不是同一交付边界,因此**不计为本次 P1 缺陷**,但记录为后续需澄清的边界(见第七节)。 **尝试 2(文档要求的替代方案:死端口验证客户端网络失败分类):** diff --git a/.doc/test-reports/2026-09-12-three-workflows-governance-remediation-test-report.md b/.doc/test-reports/2026-09-12-three-workflows-governance-remediation-test-report.md index 76abc5d0..70d24e81 100644 --- a/.doc/test-reports/2026-09-12-three-workflows-governance-remediation-test-report.md +++ b/.doc/test-reports/2026-09-12-three-workflows-governance-remediation-test-report.md @@ -2,7 +2,7 @@ ## 一、 测试背景 (Background) -依据 `.doc/2026-09-12-three-workflows-strict-governance-remediation.md`,系统需收敛为 3 个正式工作流、实例唯一运行权威、PM/TE 解耦及项目上下文快照。 +依据 `.doc/remediation/2026-09-12-three-workflows-strict-governance-remediation.md`,系统需收敛为 3 个正式工作流、实例唯一运行权威、PM/TE 解耦及项目上下文快照。 ## 二、 测试目标 (Test Objectives) diff --git a/.doc/test-reports/2026-09-13-container-env-configuration-test-report.md b/.doc/test-reports/2026-09-13-container-env-configuration-test-report.md new file mode 100644 index 00000000..a13d48c8 --- /dev/null +++ b/.doc/test-reports/2026-09-13-container-env-configuration-test-report.md @@ -0,0 +1,104 @@ +# 容器构建与环境变量配置链测试报告 + +## 一、 测试背景 (Background) + +审计根 `.env`、环境差异文件、四套 Compose、Dockerfile、启动脚本和应用配置加载器是否形成一致的配置链。 + +## 二、 测试目标 (Test Objectives) + +- 所有根配置键都有实际消费点,无已移除字段残留。 +- 四套 Compose 可解析,app/runner 模型与 provider 一致,必要密钥非空。 +- app 与 pi-agent 镜像能够真实构建,构建上下文不包含运行数据。 +- Go short 全量回归通过;运行中的容器状态有真实记录。 + +## 三、 测试方案与环境 (Test Plan & Environment) + +- OS: Linux;Docker Compose v5.5.1;Go 仓库当前 toolchain。 +- 层级:静态键覆盖、Compose 渲染、Docker 多阶段实构建、Go short 回归、容器健康与 HTTP ready。 +- 敏感字段只判定存在/非空,不记录值。 + +## 四、 预期结果 (Expected Results) + +| 用例 | 预期 | +|------|------| +| env 键覆盖 | 无未消费与重复键,无已废弃字段 | +| Compose | shared/dev/test/main 均可解析;缺必填密码时 fail-fast | +| Docker build | app/pi-agent 成功,`.regulations` 不进入上下文 | +| Go short | 全部 package PASS | +| runtime | shared/dev/test/main 全健康,数据库新密码可通过独立 TCP/SCRAM 登录 | + +## 五、 实际测试结果与判定 (Actual Results & Evaluation) + +### 5.1 配置渲染与键覆盖 + +**Input**: 四套 `docker compose ... config -q`;`rg` + `awk` 键集合审计。 + +**Actual Output**: + +```text +shared compose config ok with required KB placeholder +dev compose config ok with required KB placeholder +test compose config ok with required KB placeholder +main compose config ok with required KB placeholder +env key coverage and stale-key validation ok +``` + +移除临时验证值后,四套 Compose 均按预期拒绝空 `KB_DB_PASSWORD`。 + +**Verdict**: PASS(fail-fast 生效) + +### 5.2 Docker 实构建 + +**Input**: dev/test/main 的 `docker compose build app pi-agent`。 + +**Actual Output**: + +```text +Image agent-dev-app Built +Image shuimu-pi-agent:dev Built +Image agent-test-app Built +Image shuimu-pi-agent:test Built +Image agent-main-app Built +Image shuimu-pi-agent:main Built +app build context: 12.70MB +``` + +首次发现 `.regulations` 未忽略时,context 已传 17.10GB,立即中止;修复 `.dockerignore` 后为 12.70MB。 + +**Verdict**: PASS + +### 5.3 运行状态与 ready + +**Actual Output**: + +```text +shuimu-kb-shared healthy +shuimu-agent-app-dev healthy +shuimu-pi-agent-dev healthy +shuimu-agent-app-test healthy +shuimu-pi-agent-test healthy +shuimu-pi-agent-main healthy +shuimu-agent-app-main healthy +http://127.0.0.1:8080/api/v1/ready PASS +http://127.0.0.1:8081/api/v1/ready PASS +http://127.0.0.1:8000/api/v1/ready PASS +``` + +用户补值后,对 `shuimu-kb-shared` 与 `shuimu-system-pg-main` 执行 PostgreSQL 用户密码轮换;再从两个独立临时客户端通过 TCP/SCRAM 登录并执行 `SELECT 1`,均成功。三个 app 的 health 均返回 `database_ready=true`、`task_store_ready=true`、`schema_version=25`。 + +**Verdict**: PASS + +## 六、 自动化测试套件汇总 (Test Suite Execution) + +```text +go test -short ./... -> PASS(全部 package ok,internal/server 7.086s) +go test ./internal/config/... -> PASS +bash -n scripts/env-service.sh -> PASS +git diff --check -> PASS +``` + +## 七、 测试结论与后续优化建议 (Conclusion & Next Steps) + +- 配置链、镜像构建、数据库密码轮换与 shared/dev/test/main 运行验收通过。 +- 共享 KB 密码已生效但低于建议的 16 字符,建议后续维护窗口再次轮换为更长随机值。 +- 本报告未以 stub 结果冒充真实 Agent 验收;test/main 配置已切至 `pi-agent`,但未执行长任务真实模型 E2E。 diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/adhoc_task_reply.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/adhoc_task_reply.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/adhoc_task_reply.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/adhoc_task_reply.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/dialogue_first_answer.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/dialogue_first_answer.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/dialogue_first_answer.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/dialogue_first_answer.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/blackboard.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/blackboard.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/blackboard.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/blackboard.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/gov_audit.jsonl b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/gov_audit.jsonl similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/gov_audit.jsonl rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/gov_audit.jsonl diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/ledger.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/ledger.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/ledger.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/ledger.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/01_organize/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/02_engineer/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/03_draft/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/04_review/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/dynamic_rf_emc/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_1/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/tasks/repair_2/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/trace.jsonl b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/trace.jsonl similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/trace.jsonl rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/trace.jsonl diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workflow.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workflow.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workflow.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workflow.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workspace.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workspace.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workspace.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/01-router-upgrade/workspace/workspace.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/task_summary.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/task_summary.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/task_summary.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/task_summary.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/blackboard.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/blackboard.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/blackboard.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/blackboard.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/gov_audit.jsonl b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/gov_audit.jsonl similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/gov_audit.jsonl rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/gov_audit.jsonl diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/ledger.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/ledger.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/ledger.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/ledger.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/01_search/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/02_market/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/03_regulatory/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/04_plan/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/05_review_plan/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/06_draft/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/TASK.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/TASK.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/TASK.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/TASK.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/output.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/output.md similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/output.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/output.md diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/step_manifest.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/step_manifest.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/step_manifest.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/tasks/07_review/step_manifest.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/trace.jsonl b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/trace.jsonl similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/trace.jsonl rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/trace.jsonl diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workflow.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workflow.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workflow.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workflow.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workspace.json b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workspace.json similarity index 100% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workspace.json rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/02-standard-research/workspace/workspace.json diff --git a/.doc/test-reports/2026-09-09-longtask-governance-quality/REPORT.md b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/REPORT.md similarity index 95% rename from .doc/test-reports/2026-09-09-longtask-governance-quality/REPORT.md rename to .doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/REPORT.md index dee3a1ac..cb4556fb 100644 --- a/.doc/test-reports/2026-09-09-longtask-governance-quality/REPORT.md +++ b/.doc/test-reports/assets/longtask-governance-quality/2026-09-09-longtask-governance-quality/REPORT.md @@ -2,7 +2,7 @@ - **执行时间**: 2026-09-10 00:42:20 - **后端**: pi-agent (MiniMax-M3, 真实执行) -- **设计规范**: docs/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md +- **设计规范**: .doc/archive/design/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md ## 场景 A:路由升级全链路(同题对比) diff --git a/.gitignore b/.gitignore index 011f0d1b..d249f82d 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ logs/ # Workspaces & Cache workspaces/ +.worktrees/ .cache/ tmp/ temp/ diff --git a/AGENTS.md b/AGENTS.md index 74b14f8a..e27aa717 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,7 +7,7 @@ ## 1. 目的与适用范围 -- 适用于在本仓库工作的所有编码 Agent(Cursor、Claude Code、Codex 等)。 +- 适用于在本仓库工作的所有编码 Agent(Cursor、Claude Code、Codex、Kimi、Antigravity 等)。 - **聊天记录易失**;Git 与活文档区才是可协作、可审计的真相来源。 - 任何任务、调研、审计、修复、运维操作均须同步落盘,禁止「只改代码 / 只留在对话」。 @@ -17,11 +17,13 @@ 每次会话开始,按顺序阅读: -1. **本文件** `AGENTS.md`(通用工作方式) +1. **本文件** `AGENTS.md` 2. **[PROJECT.md](./PROJECT.md)**(本仓库地图与约定) -3. **`.doc/ops/CURRENT.md`**(当前焦点、阻塞、下一步) -4. 相关 **short-term 任务** / **handoff**(若存在) -5. 发布/审计类任务:再读 PROJECT 指向的 gap-matrix 等 SSOT +3. **[`.doc/README.md`](./.doc/README.md)**(文档 taxonomy) +4. **[`.doc/ops/CURRENT.md`](./.doc/ops/CURRENT.md)**(焦点、并行认领、集成槽位) +5. **[`.doc/status/FEATURE-MATRIX.md`](./.doc/status/FEATURE-MATRIX.md)**(模块完成度) +6. 相关 **short-term** / **handoff** / **audit** / **remediation** +7. 发布/审计类任务:[`remediation/gap-matrix.md`](./.doc/remediation/gap-matrix.md) **未读完不得开始改代码**(紧急热修除外,事后必须在 24h 内补文档)。 @@ -32,167 +34,232 @@ | 时机 | 必须动作 | |------|----------| | 任务开始 | 在 `short-term/` 或 `long-term/` 新建或更新条目(复制 templates) | -| 里程碑 | 更新任务文 `status` 与 `CURRENT.md` | -| 调研/审计 | 写入 `research/` 或任务文「证据」段 | -| 验收 | 写 test-report(路径见 PROJECT),回链到 checklist | -| 会话结束/切换 Agent | 写或更新 `handoffs/` | +| 认领 | 在 CURRENT「并行认领」表登记 owner / branch / mutex | +| 合 dev + 容器测 | 占用 CURRENT「集成槽位」;他人排队 | +| 里程碑 | 更新任务文 `status`、FEATURE-MATRIX、CURRENT | +| 调研/审计 | 写入 `audit/` 或 `ops/research/` | +| 整改方案 | 写入 `remediation/` | +| 验收 | 写 test-report(路径见 PROJECT),回链 checklist | +| 会话结束/切换 Agent | 按 [session-close-checklist](./.doc/ops/templates/session-close-checklist.md) | | 提交 | 文档变更与代码同批或紧随 `docs(...)` 提交 | **状态字段**:`planned | in_progress | blocked | done | cancelled` -**current vs historical**:完成项标 `done` 或移入归档;不删除证据。 +**current vs historical**:完成项标 `done` 并移入 `archive/`;不删除证据。 --- -## 4. 活文档区约定 +## 4. 文档 taxonomy -默认路径:`.doc/ops/`(可由 PROJECT 覆盖) +默认路径:`.doc/`(详见 [`.doc/README.md`](./.doc/README.md)) ```text -.doc/ops/ - README.md # 本区用法 - CURRENT.md # 一页纸:当前焦点(会话必读) - short-term/ # 本迭代可关闭的任务 - long-term/ # 跨迭代 backlog - checklists/ # 可勾选验收清单 - handoffs/ # 会话交接 - research/ # 调研笔记实例 - templates/ # 新建条目时复制 +.doc/ + README.md # 总地图 + status/ # FEATURE-MATRIX(模块完成度 SSOT) + audit/ # 问题发现与分析 + remediation/ # 整改方案;gap-matrix(发布 blocker) + archive/ # 历史(只增不删) + ops/ # 活协作:CURRENT、short-term、handoffs… + system-design/ # 模块架构深读 + adr/ | backlog/ | test-reports/ | test-fixtures/ ``` +**红线**:禁止在 `.doc/` 根或 `docs/` 随意新建项目文档;新文档必须落入 taxonomy。 + **命名**:`YYYY-MM-DD-.md` --- ## 5. 文档类型与何时使用 -### 短期任务(short-term) - -- **何时**:本迭代可关闭的具体工作 -- **必含**:目标、范围、非目标、步骤、验收标准、相关链接 -- **模板**:`.doc/ops/templates/short-term-task.md` - -### 长期任务(long-term) - -- **何时**:跨迭代 backlog、架构债、未排期改进 -- **必含**:动机、成功标准、依赖、暂不启动原因 -- **模板**:`.doc/ops/templates/long-term-task.md` - -### Checklist(checklists) - -- **何时**:可勾选验收;与短任务 1:1 或 1:N -- **必含**:每项 `[ ]` / `[x]` + 证据链接(commit、报告、命令输出) -- **模板**:`.doc/ops/templates/checklist.md` - -### 调研笔记(research) - -- **何时**:只读调查、审计复核、根因分析 -- **必含**:结论、证据路径、开放问题、置信度 -- **模板**:`.doc/ops/templates/research-note.md` - -### 交接(handoffs) - -- **何时**:会话结束、切换 Agent、长时间阻塞 -- **必含**:目标、已完成、未完成、关键文件、如何验证、风险 -- **模板**:`.doc/ops/templates/handoff.md` - -### 报告(test-reports) - -- 路径由 **PROJECT.md** 指定(本仓为 `.doc/test-reports/`) -- **原则**:真实控制台/日志取样;禁止 stub 冒充最终验收 -- 在任务文与 `CURRENT.md` 中用相对链接引用 +| 类型 | 路径 | 模板 | +|------|------|------| +| 问题/分析 | `audit/` | [audit-note.md](./.doc/ops/templates/audit-note.md) | +| 整改方案 | `remediation/` | [remediation-plan.md](./.doc/ops/templates/remediation-plan.md) | +| 短期任务 | `ops/short-term/` | [short-term-task.md](./.doc/ops/templates/short-term-task.md) | +| 长期 backlog | `ops/long-term/` | [long-term-task.md](./.doc/ops/templates/long-term-task.md) | +| Checklist | `ops/checklists/` | [checklist.md](./.doc/ops/templates/checklist.md) | +| 交接 | `ops/handoffs/` | [handoff.md](./.doc/ops/templates/handoff.md) | +| 调研 | `ops/research/` | [research-note.md](./.doc/ops/templates/research-note.md) | +| 模块完成度 | `status/FEATURE-MATRIX.md` | [feature-matrix-row.md](./.doc/ops/templates/feature-matrix-row.md) | +| 验收报告 | `.doc/test-reports/` | 见 test-reports-standard | +| 历史 | `archive/**` | 关闭后迁入 | --- ## 6. 多 Agent 协作 -- **单一焦点**:`CURRENT.md` 只列 1–3 个当前焦点 -- **并行任务**:在 CURRENT 列出 owner/agent 标识与互斥资源(分支、文件、环境) -- **不覆盖**:不覆盖他人未合并工作区;发现冲突先写 handoff/blocker +### 6.1 并行认领(编码阶段) + +任务开始前在 CURRENT「并行认领」表登记: + +| 字段 | 说明 | +|------|------| +| owner | 工具 + 标识 | +| task | short-term 文件名 | +| branch | `feature/*` 或 `fix/*` | +| worktree | 路径或 `-` | +| mutex | 模块名(见 FEATURE-MATRIX) | +| status | `in_progress` / `blocked` / `done` | + +**同一 mutex 同时仅一个 `in_progress`**。冲突 → 写 handoff blocker,禁止覆盖他人未合并改动。 + +### 6.2 分支与 Worktree(策略 A:一律从 dev 开分支) + +> **禁止**在 `dev` / `test` / `main` 三大主干上直接 `git commit`(含代码、配置、文档)。 +> `dev` 仅作合入点;`test`/`main` 仅作环境晋升合入,禁止开发。 + +**任务开始(先于改码):** + +1. 更新本地 `dev`:`git checkout dev && git pull`(若已配置远端) +2. 从 `dev` 创建分支:`feature/`(新能力)或 `fix/`(缺陷);slug 与 short-term 任务名对齐 +3. 多 Agent 并行:用 `./scripts/agent-worktree.sh create feature/`(worktree 内编码) +4. 单 Agent:可在主仓 `git checkout -b feature/`,**不得**留在 `dev` 上改码提交 + +**合回 dev(占集成槽位,见 §6.3):** + +```bash +git checkout dev +git merge --no-ff feature/ -m "merge: feature/" +# 冒烟通过后 +git branch -d feature/ # 或 agent-worktree.sh remove +``` + +| 允许 | 禁止 | +|------|------| +| 在 `feature/*` / `fix/*` 上 commit | 在 `dev` / `test` / `main` 上 commit | +| worktree 内 `go test -short ./...` | worktree 内 `env-service.sh * start/stop/restart` | +| 占槽后在主仓 merge 入 `dev` | 多人直推同一 `dev` 工作区抢改 | +| 连主仓已起服务 `:8080` | 各 worktree 各起 docker | + +脚本:`./scripts/agent-worktree.sh create|list|remove` + +### 6.3 集成槽位(合入 dev + 容器验证) + +> **编码与 worktree 单测可并行;合入 dev + 共享容器验证必须串行。** + +Agent A 占槽 merge + 冒烟期间,Agent B **不得** merge dev 或动共享 docker;B 可继续 worktree 编码,并写入 queue 等待。 + +CURRENT「集成槽位」:`holder` | `phase`(idle/merging/smoke/e2e)| `since` | `scope` | `queue` + +**释放**:冒烟 PASS(或 FAIL+handoff)+ 文档同步 + holder=idle。长 E2E 优先 smoke 释放,E2E 结果后补报告。 + +**默认冒烟(holder 在主仓执行)**: + +```bash +go vet ./... +go test -short ./... +./scripts/env-service.sh dev restart +curl -sf http://127.0.0.1:8080/health +``` + +### 6.4 共享文档 + +`CURRENT.md` / `FEATURE-MATRIX.md` 由认领方或合并者更新;冲突时保留双方认领行再收敛。 + +### 6.5 协作纪律 + +- **单一焦点**:CURRENT 只列 1–3 个焦点 +- **不覆盖**:发现冲突先 handoff/blocker - **交接优先**:口头转述不可代替 handoff 文件 --- -## 7. Git 与提交 +## 7. 文档生命周期 -- 遵循 **Conventional Commits**:`feat` / `fix` / `refactor` / `test` / `docs` / `chore` / `ci` -- **原子提交**:一个逻辑变更一批;便于 review 与回滚 -- **用户未要求**:不擅自 push、不 force push 保护分支 -- **用户已要求 push/同步远端**:必须自主完成,不得把「请你去点推送」推回用户 -- **禁止**:在 `git config` 写入 token;硬重置/强推/删库仅在用户明确授权时 +```text +audit(问题)→ remediation(方案)→ ops/short-term(任务) + → test-reports(验收)→ archive/(关闭证据) +``` + +会话结束:[session-close-checklist.md](./.doc/ops/templates/session-close-checklist.md) --- -## 8. Secrets 与远端推送(自主,禁止索要) +## 8. Git 与提交 + +- 遵循 **Conventional Commits**:`feat` / `fix` / `refactor` / `test` / `docs` / `chore` / `ci` +- **原子提交**:一个逻辑变更一批;提交发生在 `feature/*` 或 `fix/*` 上,不在三大主干 +- **合回 dev**:占集成槽位后 `merge --no-ff`(见 §6.2、§6.3) +- **晋升**:`dev` → `test`(rc tag)→ `main`(release tag);仅在规划的环境合并时动 `test`/`main` +- **用户未要求**:不擅自 push +- **用户已要求 push/同步远端**:必须自主完成 +- **禁止**:在 `dev`/`test`/`main` 上直接开发 commit;在 `git config` 写入 token;硬重置/强推/删库仅在用户明确授权时 + +--- + +## 9. Secrets 与远端推送(自主,禁止索要) ### 查找顺序 -1. `${HOME}/.secrets/` 下与远端相关的文件(如 `gitea`、`github`) -2. 本仓 **PROJECT.md** 与 **push 脚本**(如 `scripts/git-push-dev.sh`)中的字段说明 - -### 常见字段(格式因宿主而异) - -```text -- ACCESS_TOKEN= -- URL_PREFIX= -``` - -### 执行方式 - -- 优先调用本仓封装脚本(若存在) -- 或自行读取 secrets 文件构造 push URL(**不写入 git config**) +1. `${HOME}/.secrets/`(如 `gitea`) +2. **PROJECT.md** 与 **push 脚本**(`scripts/git-push-dev.sh`) ### 禁止 -- 向用户索要 token 或要求粘贴凭证 -- 在聊天、文档、commit message 中展示 secret +- 向用户索要 token +- 在聊天/文档/commit 中展示 secret - 把 token 写入仓库或 `.env` 并提交 ### 缺失时 -- 在 ops 任务/handoff 记录 **blocker**:文件路径 + 缺字段名 -- 提示用户在本机补齐该文件后重试 -- **仍不索要 secret 内容** +在 ops/handoff 记 blocker(路径 + 缺字段);**仍不索要 secret 内容**。 --- -## 9. 安全与合规红线 +## 10. 安全与合规红线 - 不提交 `.env`、密钥、凭证、生产数据倾倒 -- 不做未授权访问或攻击性利用(本地修复与加固除外) -- 破坏性命令(`git reset --hard`、`push --force`、DROP DATABASE)仅在用户明确授权时 +- 破坏性命令仅在用户明确授权时 - XSS/注入等修复优先于功能扩展 --- -## 10. 计划 / 实现 / 验证 +## 11. 计划 / 实现 / 验证 -1. **大改动**:先对齐计划或 short-term 范围;范围外记 long-term -2. **实现**:按 PROJECT 测试命令验证;失败信息写入任务/报告 -3. **完成定义**:写进 checklist;勾选须有证据链接(非口头「已完成」) +1. **大改动**:先 short-term 范围;范围外记 long-term +2. **实现**:按 PROJECT 测试命令验证 +3. **完成定义**:checklist 勾选须有证据链接 --- -## 11. 沟通 +## 12. 沟通 -- 对用户:**简洁、中文**(若 PROJECT 未另规定) -- 不复述长篇规则;指向文件路径 +- 对用户:**简洁、中文** +- 指向文件路径,不复述长篇规则 - 需要决策时 **一次只问 1–2 个关键问题** -- 长输出先给结论,再展开细节 --- -## 12. 模板索引 +## 13. 工具入口(薄转发) -新建任何 ops 条目前,先复制对应模板: +| 工具 | 入口 | +|------|------| +| Cursor | `.cursor/rules/*` + 本文件 | +| Claude Code | [CLAUDE.md](./CLAUDE.md) | +| Codex | [CODEX.md](./CODEX.md) | +| Gemini | [GEMINI.md](./GEMINI.md) | +| Antigravity | [ANTIGRAVITY.md](./ANTIGRAVITY.md) | +| Kimi | [KIMI.md](./KIMI.md) | -| 类型 | 模板路径 | -|------|----------| +均转发至本文件启动链。 + +--- + +## 14. 模板索引 + +| 类型 | 路径 | +|------|------| | 短期任务 | `.doc/ops/templates/short-term-task.md` | | 长期任务 | `.doc/ops/templates/long-term-task.md` | | Checklist | `.doc/ops/templates/checklist.md` | | 交接 | `.doc/ops/templates/handoff.md` | | 调研 | `.doc/ops/templates/research-note.md` | +| 审计笔记 | `.doc/ops/templates/audit-note.md` | +| 整改方案 | `.doc/ops/templates/remediation-plan.md` | +| 完成度行 | `.doc/ops/templates/feature-matrix-row.md` | +| 会话结束 | `.doc/ops/templates/session-close-checklist.md` | --- diff --git a/ANTIGRAVITY.md b/ANTIGRAVITY.md new file mode 100644 index 00000000..7a14766d --- /dev/null +++ b/ANTIGRAVITY.md @@ -0,0 +1,9 @@ +# Antigravity 入口 + +请先完整阅读并遵守 [AGENTS.md](./AGENTS.md)(通用 Agent 工作手册)。 + +再阅读 [PROJECT.md](./PROJECT.md)(本仓库地图与约定)。 + +然后阅读 [.doc/README.md](./.doc/README.md) 与 [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) 获取文档 taxonomy 与当前焦点。 + +勿向用户索要 Git token;按 AGENTS.md 自行从本机 `${HOME}/.secrets/` 路径读取。 diff --git a/CLAUDE.md b/CLAUDE.md index eb386745..d0ee9512 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,6 +4,6 @@ 再阅读 [PROJECT.md](./PROJECT.md)(本仓库地图与约定)。 -然后阅读 [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) 获取当前任务焦点。 +然后阅读 [.doc/README.md](./.doc/README.md) 与 [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) 获取文档 taxonomy 与当前焦点。 勿向用户索要 Git token;按 AGENTS.md 自行从本机 `${HOME}/.secrets/` 路径读取。 diff --git a/CODEX.md b/CODEX.md new file mode 100644 index 00000000..2a6fa50f --- /dev/null +++ b/CODEX.md @@ -0,0 +1,9 @@ +# Codex 入口 + +请先完整阅读并遵守 [AGENTS.md](./AGENTS.md)(通用 Agent 工作手册)。 + +再阅读 [PROJECT.md](./PROJECT.md)(本仓库地图与约定)。 + +然后阅读 [.doc/README.md](./.doc/README.md) 与 [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) 获取文档 taxonomy 与当前焦点。 + +勿向用户索要 Git token;按 AGENTS.md 自行从本机 `${HOME}/.secrets/` 路径读取。 diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 00000000..0f71fd32 --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,9 @@ +# Gemini 入口 + +请先完整阅读并遵守 [AGENTS.md](./AGENTS.md)(通用 Agent 工作手册)。 + +再阅读 [PROJECT.md](./PROJECT.md)(本仓库地图与约定)。 + +然后阅读 [.doc/README.md](./.doc/README.md) 与 [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) 获取文档 taxonomy 与当前焦点。 + +勿向用户索要 Git token;按 AGENTS.md 自行从本机 `${HOME}/.secrets/` 路径读取。 diff --git a/KIMI.md b/KIMI.md new file mode 100644 index 00000000..a478bcff --- /dev/null +++ b/KIMI.md @@ -0,0 +1,9 @@ +# Kimi Code 入口 + +请先完整阅读并遵守 [AGENTS.md](./AGENTS.md)(通用 Agent 工作手册)。 + +再阅读 [PROJECT.md](./PROJECT.md)(本仓库地图与约定)。 + +然后阅读 [.doc/README.md](./.doc/README.md) 与 [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) 获取文档 taxonomy 与当前焦点。 + +勿向用户索要 Git token;按 AGENTS.md 自行从本机 `${HOME}/.secrets/` 路径读取。 diff --git a/PROJECT.md b/PROJECT.md index a9391728..5c840aa0 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -52,16 +52,21 @@ **红线**:知识库共享;对话与业务 DB **严格隔离**,禁止跨环境读写。 +**分支红线**:三大主干(`dev`/`test`/`main`)禁止直接开发 commit;一律从 `dev` 开 `feature/*` 或 `fix/*`,合回 `dev` 须占集成槽位(见 [AGENTS.md](./AGENTS.md) §6)。 + --- ## 5. 文档地图(SSOT) | 用途 | 路径 | |------|------| +| 文档总地图 | [.doc/README.md](./.doc/README.md) | | 协作会话 / 当前焦点 | [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) | -| 发布/审计缺口状态 | [.doc/2026-09-12-remediation-gap-matrix.md](./.doc/2026-09-12-remediation-gap-matrix.md) | +| 模块完成度 | [.doc/status/FEATURE-MATRIX.md](./.doc/status/FEATURE-MATRIX.md) | +| 发布/审计缺口 | [.doc/remediation/gap-matrix.md](./.doc/remediation/gap-matrix.md) | +| 问题分析 | [.doc/audit/INDEX.md](./.doc/audit/INDEX.md) | +| 整改方案 | [.doc/remediation/INDEX.md](./.doc/remediation/INDEX.md) | | 测试报告归档 | [.doc/test-reports/](./.doc/test-reports/) | -| 历史审计索引 | [.doc/2026-09-12-AUDIT-INDEX.md](./.doc/2026-09-12-AUDIT-INDEX.md) | | 测试报告规范 | [.cursor/rules/test-reports-standard.mdc](./.cursor/rules/test-reports-standard.mdc) | --- @@ -108,7 +113,7 @@ cd web && npm test && npm run build ## 8. 测试与验收铁律 -- 开发可用 stub;**交付前验收**必须真实 PI Agent + MiniMax-M3 全链路 +- 开发可用 stub;**交付前验收**必须真实 PI Agent + MiniMax-M2.7-highspeed 全链路 - 报告必须归档至 `.doc/test-reports/`,遵循 test-reports-standard - 禁止 stub 输出冒充最终验收数据 @@ -118,13 +123,14 @@ cd web && npm test && npm run build 见 **[.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md)**。 -- 发布缺口 SSOT:[gap-matrix](./.doc/2026-09-12-remediation-gap-matrix.md) +- 发布缺口 SSOT:[gap-matrix](./.doc/remediation/gap-matrix.md) +- 模块完成度:[FEATURE-MATRIX](./.doc/status/FEATURE-MATRIX.md) - 最新测试报告:[2026-09-13-codex-audit-p0-remediation-test-report.md](./.doc/test-reports/2026-09-13-codex-audit-p0-remediation-test-report.md) -- **剩余 blocker**: CI 真实 PI E2E + 前端人工抽检(main 本地冒烟已通过) +- **剩余 blocker**: 对话刷新恢复与历史读取授权一致性 + CI 真实 PI E2E + 前端人工抽检(main 本地冒烟已通过) --- ## 10. 语言与提交 - 对用户:**简体中文** -- 提交:Conventional Commits;在 `dev` 上渐进式分批提交 +- 提交:Conventional Commits;在 `feature/*` 或 `fix/*` 上渐进式分批提交,合回 `dev` 用 `--no-ff`(禁止在三大主干直接 commit) diff --git a/README.md b/README.md index b3965c3d..6c45a01f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ 本项目是一个面向企业与团队的高可用对话智能体(Chat Agent)系统,结合了知识库检索增强(RAG)、自动化 Agent 执行能力与安全审计机制。 +> **Agent / 协作者必读**:[AGENTS.md](./AGENTS.md) → [PROJECT.md](./PROJECT.md) → [.doc/README.md](./.doc/README.md) → [.doc/ops/CURRENT.md](./.doc/ops/CURRENT.md) + --- ## 一、 仓库三分支结构说明 @@ -10,11 +12,11 @@ | 分支名 | 定位 | 职责与准入规则 | | :--- | :--- | :--- | -| **`dev`** | **开发分支** | **日常开发基线**。所有代码开发均在此分支或其衍生子分支(`feature/*`, `fix/*`)进行,子分支自测后合并回 `dev`。支持一个任务按功能拆解并逐步渐进式提交。 | -| **`test`** | **测试分支** | **准生产实测分支**。当 `dev` 积累了一定功能阶段后合并至此,建立发布候选节点(`rc-vX.Y.Z`),进行真实环境部署与长期集成测试与运维检验。 | -| **`main`** | **主分支** | **生产发布分支**。严禁直接提交。仅在 `test` 分支经过真实运维和测试验证达到发布标准后,将对应节点合并回 `main` 并打正式版本 Tag(`vX.Y.Z`)。 | +| **`dev`** | **开发合入基线** | 禁止直接 commit。从最新 `dev` 开 `feature/*` 或 `fix/*` 开发,自测后占集成槽位 `--no-ff` 合回 `dev`。 | +| **`test`** | **测试分支** | 准生产实测;`dev` 阶段合并 + rc tag。**严禁**在此分支开发或 commit。 | +| **`main`** | **主分支** | 生产发布;仅 `test` 验证通过后合并。**严禁**直接开发或 commit。 | -完整的分支流转模型、热修复流程与提交规范请参阅:[docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md](docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md)。 +完整的分支流转模型、热修复流程与提交规范请参阅:[PROJECT.md](./PROJECT.md) §4(SSOT)。 --- diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..de58fcb5 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,10 @@ +# docs/ 索引(遗留路径) + +本目录仅保留 **stub 跳转**。项目文档 SSOT 在 [`.doc/`](../.doc/README.md)。 + +| 原路径 | 现位置 | +|--------|--------| +| `superpowers/` | [`.doc/archive/design/superpowers/`](../.doc/archive/design/superpowers/) | +| `workflow/` | [PROJECT.md](../PROJECT.md) §4(SSOT) | + +**禁止**在此目录新建项目/Agent 文档。 diff --git a/docs/superpowers/README.md b/docs/superpowers/README.md new file mode 100644 index 00000000..10e903b5 --- /dev/null +++ b/docs/superpowers/README.md @@ -0,0 +1,7 @@ +# 已迁移 + +历史功能设计 spec/plan 已迁至 [`.doc/archive/design/superpowers/`](../../.doc/archive/design/superpowers/)。 + +索引:[INDEX.md](../../.doc/archive/design/superpowers/INDEX.md) + +请勿在此目录新建文档。新设计见 `.doc/system-design/` 或 `.doc/remediation/`。 diff --git a/docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md b/docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md index 1bca88e0..8d1ead80 100644 --- a/docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md +++ b/docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md @@ -1,250 +1,5 @@ -# 研发分支与多套独立环境运行规范 (Branch & Environment Rules) +# 已迁移 -本规范为本系统代码仓库的强制性规范,涵盖 **Git 3 分支流转模型**、**任务功能拆分与渐进式提交**、**三套环境独立运行(知识库共享 + 对话与数据库隔离)** 以及 **运维操作指引**。 +分支与环境规范 SSOT 见 [PROJECT.md](../../PROJECT.md) §4 与 [.cursor/rules/git-workflow-and-environments.mdc](../../.cursor/rules/git-workflow-and-environments.mdc)。 ---- - -## 一、 Git 固定三分支体系与流转规范 - -本仓库严格固定维护 **3 个常驻分支**: - -``` - (Feature/Fix 子分支) - ┌─────────────┐ - │ feature/*** │ - └──────┬──────┘ - (创建/自测) │ (合回) - ▼ ▼ -┌─────────────────────────────────┐ -│ 开发分支: dev │ <-- 所有日常开发在此进行,功能逐步提交 -└────────────────┬────────────────┘ - │ (积累一定阶段功能,准备长期部署实测) - ▼ -┌─────────────────────────────────┐ -│ 测试分支: test │ <-- 部署到测试环境,进行真实环境长期运维与测试 -└────────────────┬────────────────┘ - │ (测试分支经过实际运维和测试验证,达到发布标准) - ▼ -┌─────────────────────────────────┐ -│ 主分支: main (Release) │ <-- 生产发布基线,对应线上生产环境 -└─────────────────────────────────┘ -``` - -### 1. 开发分支 (`dev`) -- **定位**:日常开发核心集成分支。 -- **职责**:所有新功能(Features)、常规缺陷修复(Bugfixes)、日常重构均在 `dev` 分支推进。 -- **子分支策略**: - - **简单任务**:可直接在 `dev` 分支上按功能拆分进行渐进式提交。 - - **中大型或独立功能**:必须从 `dev` 检出子分支,命名格式为: - - `feature/<功能简述>` (如 `feature/session-isolation`) - - `fix/<缺陷简述>` (如 `fix/llm-streaming-timeout`) - - **合回机制**:子分支在开发者本地或容器中完成自测、通过单元测试和代码审查后,合并回 `dev` 分支(推荐保留提交历史或使用半快进合并)。合并完成后应及时删除临时子分支。 - -### 2. 测试分支 (`test`) -- **定位**:长期实测与准生产验证分支(Staging / Pre-Release)。 -- **职责**:当 `dev` 分支积累了一定的业务功能或阶段里程碑,需要进行较长时间的真实环境部署、冒烟测试、压力测试、全链路联调以及运维验证时,将 `dev` 的对应阶段节点合并至 `test` 分支。 -- **节点打标**: - - 在 `test` 分支部署实测时,建议在该节点上打上候选版本 Tag(如 `rc-v1.1.0-beta.1`)。 - - 测试期间发现的缺陷,若属于该候选版本的严重阻断问题,可在 `test` 分支修复并验证,验证完毕后必须**同步回合(Cherry-pick 或 Merge)至 `dev` 分支**;非阻断问题统一在 `dev` 中继续排期推进。 - -### 3. 主分支 (`main`) -- **定位**:生产发布分支(Production / Release)。 -- **职责**:主分支的代码代表经过实际运维与测试检验、已达到生产可用标准的系统版本。 -- **发布准入标准**: - - 严禁任何未经 `test` 分支充分测试验证的代码直接提交或合入 `main`。 - - 必须由 `test` 分支上的验证通过节点,以合并的方式提交至 `main`。 -- **发布打标**: - - 每次合入 `main` 后,必须打上正式发布 Tag(语义化版本,如 `v1.0.0`, `v1.1.0`)。 -- **紧急热修复 (Hotfix)**: - - 遇到线上紧急故障且 `test` 分支已有新开发代码时,从 `main` 检出 `hotfix/` 分支。 - - 修复完成并在专门隔离环境测试后,先合回 `main` 打补丁 Tag(如 `v1.0.1`),同时合并回 `test` 和 `dev` 分支。 - ---- - -## 二、 任务拆分与渐进式提交规范 (Progressive Commits) - -为保证代码可追溯性、降低 Code Review 成本并利于排查回滚,**禁止将一个大任务的所有变更揉合成一个巨大的提交**。 - -### 1. 拆分原则 -一个完整的业务任务必须按功能层次、逻辑职责进行横向或纵向切分,并在开发过程中逐步提交: -1. **数据模型与存储层提交**:定义数据库 Schema、ORM 映射、迁移脚本或接口实体。 -2. **核心业务逻辑与 Agent 算法层提交**:实现核心业务处理、Agent 工具、会话逻辑。 -3. **API / 适配层提交**:暴露 HTTP/gRPC 端点、集成外部组件或中间件。 -4. **单元与集成测试提交**:补充对应模块的自动化测试用例。 -5. **文档与配置更新提交**:同步更新环境参数配置、README 或设计文档。 - -### 2. 提交信息规范 (Conventional Commits) -采用统一的 Git Commit 消息规范: -```text -(): - -[optional body] -``` -- **Type 类型**: - - `feat`: 新增功能(按功能拆分逐步提交) - - `fix`: 修复缺陷 - - `refactor`: 代码重构(无功能改变与 Bug 修复) - - `test`: 增加或修改测试用例 - - `docs`: 文档变动 - - `chore`: 构建工具、依赖库更新、脚手架配置等 - - `ci`: CI/CD 流程调整 -- **示例**: - - `feat(db): 增加会话与多租户数据库模型迁移脚本` - - `feat(agent): 实现知识库问答工具的多环境路由调用` - - `test(agent): 增加知识库共享与对话隔离测试用例` - - `chore(deploy): 配置 test 环境独立端口与 docker-compose` - ---- - -## 三、 三套环境独立运行架构规范 - -每个分支在部署时对应一套完整的启动服务。必须严格遵循 **“知识库共享,对话数据与数据库隔离”** 的核心原则。 - -``` - ┌──────────────────────────────────────────┐ - │ 共享基础设施: 知识库服务 │ - │ - pgvector / 向量检索 / 统一知识索引库 │ - │ - 共享数据卷: shared-kb-data │ - │ - 共享服务端口: 5432 (Internal) │ - └─────────────────────┬────────────────────┘ - │ (只读检索或统一管理通道) - ┌──────────────────────────────────┼──────────────────────────────────┐ - │ │ │ - ▼ ▼ ▼ -┌─────────────────────────┐ ┌─────────────────────────┐ ┌─────────────────────────┐ -│ 开发环境 (dev) │ │ 测试环境 (test) │ │ 主干环境 (main) │ -│ 容器组: agent-dev-* │ │ 容器组: agent-test-* │ │ 容器组: agent-main-* │ -├─────────────────────────┤ ├─────────────────────────┤ ├─────────────────────────┤ -│ • 专属数据库: │ │ • 专属数据库: │ │ • 专属数据库: │ -│ agent_dev (Port 5433) │ │ agent_test (Port 5434)│ │ agent_main (Port 5435)│ -│ • 专属会话与存储卷: │ │ • 专属会话与存储卷: │ │ • 专属会话与存储卷: │ -│ data/dev/workspace │ │ data/test/workspace │ │ data/main/workspace │ -│ data/dev/conversations│ │ data/test/conversations data/main/conversations│ -│ dev-system-pgdata │ │ test-system-pgdata │ │ main-system-pgdata │ -│ • 应用服务端口: │ │ • 应用服务端口: │ │ • 应用服务端口: │ -│ HTTP: 8080 │ │ HTTP: 8081 │ │ HTTP: 8000 (生产) │ -│ Agent-Runner: 18765 │ │ Agent-Runner: 18766 │ │ Agent-Runner: 18767 │ -│ • 独立日志/SQLite: │ │ • 独立日志/SQLite: │ │ • 独立日志/SQLite: │ -│ dev-aux-data │ │ test-aux-data │ │ main-aux-data │ -└─────────────────────────┘ └─────────────────────────┘ └─────────────────────────┘ -``` - -### 1. 知识库共享规则 (Shared Knowledge Base) -- **共享内容**:法规条文、行业政策、静态向量索引、规章库、系统公共知识文档。 -- **访问控制**: - - 所有分支服务通过专用的 `POSTGRES_SHARED_KB_DSN` 连接同一个共享知识库容器(如 `shuimu-kb-shared`)。 - - 开发、测试与主分支服务在检索知识时,只读访问公共条目。 - - 知识库的结构升级或新增全量知识,统一由知识库迁移脚本维护,并提前通过版本兼容性测试。 - -### 2. 对话数据与业务数据库隔离规则 (Strict Data Isolation) -- **隔离内容**: - 1. **对话上下文与历史记录 (Chat History & Sessions)**:包括用户聊天记录、Agent 规划轨迹、思考日志等。 - 2. **业务数据库 (System DB)**:系统用户表、权限、配置状态、任务状态、审计表。 - 3. **外发信箱与日志 (Outbox & SQLite & Temp Logs)**。 - 4. **工作区目录 (Workspaces & Cache)**。 -- **隔离实现机制**: - - **Docker 容器名隔离**:通过 `COMPOSE_PROJECT_NAME` 前缀 (`agent-dev`, `agent-test`, `agent-main`),服务容器互不覆盖。 - - **网络与端口隔离**:每个环境占用独立的宿主机端口映射(详见下表),互不冲突,支持在同一台机器或多台机器并存启动。 - - **存储卷隔离**:Docker Named Volume 或宿主机本地目录均以环境后缀命名,严禁多环境挂载同一会话或 DB 目录。 - -### 3. 环境配置矩阵表 - -| 配置项 | 共享知识库 (Shared) | 开发环境 (Dev) | 测试环境 (Test) | 主分支生产环境 (Main) | -| :--- | :--- | :--- | :--- | :--- | -| **Compose 项目名** | `agent-infra` | `agent-dev` | `agent-test` | `agent-main` | -| **配置文件** | `configs/.env.shared` | `configs/.env.dev` | `configs/.env.test` | `configs/.env.main` | -| **系统 DB 名称** | `regulations` (KB) | `agent_system_dev` | `agent_system_test` | `agent_system_main` | -| **系统 DB 宿主端口** | `5432` | `5433` | `5434` | `5435` | -| **App 业务 HTTP 端口**| - | `8080` | `8081` | `8000` | -| **Agent Runner 端口** | - | `18765` | `18766` | `18767` | -| **持久化数据目录** | `data/shared/kb` | `data/dev/` | `data/test/` | `data/main/` | -| **系统 DB 数据卷** | `kb-shared-pgdata` | `dev-system-pgdata` | `test-system-pgdata` | `main-system-pgdata` | -| **审计/会话 SQLite** | - | `dev-aux-data` | `test-aux-data` | `main-aux-data` | - ---- - -## 四、 常用运维操作与脚本使用 - -项目在 `scripts/` 目录下提供了标准运维与管理脚本: - -### 1. 服务启停操作 -```bash -# 1. 启动共享知识库基础服务 (首次运行前必须启动) -./scripts/env-service.sh shared start - -# 2. 启动开发环境服务 -./scripts/env-service.sh dev start - -# 3. 启动测试环境服务 -./scripts/env-service.sh test start - -# 4. 启动主分支生产环境服务 -./scripts/env-service.sh main start - -# 5. 查看所有环境运行状态 -./scripts/env-service.sh all status - -# 6. 停止指定环境服务 (如停止 dev) -./scripts/env-service.sh dev stop -``` - -### 2. 分支流转标准流程示范 - -#### 流程 A:日常功能开发与逐步提交 -```bash -# 切换并同步开发分支 -git checkout dev -git pull origin dev - -# 若功能较独立,创建功能子分支 -git checkout -b feature/auth-multi-tenant - -# 功能拆分阶段 1:数据表与存储层 -git add internal/db/migrations/ -git commit -m "feat(db): 增加多租户隔离与字段迁移" - -# 功能拆分阶段 2:服务实现与路由 -git add internal/services/ -git commit -m "feat(auth): 实现多租户鉴权中间件与上下文传递" - -# 功能拆分阶段 3:测试用例 -git add internal/auth/auth_test.go -git commit -m "test(auth): 补充多租户鉴权单元与集成测试" - -# 自测通过后,合并回 dev -git checkout dev -git merge --no-ff feature/auth-multi-tenant -m "merge: 合并功能 feature/auth-multi-tenant 到开发分支" -git branch -d feature/auth-multi-tenant -``` - -#### 流程 B:功能阶段积累完成,进入测试分支实测 -```bash -# 切换到测试分支 -git checkout test -git pull origin test - -# 将 dev 分支当前稳定节点合并到 test -git merge --no-ff dev -m "release-candidate: 合并 dev 阶段功能至 test 分支进行长期实测" - -# 打上实测候选版本 Tag -git tag -a rc-v1.2.0-beta.1 -m "构建 1.2.0 测试候选版本 1,启动长期实测" - -# 启动或重启 test 环境服务进行运维实测 -./scripts/env-service.sh test restart -``` - -#### 流程 C:测试分支验证完成,发布到主分支 -```bash -# 切换到主分支 -git checkout main -git pull origin main - -# 将测试验证完毕的节点合并到 main -git merge --no-ff test -m "release: 经长期测试与运维验证,发布版本 1.2.0" - -# 打正式版本 Tag -git tag -a v1.2.0 -m "Release v1.2.0" - -# 部署/更新主分支生产服务 -./scripts/env-service.sh main restart -``` +历史长文归档:[branch-and-environment-rules.md](../../.doc/archive/reference/branch-and-environment-rules.md) diff --git a/internal/chat/longtask_quality_e2e_test.go b/internal/chat/longtask_quality_e2e_test.go index 8df3950b..8f02ab2c 100644 --- a/internal/chat/longtask_quality_e2e_test.go +++ b/internal/chat/longtask_quality_e2e_test.go @@ -221,7 +221,7 @@ func TestLongTaskGovernance_QualityE2E(t *testing.T) { - **执行时间**: %s - **后端**: pi-agent (MiniMax-M3, 真实执行) -- **设计规范**: docs/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md +- **设计规范**: .doc/archive/design/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md ## 场景 A:路由升级全链路(同题对比) diff --git a/internal/squad/gov.go b/internal/squad/gov.go index f3ef71e8..28efe723 100644 --- a/internal/squad/gov.go +++ b/internal/squad/gov.go @@ -2,7 +2,7 @@ package squad // ============================================================================ // 长任务运行时治理内核 (TaskGov) -// 设计规范: docs/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md +// 设计规范: .doc/archive/design/superpowers/specs/2026-09-09-longtask-governance-router-and-adhoc-design.md // 覆盖: StepFSM 状态机 / BudgetLedger 预算账本 / Trace 执行轨迹 / // LoopDetector 重复识别 / StepManifest 归档锁定 // ============================================================================ diff --git a/scripts/agent-worktree.sh b/scripts/agent-worktree.sh new file mode 100755 index 00000000..3e6195a2 --- /dev/null +++ b/scripts/agent-worktree.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash +# Agent worktree helper — parallel coding only; do NOT start docker from worktrees. +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)" +WORKTREES="${ROOT}/.worktrees" + +usage() { + cat < # git worktree add .worktrees/ -b + $0 list # git worktree list + $0 remove # remove worktree and optionally delete branch + +示例: + $0 create feature/my-task + $0 list + $0 remove feature/my-task +EOF + exit 1 +} + +ensure_ignored() { + if git -C "${ROOT}" check-ignore -q .worktrees/. 2>/dev/null; then + : + else + echo "[错误] .worktrees/ 未在 .gitignore 中,请先添加。" >&2 + exit 1 + fi + mkdir -p "${WORKTREES}" +} + +slug_from_branch() { + echo "$1" | tr '/' '-' +} + +cmd="${1:-}" +case "${cmd}" in + create) + [[ $# -eq 2 ]] || usage + branch="$2" + ensure_ignored + slug="$(slug_from_branch "${branch}")" + path="${WORKTREES}/${slug}" + if [[ -d "${path}" ]]; then + echo "[错误] 已存在: ${path}" >&2 + exit 1 + fi + git -C "${ROOT}" worktree add "${path}" -b "${branch}" + echo "Worktree: ${path} (branch ${branch})" + echo "禁止在此目录运行 env-service.sh start/stop/restart" + ;; + list) + git -C "${ROOT}" worktree list + ;; + remove) + [[ $# -ge 2 && $# -le 3 ]] || usage + branch="$2" + delete_branch="${3:-}" + slug="$(slug_from_branch "${branch}")" + path="${WORKTREES}/${slug}" + if [[ ! -d "${path}" ]]; then + echo "[错误] 不存在: ${path}" >&2 + exit 1 + fi + git -C "${ROOT}" worktree remove "${path}" --force + if [[ "${delete_branch}" == "--delete-branch" ]]; then + git -C "${ROOT}" branch -D "${branch}" 2>/dev/null || true + fi + echo "已移除 worktree ${path}" + ;; + *) + usage + ;; +esac