docs(wiki): 审计修复记录 — 04-20 功能链路审计 5 项修复
Some checks are pending
CI / Lint & TypeCheck (push) Waiting to run
CI / Unit Tests (push) Waiting to run
CI / Build Frontend (push) Waiting to run
CI / Rust Check (push) Waiting to run
CI / Security Scan (push) Waiting to run
CI / E2E Tests (push) Blocked by required conditions

This commit is contained in:
iven
2026-04-20 09:44:46 +08:00
parent f2917366a8
commit 3b97bc0746
2 changed files with 43 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
---
title: 已知问题
updated: 2026-04-17
updated: 2026-04-20
status: active
tags: [issues, bugs]
---
@@ -22,6 +22,9 @@ tags: [issues, bugs]
| E2E 04-17 HIGH | 2 | **全部已修复** (commit a504a40) |
| E2E 04-17 MEDIUM | 5 | **全部已修复** (M4 admin_guard_middleware 已添加) |
| E2E 04-17 LOW | 2 | **全部已验证修复** (L1 代码已统一 + L2 反序列化已修复) |
| 审计 04-20 P0 | 2 | **全部已修复** (commit f291736) |
| 审计 04-20 P1 | 3 | **全部已修复** (commit f291736) |
| 审计 04-20 P2 | 2 | 待处理 (B-SCHED-5 任务名噪声 + B-CHAT-7 混合域截断) |
## E2E 全系统功能测试 04-17 (129 链路)
@@ -216,23 +219,24 @@ commit `7dea456` — 移除 UsageStats + Credits 组件及菜单项。
| SaaS 启动崩溃 (config_items 约束) | P1 | ✅ 已修复 |
| SaaS 模型选择残留模型 ID | P0 | ✅ 已修复 |
## 代码健康度指标2026-04-17
## 代码健康度指标2026-04-19
| 指标 | 值 | 变化 | 说明 |
|------|-----|------|------|
| TODO/FIXME 前端 | 1 | 不变 | memory-extractor.ts |
| TODO/FIXME Rust | 3 | 不变 | html_export/nl_schedule/knowledge |
| @reserved 标注 | 89 | 22→89 | 04-15 全量标注 |
| dead_code 标记 | 16 | 76→16 | 大幅减少 |
| TODO/FIXME Rust | 1 | 3→1 | 已清理 |
| @reserved 标注 | 97 | 89→97 | 04-19 新增标注 |
| dead_code 标记 | 0 | 16→0 | 全部清理 |
| 前端孤立 invoke | 0 | 不变 | 已清理 |
| Cargo Warnings | 0 | 不变 | 非 SaaS仅 sqlx 外部 |
| 前端测试通过 | 344+1 skipped | 不变 | pnpm vitest run |
| Rust 测试 (workspace) | 797 通过 | 684→797 | sqlx 0.8 升级 + 测试补充 |
## 长期观察项
| 问题 | 说明 | 位置 |
|------|------|------|
| Tauri 命令孤儿 | 注册 190 命令,前端调用 104 处,@reserved 89 个,剩余 ~0 个 (差异来自内部命令调用) | `desktop/src-tauri/src/lib.rs` |
| Tauri 命令孤儿 | 注册 190 命令,前端调用 104 处,@reserved 97 个,剩余 ~0 个 (差异来自内部命令调用) | `desktop/src-tauri/src/lib.rs` |
| Embedding 未激活 | NoOpEmbeddingClient 为默认值,用户配置后替换为真实 provider | `zclaw-growth/src/retrieval/semantic.rs` |
| SaaS embedding deferred | pgvector 索引就绪,生成未实现 | `zclaw-saas/src/workers/generate_embedding.rs` |
| SkillIndex 条件注册 | 无技能时 skill_index 中间件不注册 | `kernel/mod.rs:309` |

View File

@@ -1,6 +1,6 @@
---
title: 变更日志
updated: 2026-04-19
updated: 2026-04-20
status: active
tags: [log, history]
---
@@ -9,6 +9,38 @@ tags: [log, history]
> Append-only 操作记录。格式: `## [日期] 类型 | 描述`
## [2026-04-20] fix | 50 轮功能链路审计 7 项断链修复 (commit f291736)
**审计报告**: `docs/test-evidence/FUNCTIONAL_CHAIN_AUDIT_2026_04_20.md`
通过率 42/50 (84%),发现 2 P0 + 3 P1 + 2 P2 断链。
**P0 修复**:
- B-MEM-2 跨会话记忆丢失: IdentityRecall 查询意图 + scope-only 检索 + GrowthIntegration 缓存
- B-HAND-1 Hands 未触发: HandTool wrapper + tool registry 注册 7 个 Hands
**P1 修复**:
- B-SCHED-4 一次性定时: RE_ONE_SHOT_TODAY 同日触发模式
- B-CHAT-2 工具循环: 连续失败计数器 (3次上限)
- B-CHAT-5 Stream 竞态: cancelCooldown 500ms
## 2026-04-19 docs | Wiki 全量深度梳理 — 11 页同步至代码实际状态
- **index.md**: 全面更新关键数字 — Rust 102K行/357文件/987测试、Store 25、组件 102、lib 75、@reserved 97、中间件 15层、SQL 38文件/42表、dead_code 0新增进化引擎架构说明修正 Hands 7注册(非9)Pipeline 18模板
- **routing.md**: Store 列表删除 workflowBuilderStore(已不存在)、新增 saas/ 子模块(5文件)拆分路由决策从4分支修正为5分支+降级lib/ 计数 76→75
- **hands-skills.md**: Hands 从"9启用"修正为"7注册"(6 TOML + _reminder);新增"已删除 Hands"节(Whiteboard/Slideshow/Speech 空壳清理)HAND.toml 9→6
- **saas.md**: SaaS 模块从"16+distill"修正为精确16目录SQL迁移从"20文件"修正为"38文件(21up+17down)"CREATE TABLE 从104修正为42
- **known-issues.md**: 代码健康度指标全面更新 — @reserved 89→97、dead_code 16→0、TODO Rust 3→1、Rust测试 684→797
- **memory.md**: 新增进化引擎(EvolutionEngine)完整模块结构(19文件);新增 FeedbackCollector/PatternAggregator/QualityGate/SkillGenerator/WorkflowComposer 描述
- **butler.md**: Intelligence 层从5文件扩展到16文件完整清单新增 experience/health_snapshot/personality_detector 等
- **pipeline.md**: 模板数从17修正为18修正模板分布总计公式
- **chat.md**: 中间件层引用从14修正为15
- **development.md**: 稳定化约束数字全面更新(Store 25、中间件 15、组件 102);分层职责同步
- **验证方式**: 3路并行代码分析(Rust crates/前端/TRUTH交叉) + 20+ grep/find 命令实际验证
# 变更日志
> Append-only 操作记录。格式: `## [日期] 类型 | 描述`
## 2026-04-19 fix | 穷尽审计修复 — CRITICAL×1 + HIGH×6 + MEDIUM×4
- C1: mark_key_429 设 is_active=FALSE自动恢复路径可达化