docs(wiki): 添加 04-17 回归验证记录 — 13/13 PASS
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

- Phase 1: 6 项 bug 修复回归全部 PASS (H1/H2/M1/M2/M3/M5)
- Phase 2: Pipeline + Skill 子系统链路全部 PASS
- Phase 3: Butler + 记忆联动全部 PASS
- BUG-L2 Pipeline 反序列化已验证修复
- 记忆系统 381 条记忆, 12 agent 隔离正常
This commit is contained in:
iven
2026-04-17 10:45:49 +08:00
parent a504a40395
commit b2758d34e9
2 changed files with 149 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
---
title: 已知问题
updated: 2026-04-16
updated: 2026-04-17
status: active
tags: [issues, bugs]
---
@@ -19,6 +19,96 @@ tags: [issues, bugs]
| P2 (代码质量) | 10 | 待处理 |
| V13 P1 (断链) | 3 | **全部已修复** |
| V13 P2 (差距) | 3 | **全部已修复** |
| E2E 04-17 HIGH | 2 | **全部已修复** (commit a504a40) |
| E2E 04-17 MEDIUM | 5 | **已修复 4/5** (Dashboard+去重+注入+invoice_id+版本号+隔离) |
| E2E 04-17 LOW | 2 | **已验证 1/2 修复** (L2 Pipeline 反序列化已修复) |
## E2E 全系统功能测试 04-17 (129 链路)
> AI Agent 自动执行 (Tauri MCP + Chrome DevTools MCP + HTTP API)
> 完整报告: `docs/test-evidence/2026-04-17/E2E_TEST_REPORT_2026_04_17.md`
### 通过率概要
| 指标 | 值 |
|------|-----|
| 总链路 | 129 |
| PASS | 82 (63.6%) |
| PARTIAL | 20 (15.5%) |
| FAIL | 1 (0.8%) |
| SKIP | 26 (20.2%) |
| 有效通过率 | 102/129 = 79.1% |
| CRITICAL 失败 | 0 |
| SaaS API 覆盖率 | ~78% (50/64 端点) |
### HIGH (2) — ✅ 已修复
| ID | 模块 | 描述 | 状态 |
|----|------|------|------|
| BUG-H1 | V7 Admin | Dashboard 端点 404: `/api/v1/admin/dashboard` 未注册路由 | ✅ 已修复 (a504a40) |
| BUG-H2 | V4 Memory | 记忆不去重: viking_add 相同 URI+content 添加两次均返回 "added" | ✅ 已修复 (a504a40) |
### MEDIUM (5)
| ID | 模块 | 描述 | 状态 |
|----|------|------|------|
| BUG-M1 | V8 Billing | invoice_id 未暴露给用户端 | ✅ 已修复 (a504a40) |
| BUG-M2 | V7 Prompt | 版本号不自增: PUT 更新后 current_version 保持 1 | ✅ 已修复 (a504a40) |
| BUG-M3 | V4 Memory | viking_find 不按 agent 隔离: 查询返回所有 agent 记忆 | ✅ 已修复 (a504a40) |
| BUG-M4 | V3 Auth | Admin 端点对非 admin 用户返回 404 非 403 | 待处理 |
| BUG-M5 | V4 Memory | 跨会话记忆注入未工作: 新会话助手表示"没有找到对话历史" | ✅ 已修复 (a504a40) |
### LOW (2)
| ID | 模块 | 描述 | 状态 |
|----|------|------|------|
| BUG-L1 | V3 Industry | API 字段名不一致 (pain_seeds vs pain_seed_categories) | 待处理 |
| BUG-L2 | V9 Pipeline | pipeline_create Tauri 命令参数反序列化失败 | ✅ 已验证修复 (04-17 回归) |
### 04-17 回归验证 (13/13 PASS)
> Tauri MCP + HTTP API 全量回归,验证 commit a504a40 修复有效性 + 子系统链路
**Phase 1 — Bug 修复回归 (6/6 PASS)**
| ID | 验证方法 | 结果 |
|----|----------|------|
| H1 Dashboard | HTTP GET /admin/dashboard → 200 | PASS |
| H2 Memory 去重 | viking_add × 2 → 第二次 "deduped" | PASS |
| M1 Invoice ID | POST /billing/payments → 含 invoice_id | PASS |
| M2 Prompt 版本 | PUT → current_version 1→2 | PASS |
| M3 Agent 隔离 | viking_find scope → 各返回 1 条无泄漏 | PASS |
| M5 跨会话注入 | memory_build_context → 检索到旧记忆 | PASS |
**Phase 2 — 子系统链路 (4/4 PASS)**
| 测试项 | 结果 |
|--------|------|
| Pipeline list → 17 模板 | PASS |
| Pipeline create → camelCase 反序列化 | PASS |
| Pipeline run → DAG 构建+执行(未配LLM) | PASS (链路通) |
| Skill 75 + route_intent 匹配 | PASS |
**Phase 3 — Butler + 记忆 (3/3 PASS)**
| 测试项 | 结果 |
|--------|------|
| Kernel init → 4 agents | PASS |
| agent_chat_stream → 事件分发 | PASS |
| health_snapshot + memory_stats → 381 记忆 | PASS |
### 子系统健康度
| 子系统 | PASS率 | 评分 | 说明 |
|--------|--------|------|------|
| 核心聊天链路 | 91.7% | 95/100 | 注册→登录→JWT→聊天→流式→持久化全闭环 |
| SaaS 后端 | — | 90/100 | 137 端点78% 已测试 |
| Admin 后台 | 66.7% | 88/100 | 全页面 CRUDDashboard 404 已修复 |
| Hands 自主能力 | 70.0% | 85/100 | 10 Hand 全部 enabled审批机制正确 |
| 计费系统 | 70.0% | 85/100 | 套餐/配额/支付全闭环 |
| 管家模式 | 60.0% | 80/100 | 路由+追问+tool_call 正常 |
| 记忆管道 | 62.5% | 70/100 | 存储+检索正常,去重/注入已修复 |
| Pipeline+Skill | 37.5% | 65/100 | Tauri IPC 可用但参数格式问题多 |
## V13 审计修复 (2026-04-13 全部完成)
@@ -126,21 +216,23 @@ commit `7dea456` — 移除 UsageStats + Credits 组件及菜单项。
| SaaS 启动崩溃 (config_items 约束) | P1 | ✅ 已修复 |
| SaaS 模型选择残留模型 ID | P0 | ✅ 已修复 |
## 代码健康度指标2026-04-14
## 代码健康度指标2026-04-17
| 指标 | 值 | 变化 | 说明 |
|------|-----|------|------|
| TODO/FIXME 前端 | 1 | 4→1 | 大幅减少 |
| TODO/FIXME Rust | 3 | 4→3 | |
| @reserved 标注 | 22 | 33→22 | Butler/MCP 已接通 |
| 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 | 大幅减少 |
| 前端孤立 invoke | 0 | 不变 | 已清理 |
| Cargo Warnings | 0 | 不变 | 非 SaaS仅 sqlx 外部 |
| 前端测试通过 | 344+1 skipped | 不变 | pnpm vitest run |
## 长期观察项
| 问题 | 说明 | 位置 |
|------|------|------|
| Tauri 命令孤儿 | 注册 189 命令,前端调用 106 处,@reserved 22 个,剩余 ~61 可能内部调用 | `desktop/src-tauri/src/lib.rs` |
| Tauri 命令孤儿 | 注册 190 命令,前端调用 104 处,@reserved 89 个,剩余 ~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-16
updated: 2026-04-17
status: active
tags: [log, history]
---
@@ -9,6 +9,56 @@ tags: [log, history]
> Append-only 操作记录。格式: `## [日期] 类型 | 描述`
## 2026-04-17 test | 回归验证 — 13/13 PASS全部 04-17 bug 修复确认
- Phase 1: 6 项 bug 修复回归 (H1/H2/M1/M2/M3/M5) 全部 PASS
- Phase 2: Pipeline (list/create/run) + Skill (75 + route_intent) 全部 PASS
- Phase 3: Kernel init + chat_stream + health_snapshot 全部 PASS
- BUG-L2 Pipeline 反序列化已验证修复
- 记忆系统健康: 381 条记忆, 12 agent, FTS5+TF-IDF 工作正常
- 详见 [[known-issues#04-17 回归验证]]
## 2026-04-17 test | 全系统功能 E2E 测试 — 129 链路覆盖
- 129 条链路全量测试 (Tauri MCP + Chrome DevTools MCP + HTTP API)
- 82 PASS / 20 PARTIAL / 1 FAIL / 26 SKIP有效通过率 79.1%
- **0 CRITICAL** 失败,核心聊天链路完整闭环
- 新发现 2 HIGH + 5 MEDIUM + 2 LOW bug
- SaaS API 覆盖率 ~78% (50/64 端点已测试)
- 完整报告: `docs/test-evidence/2026-04-17/E2E_TEST_REPORT_2026_04_17.md`
- 详见 [[known-issues]]
## 2026-04-17 fix | 7 项 E2E Bug 修复 — Dashboard 404 / 记忆去重 / 记忆注入 / invoice_id / Prompt 版本
- **fix(admin)**: Dashboard 404 — 路由注册修复
- **fix(memory)**: viking_add 记忆去重 — URI+content 双重校验
- **fix(memory)**: 跨会话记忆注入修复 — FTS5→注入环节断裂修复
- **fix(billing)**: invoice_id 暴露给用户端
- **fix(prompt)**: 版本号自增修复
- **fix(memory)**: viking_find agent 隔离
- **fix(industry)**: API 字段名统一 (pain_seeds → pain_seed_categories)
- commit: a504a40
## 2026-04-16 fix | Agent 面板信息不随对话更新 — 事件时序 + clones 刷新
- **fix(desktop)**: Agent 面板信息不随对话更新 — 事件时序 + clones 刷新
- commit: 1309101
## 2026-04-16 fix | 3 项 P0 安全/功能修复 + TRUTH.md 数字校准
- **fix(saas)**: 3 项 P0 修复 (详见 [[known-issues]])
- TRUTH.md 数字同步更新
- commit: 0d79993
## 2026-04-16 fix | 5 项 E2E 测试 Bug 修复
- Agent 502 / 错误持久化 / 模型标记 / 侧面板 / 记忆页
- commit: a0d1392
## 2026-04-16 fix | useButlerInsights 使用 resolvedAgentId 查询痛点/方案
- commit: 7db9eb2
## 2026-04-16 fix | Heartbeat 参数名 + Relay 解密自愈 + 设置清理
- **fix(heartbeat)**: Tauri invoke 参数名修正 snake_case → camelCase (`f6c5dd2`)