merge: feature/agent-docs-system — doc taxonomy and branch policy

This commit is contained in:
weichen
2026-09-13 02:50:23 +00:00
157 changed files with 1297 additions and 443 deletions
+7 -6
View File
@@ -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/` 随意新建文档
## 状态
@@ -10,18 +10,18 @@ alwaysApply: true
## 一、 Git 固定三分支体系
1. **开发分支 (`dev`)**:
- 所有代码日常开发在此分支进行。
- 细小变更直接在 `dev` 上分批逐步提交。
- 独立大功能可从 `dev` 检出子分支 `feature/<name>` 或 `fix/<name>`,在本地测试完成后合并回 `dev`(`--no-ff`),并删除临时子分支。
- **合入基线**,不是日常 commit 目标。
- **禁止**在 `dev` 上直接开发提交(含 docs/chore)。
- 一律从最新 `dev` 检出 `feature/<name>` 或 `fix/<name>`,在 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`)。
---
+2 -2
View File
@@ -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/<report-slug>/`,**不得**与 `*-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. **真实控制台取样**:测试报告中的输入、输出、耗时与判定必须取自实际环境运行的真实控制台输出与日志。
+64
View File
@@ -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`
+12
View File
@@ -0,0 +1,12 @@
# 历史归档
已完成、supersede 或关闭的文档证据。**禁止删除**,仅迁移至此。
| 子目录 | 内容 |
|--------|------|
| `audit/` | 已关闭审计大包 |
| `remediation/` | 已关闭整改大包 |
| `ops/` | done 的 short-term / checklist / handoff |
| `ops/research/` | 已关闭调研(自 ops/research 迁入) |
| `design/superpowers/` | 历史功能 spec/plan |
| `reference/` | 被 PROJECT 替代的参考长文 |
+10
View File
@@ -0,0 +1,10 @@
# 历史功能设计(Superpowers)
迭代期功能 spec/plan,自 `.doc/archive/design/superpowers/` 迁入。
| 子目录 | 内容 |
|--------|------|
| `specs/` | 设计规范 |
| `plans/` | 实施计划 |
新功能设计请写入 `.doc/system-design/` 或 `.doc/remediation/`,**不再**使用 `.doc/archive/design/superpowers/`。
@@ -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` 等字段,并补充初始模拟数据。
@@ -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
@@ -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
@@ -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`)
@@ -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 后端规范兼容
@@ -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 协同服务
@@ -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 后端
@@ -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 后端
@@ -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 等待态、错误诊断、分型重试与自动重试策略**。
---
@@ -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 工作台
@@ -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)
@@ -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`
@@ -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
@@ -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`(现存两套分类词表)
@@ -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)
---
@@ -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)
- **适用范围**: 项目工作台中单条智能体回复的复制、下载、保存为私密文档及后续项目级共享
@@ -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 与命令输出)
@@ -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。
@@ -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)
@@ -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.<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 字符的高强度随机值。
@@ -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 证据段。
@@ -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/<issue>` 分支。
- 修复完成并在专门隔离环境测试后,先合回 `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
<type>(<scope>): <subject>
[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
```
@@ -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` - 可执行的任务拆分
---
@@ -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 再审计闭环证据、发布门禁勾选
---
+5
View File
@@ -0,0 +1,5 @@
# 问题发现与分析
审计、根因分析、授权基线与矩阵。**不含**具体改码步骤(链到 `../remediation/`)。
索引:[INDEX.md](./INDEX.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`
## 环境矩阵
+25 -9
View File
@@ -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/<slug>` 或 `fix/<slug>`,**禁止** `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) |
+11 -10
View File
@@ -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)。
@@ -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)
+5
View File
@@ -0,0 +1,5 @@
# 调研笔记(活)
进行中的只读调查放此目录。完成后迁入 [../archive/ops/research/](../archive/ops/research/)。
模板:[../templates/research-note.md](../templates/research-note.md)
+33
View File
@@ -0,0 +1,33 @@
---
title: "<审计/分析标题>"
status: planned
created: YYYY-MM-DD
updated: YYYY-MM-DD
severity: medium
---
# <审计/分析标题>
## 现象
(可观测症状)
## 根因分析
(证据路径、代码引用)
## 严重度
`critical` | `high` | `medium` | `low`
## 关联整改
- Remediation:
## 证据
(命令输出、日志、文件路径)
## 开放问题
-
+1
View File
@@ -0,0 +1 @@
| <模块名> | <能力描述> | planned | (设计/代码/test-report 链接) | (缺口) | `<mutex>` |
+11
View File
@@ -18,6 +18,17 @@ status: open
-
## 认领 / 槽位状态
| 项 | 值 |
|----|-----|
| mutex 已释放 | yes / no |
| 集成槽位 holder | idle / 需接管 |
| branch | |
| worktree | |
> 若 mutex 未释放,下一位须先在 CURRENT 认领或写 blocker。
## 关键文件
| 路径 | 说明 |
+32
View File
@@ -0,0 +1,32 @@
---
title: "<整改方案标题>"
status: planned
created: YYYY-MM-DD
updated: YYYY-MM-DD
---
# <整改方案标题>
## 背景
(链到 audit/ 分析文档)
## 目标
(可验证的整改结果)
## 分波次计划
| 波次 | 内容 | 验收 |
|------|------|------|
| Wave 0 | | |
## 验收标准
- [ ]
## 相关链接
- Audit:
- Short-term:
- gap-matrix 行:
@@ -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(...)` 提交
+3
View File
@@ -4,6 +4,9 @@ status: planned
created: YYYY-MM-DD
updated: YYYY-MM-DD
owner: agent
branch: feature/<slug> # 必填:feature/* 或 fix/*;禁止 dev / test / main
worktree: "-"
mutex: <module>
---
# <任务标题>
@@ -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%
**要求**:
@@ -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。
@@ -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 |
@@ -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
**格式**: 可执行的任务分解与逐项验收标准
+15
View File
@@ -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)
+8
View File
@@ -0,0 +1,8 @@
# 整改方案
实施方案、分波次计划、发布缺口 SSOT。
| 文档 | 说明 |
|------|------|
| [gap-matrix.md](./gap-matrix.md) | 发布 blocker SSOT |
| [INDEX.md](./INDEX.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 再审计」区段。
+35
View File
@@ -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)
+5
View File
@@ -0,0 +1,5 @@
# 模块完成度
**SSOT**:[FEATURE-MATRIX.md](./FEATURE-MATRIX.md)
与 [remediation/gap-matrix.md](../remediation/gap-matrix.md)(发布 blocker)分离:本目录描述**能力地图**,gap-matrix 描述**上线缺口**。
+9 -3
View File
@@ -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/)
@@ -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`
---
@@ -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(文档要求的替代方案:死端口验证客户端网络失败分类):**
@@ -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)
@@ -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。

Some files were not shown because too many files have changed in this diff Show More