Files
zclaw_openfang/docs/archive/old-directives/STABILIZATION_DIRECTIVE.md
iven 2e5f63be32
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
docs: reorganize docs — archive outdated, create brainstorming folder
- Create docs/brainstorming/ with 5 discussion records (Mar 16 - Apr 7)
- Archive ~30 outdated audit reports (V5-V11) to docs/archive/old-audits/
- Archive superseded analysis docs to docs/archive/old-analysis/
- Archive completed session plans to docs/archive/old-plans/
- Archive old test reports/validations to respective archive folders
- Remove empty directories left after moves
- Keep current docs: TRUTH.md, feature docs, deployment, knowledge-base, superpowers
2026-04-07 09:54:30 +08:00

190 lines
6.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ZCLAW 稳定化指令 v1.0
> **生效日期**: 2026-04-02
> **状态**: ✅ 已完成2026-04-03 — 降级为建议级别
> **目标**: 将系统从"功能堆叠模式"切换到"端到端可用模式"
> **结论**: 7 项完成标准全部达标,稳定化阶段结束。本文件保留作为历史记录和后续质量参考。
---
## 0. 核心原则
**新增功能冻结。** 在以下 P0 问题全部修复之前,不接受任何新功能 PR。
```
判断标准:这个改动是否让用户今天就能用上?
- 是 → 可以做
- 否 → 记录到 backlog不做
```
---
## 1. P0 紧急修复(阻塞一切)
| ID | 问题 | 文件 | 修复方案 |
|----|------|------|----------|
| SEC2-P0-01 | skill_execute 反序列化崩溃 | `desktop/src/lib/kernel-skills.ts:110-114` + `desktop/src-tauri/src/kernel_commands/skill.rs:290-296` | 前端传入真实 agentId/sessionId或 Rust 端改为 `Option<String>` |
| SEC2-P0-02 | TaskTool::default() panic | `crates/zclaw-runtime/src/tool/builtin/task.rs:59` | 移除 `impl Default for TaskTool`,或提供合理默认值 |
**验收标准**: 用户能在 UI 中执行一个 Skill 且不崩溃。
---
## 2. P1 集成修复(接通断链)
按以下顺序修复,每个修复后立即验证端到端:
### 2.1 API 路径对齐
| ID | 问题 | 修复 |
|----|------|------|
| SEC2-P1-02 | agent-templates 缺少 /api/v1 前缀 | `saas-client.ts:376,384` 添加前缀 |
| V11-P1-01 | trigger_update 参数格式不匹配 | `kernel-triggers.ts:99` 展开嵌套对象 |
### 2.2 事件监听补全
| ID | 问题 | 修复 |
|----|------|------|
| SEC2-P1-03 | hand-execution-complete 无前端监听 | ChatArea/RightPanel 添加 `listen()` |
### 2.3 静默错误消除
将所有 `let _ =` 错误忽略改为至少 `log::warn!`,逐个评估是否需要用户可见反馈:
- HandRun 持久化 (3 处) — **已修复**
- FTS 索引更新 — **已修复**
- Worker dispatch — **已修复**
- Billing key usage — **已修复**(移除冗余 `let _ =`
- Relay SSE error send — **已修复**(改为 if-let + debug log
### 2.4 FactStore 实现
- 方案 A: `MemoryStore` 实现 `FactStore` trait
- 方案 B: 移除 `FactStore` trait直接用 `MemoryStore` 方法
- **已选 B** — 移除死 trait保留值类型已修复 SEC2-P1-01
---
## 3. 死代码清理
### 3.1 删除(确认无引用后)
| 文件 | 行数 | 状态 |
|------|------|------|
| `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` | - | **已删除** |
| `.superpowers/plans/` | - | 已不存在 |
### 3.2 Feature-gate 清理
| 模块 | 行数 | 处理 |
|------|------|------|
| Director (multi-agent) | 912 | **已标注** — "gated behind multi-agent feature" |
| A2A 协议 | ~400 | **已标注** — feature gate 注释完整 |
| WASM runner | ~200 | **已标注** — "Active module — fully implemented" |
| OFP capability variants | ~10 | **已修复** — 3 个方法改为穷举匹配grants() 保留通配符+注释 |
### 3.3 未连接的 Tauri 命令
24 个 Tauri 命令无前端调用(经二次审计修正)。不删除 Rust 代码,但:
- **已完成**: 171/171 个命令已标注 `// @connected``// @reserved: 暂无前端集成`
- 二次审计修正 19 个误标命令8+11当前 147 @connected / 24 @reserved
---
## 4. 文档真相校准
### 4.1 数值修正
| 指标 | 当前文档值 | 实际值 | 状态 |
|------|-----------|--------|------|
| Skills | 66/75/77 | **75** | **已校准** (TRUTH.md) |
| Hands | 11 | **9 启用 + 2 禁用** | **已校准** (CLAUDE.md) |
| Tauri 命令 | 58+/130+ | **171** | **已校准** + 171 个已标注147 @connected / 24 @reserved |
| SaaS 路由 | 72+ | **93**(含 2 dev-only mock | **已校准** |
| 前端测试 | 1 文件 | **21 文件** | **已校准** (TRUTH.md) |
| Zustand Store | 15 | **18** | **已校准** (TRUTH.md) |
| Admin V2 页面 | 11 | **13** | **已校准** (TRUTH.md) |
### 4.2 文档归档
以下审计报告已从 `docs/` 根目录移除(已归档或已删除):
- COMPREHENSIVE_AUDIT_V5~V95 个文件,已被 V10/V11 取代)**已完成**
- AUDIT_TRACKER.md **已完成**
- VERIFICATION_REPORT.md **已完成**
- FEATURE_AUDIT_REPORT.md **已完成**
- FRONTEND_INTEGRATION_AUDIT.md **已完成**
- DEEP_AUDIT_REPORT.md **已完成**
- JOINT_DEBUG_REPORT_V1.md **已完成**
- QA_REVIEW_V1.md **已完成**
### 4.3 ISSUED-TRACKER 重置
创建新的 `docs/TRUTH.md`,只记录:
- 实际可工作的端到端功能清单
- 已知缺陷清单(来自 V11 审计)
- 每次修复后更新此文件
---
## 5. 前端测试底线
在 P0/P1 修复完成后,为以下关键路径添加最基本测试:
1. **Skill 执行** — 调用 → 不崩溃 → 返回结果
2. **Hand 触发** — emit event → 前端收到通知
3. **消息发送** — Store → invoke → 流式响应
4. **配置同步** — SaaS pull → Store 更新
目标:从 1 个测试文件提升到至少覆盖 4 条核心路径。
---
## 6. 禁止事项
在稳定化完成前,以下行为被禁止:
| 行为 | 原因 |
|------|------|
| 新增 SaaS API 端点 | 已有 93 个,前端只调用了一部分 |
| 新增 SKILL.md 文件 | 已有 75 个,大部分未被调用 |
| 新增 Tauri 命令 | 已有 171 个24 个无前端调用 |
| 新增中间件 | 已有 11 层,足够 |
| 扩展 Pipeline 模板 | 已有 10 个行业模板 |
| 新增 Zustand Store | 已有 18 个 |
| 新增 admin 页面 | 已有 11 个 |
**唯一例外**: 修复 P0/P1 问题需要的新代码。
---
## 7. 完成标准
稳定化阶段完成的定义:
- [x] P0 全部修复,用户可执行 Skill 不崩溃
- [x] P1 集成修复完成hand-execution-complete 有监听
- [x] 死代码清理完成,至少删除 5 个孤立文件
- [x] `docs/TRUTH.md` 创建并反映真实状态
- [x] 文档数值与代码一致
- [x] 前端测试覆盖 4 条核心路径
- [x] `cargo check --workspace` 通过 + `pnpm tsc --noEmit` 通过
达到以上标准后,本指令自动降级为"建议"级别,恢复正常功能开发。
**2026-04-03 确认**: 全部 7 项标准已达标。功能冻结解除,恢复正常的迭代开发节奏。后续新增功能仍需遵循 CLAUDE.md §1.2 的决策原则("这对用户今天能产生价值吗?")。
---
## 8. 执行节奏
每个修复独立提交,格式:
```
fix(<scope>): <描述>
Stabilization: SEC2-P0-01
```
不批量提交。每个修复可独立 revert。