docs: stabilization directive + TRUTH document + AI session prompts + dockerignore

- STABILIZATION_DIRECTIVE.md: feature freeze rules, banned actions, priorities
- TRUTH.md: single source of truth for system state (crate counts, store counts)
- AI_SESSION_PROMPTS.md: three-layer prompt system for AI sessions
- Industry agent delivery design spec
- Stabilization test suite for regression prevention
- Delete stale ISSUE-TRACKER.md
- Add .dockerignore for container builds
- Add brainstorm session artifacts
This commit is contained in:
iven
2026-04-03 00:29:16 +08:00
parent 5c74e74f2a
commit d8e2954d73
22 changed files with 2035 additions and 363 deletions

166
docs/TRUTH.md Normal file
View File

@@ -0,0 +1,166 @@
# ZCLAW 系统真相文档
> **更新日期**: 2026-04-02
> **数据来源**: V11 全面审计 + 二次审计 + 代码全量扫描
> **规则**: 此文档是唯一真相源。所有其他文档如果与此冲突,以此为准。
---
## 1. 量化指标(已验证)
| 指标 | 实际值 | 验证方式 |
|------|--------|----------|
| Rust Crates | 10 个 (编译通过) | `cargo check --workspace` |
| Rust 代码行数 | ~66,000 | wc -l |
| Rust 单元测试 | 584 个 | `cargo test --workspace` |
| Tauri 命令 | 171 个 | grep `#[tauri::command]` + 注释排除 |
| **Tauri 命令有前端调用** | **147 个** | @connected 标注(经二次审计修正) |
| **Tauri 命令无前端调用** | **24 个** | @reserved 标注 |
| SKILL.md 文件 | 75 个 | `ls skills/*.md \| wc -l` |
| Hands 启用 | 9 个 | Browser/Collector/Researcher/Clip/Twitter/Whiteboard/Slideshow/Speech/Quiz |
| Hands 禁用 | 2 个 | Predictor, Lead |
| SaaS API 端点 | 93 个(含 2 个 dev-only mock | 路由注册全量统计 |
| LLM Provider | 8 个 | Kimi/Qwen/DeepSeek/Zhipu/OpenAI/Anthropic/Gemini/Local |
| Zustand Store | 18 个 | ls desktop/src/store/ (含 chat/ 子目录) |
| React 组件 | ~50 个 | ls desktop/src/components/ |
| 前端 TypeScript 测试 | 21 个文件 | 8 单元 + 12 E2E spec + 1 源码内 |
| Admin V2 页面 | 13 个 | admin-v2/src/pages/ 全量统计 |
| Admin V2 测试 | 322 个 | vitest 统计 |
| 中间件层 | 11 层 | 运行时注册 |
---
## 2. 端到端可用功能
以下功能经过代码验证,从前端到后端完整连通:
### 2.1 确认可用
| 功能 | 路径 | 验证状态 |
|------|------|----------|
| 智能对话 | UI → chatStore → Tauri → Kernel → LLM Driver → 流式返回 | ✅ 代码完整 |
| Agent 分身管理 | UI → agentStore → Tauri → Kernel | ✅ 代码完整 |
| 模型切换 | UI → Settings → config.toml → Kernel | ✅ 代码完整 |
| Hand 触发 | UI → handStore → Tauri → Kernel → Hand 执行 | ✅ 代码完整 |
| Hand 审批 | UI → approvalStore → Tauri → Kernel | ✅ 代码完整 |
| 记忆搜索 | UI → memoryStore → Tauri → Growth → FTS5 | ✅ 代码完整 |
| 配置读写 | UI → Settings → config.toml | ✅ 代码完整 |
| SaaS 登录/注册 | UI → saasStore → SaaS API → PostgreSQL | ✅ 代码完整 |
| SaaS 配置同步 | UI → saasStore → SaaS API → Store 更新 | ✅ 代码完整 |
| Admin V2 管理 | admin-v2 → SaaS API → PostgreSQL | ✅ 代码完整 |
| 支付集成 | Admin → SaaS → Alipay/WeChat API | ✅ 代码完整 |
### 2.2 有已知缺陷
| 功能 | 问题 | 严重度 |
|------|------|--------|
| Skill 执行 | 前端传空 context → Rust 反序列化失败 | **P0** |
| Hand 异步结果 | Rust emit 事件但前端无 listen() | P1 |
| Agent 模板 | API 路径缺 /api/v1 前缀 → 404 | P1 |
| Trigger 更新 | 参数格式不匹配 → 静默失败 | P1 |
### 2.3 已实现但未接通前端
| 功能 | Rust 状态 | 前端状态 |
|------|-----------|----------|
| Pipeline 执行 | DSL 引擎完整 | 无 invoke 调用 |
| Viking 适配 | FTS5 + TF-IDF | 11 个命令无前端调用 |
| Classroom | 27 个命令 | 7 个命令无前端调用 |
| Browser Hand | 22 个命令 | 部分无前端调用 |
| Multi-agent Director | 912 行 (feature-gated) | 未启用 |
### 2.4 前端孤立 invoke 调用(无 Rust 后端实现)
以下 5 个前端 `invoke()` 调用在 Rust 端无对应命令,运行时将返回 "command not found"
| 命令 | 前端文件 | 说明 |
|------|----------|------|
| `viking_add_inline` | `viking-client.ts` | 无 Rust 实现,| `viking_server_start` | `viking-client.ts` | Viking 服务器生命周期管理未实现 |
| `viking_server_status` | `viking-client.ts` | 同上 |
| `viking_server_stop` | `viking-client.ts` | 同上 |
| `viking_server_restart` | `viking-client.ts` | 同上 |
---
## 3. 已知缺陷清单
### 3.1 P0 — 必然崩溃
| ID | 问题 | 状态 |
|----|------|------|
| SEC2-P0-01 | skill_execute 反序列化崩溃 | **已修复** — kernel-skills.ts 注入真实 agentId/sessionIdworkingDir 改为 null |
| SEC2-P0-02 | TaskTool::default() panic | **已修复** — 移除 impl Default |
### 3.2 P1 — 功能失效
| ID | 问题 | 状态 |
|----|------|------|
| SEC2-P1-01 | FactStore trait 零实现 | **已修复** — 移除死 trait保留值类型 |
| SEC2-P1-02 | agent-templates 路径错误 | **已修复** — saas-client.ts 已添加 /api/v1 |
| SEC2-P1-03 | hand-execution-complete 无监听 | **已修复** — ChatArea 添加 Tauri 事件监听 + streamStore.cancelStream 补全 |
| SEC2-P1-04 | InMemoryStorage RwLock unwrap 级联 | **已修复** — 7 处改为 .expect() |
| SEC2-P1-05~07 | HandRun 持久化静默忽略 (3处) | **已修复** — tracing::warn! |
| SEC2-P1-08 | FTS 索引更新静默失败 | **已修复** — tracing::warn! |
| SEC2-P1-09 | Worker dispatch 静默失败 | **已修复** — tracing::warn! |
### 3.3 P1.5 — 代码质量补充修复
| ID | 问题 | 状态 |
|----|------|------|
| SEC2-P1.5-01 | Capability _ => false 通配符 | **已修复** — 3 个方法改为穷举匹配grants() 保留通配符+注释说明 |
| SEC2-P1.5-02 | billing let _ = ... ? 冗余模式 | **已修复** — 移除冗余 let _ = |
| SEC2-P1.5-03 | relay SSE 错误路径 send 失败未记录 | **已修复** — 改为 if let Err + tracing::debug! |
| SEC2-P1.5-04 | WASM runner 缺少状态注解 | **已修复** — 添加 active module 说明 |
| SEC2-P1.5-05 | Tauri 命令无连接状态标注 | **已修复** — 171/171 个命令已标注,经二次审计修正 19 个误标147 @connected / 24 @reserved |
| SEC2-P1.5-06 | extract_token_usage 静默丢弃解析错误 | **已修复** — 添加 tracing::debug! |
| SEC2-P1.5-07 | relay current_key_id 防御性 unwrap | **已修复** — 改为 ok_or_else 返回内部错误 |
### 3.3 P2 — 代码质量
| ID | 问题 |
|----|------|
| SEC2-P2-01~10 | 10 项代码质量问题(详见二次审计) |
---
## 4. 死代码清单
| 文件/目录 | 行数 | 状态 | 建议 |
|-----------|------|------|------|
| `desktop/src/lib/audit-logger.ts` | 170 | **已删除** | - |
| `desktop/src/lib/saas-admin.ts` | 234 | 已在之前清理中删除 | - |
| `desktop/src/lib/gateway-reconnect.ts` | ~100 | **已删除** (零生产引用) | - |
| `admin/` | 整目录 | **已删除** (空目录壳) | - |
| `admin-temp-dir/` | 整目录 | **已删除** | - |
| `crates/zclaw-channels/` | Cargo.toml only | 已在之前清理中删除 | - |
| `docs/analysis/ISSUE-TRACKER.md` | - | **已删除** | - |
| Director multi-agent | 912 | feature-gated off + 已注解 | 保留 |
| A2A 协议 | ~400 | feature-gated off + 已注解 | 保留 |
| WASM runner | ~200 | **Active module** + 已注解 | 保留 |
---
## 5. 文档漂移记录
以下文档中的数字已与实际不符,需要校准:
| 文档 | 过时内容 | 正确值 |
|------|----------|--------|
| CLAUDE.md (旧版) | "React 18" | React 19 |
| CLAUDE.md (旧版) | "Tailwind CSS" | Tailwind 4 |
| CLAUDE.md (旧版) | "Next.js (admin/)" | Vite + Ant Design Pro (admin-v2/) |
| roadmap.md | Skills: 75 | 76 |
| roadmap.md | Tauri 命令: 58+/130+ | 175 |
---
## 6. 更新日志
| 日期 | 更新内容 |
|------|----------|
| 2026-04-02 | 初始创建,基于 V11 全面审计 + 二次审计数据 |
| 2026-04-02 | P0 全部修复 (SEC2-P0-01/02)P1 全部修复 (SEC2-P1-01~09) |
| 2026-04-02 | P1.5 代码质量修复capability 穷举匹配、SaaS 静默错误、WASM 注解、Tauri 命令标注 |
| 2026-04-02 | 深度审计后修正8 个 Tauri 标注误标、4 处 SaaS let _ = 清理、TRUTH.md 路由数 58→93 |
| 2026-04-02 | 二次深度审计:(1) 再修正 11 个 Tauri 标注 (147 connected / 24 reserved = 171) (2) 修正文档数字 SKILL 75/Stores 18/Admin 13 (3) relay extract_token_usage + current_key_id 防御性修复 (4) 记录 5 个前端孤立 invoke 调用 |
| 2026-04-02 | 构建验证通过cargo check ✅ + tsc --noEmit ✅ |