Files
zclaw_openfang/docs/test-results/DEFECT_LIST.md
iven a458e3f7d8
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: add pre-launch audit defect list and release readiness assessment
DEFECT_LIST.md: 38 active defects (0 P0, 6 P1, 23 P2, 9 P3)
- 13 V12 issues confirmed fixed
- 4 new issues discovered during testing

RELEASE_READINESS.md: Overall health 73→79 (+6)
- 2 blocking items: classroom model hardcode + LLM API concurrency
- T5-T8 modules at 78-91/100 (low risk)
- Recommended: fix 2 blockers then release as Beta
2026-04-05 18:52:39 +08:00

6.3 KiB
Raw Blame History

ZCLAW 上线前功能审计 — 缺陷清单

审计日期: 2026-04-05 | 审计范围: T1-T8 模块 | 基线: V12 审计

统计总览

严重度 V12 遗留 新发现 已修复 当前活跃
P0 1 0 1 0
P1 11 2 7 6
P2 25 2 4 23
P3 10 0 1 9
合计 47 4 13 38

P0 缺陷0 个 — 全部已修复)

ID 原V12 ID 模块 描述 状态
P0-01 M4-01 T2 双数据库PersistentMemoryStore vs SqliteStorage 已修复

P1 缺陷6 个)

ID 原V12 ID 模块 描述 文件 状态
P1-01 M3-02 T1 Browser Hand 返回 pending_execution 不实际执行 hands/browser.rs ⚠️ 未修复
P1-02 M4-03 T2 Heartbeat 不自动初始化,需手动 heartbeat_init heartbeat.rs ⚠️ 未修复
P1-03 TC-1-D01 T1 LLM API 并发 500 DATABASE_ERROR4/5 并发失败) saas/relay ⚠️ 新发现
P1-04 TC-4-D01 T4 GenerationPipeline 硬编码 model="default"SaaS relay 404 zclaw-kernel/generation/mod.rs:416 ⚠️ 新发现
P1-05 M2-05 T3 删除活跃 Agent 无警告,无自动切换 kernel_commands/agent.rs ⚠️ 未修复
P1-06 M2-01 T3 agent_get 不返回 soul/system_prompt/temperature/max_tokens kernel_commands/agent.rs ⚠️ 部分修复

P2 缺陷23 个)

T1 Hands (5)

ID 原V12 ID 描述 状态
P2-01 M3-04 max_concurrent 未实现5 个并发全被接受) ⚠️ 未修复
P2-02 M3-05 timeout_secs 未实现(无超时保护) ⚠️ 未修复
P2-03 M3-10 toolCount/metricCount 硬编码为 0 ⚠️ 未修复
P2-04 TC-1-D03 Quiz Hand 无输入长度限制100K 字符被接受) ⚠️ 新发现
P2-05 M2-08 max_tokens=0 未被 agent_create 拒绝 ⚠️ 部分修复

T2 Intelligence (4)

ID 原V12 ID 描述 状态
P2-06 M4-08 heartbeat_init 无最小间隔验证0.001分钟被接受) ⚠️ 未修复
P2-07 M4-02 反思引擎可能仍基于规则而非 LLMnew_memories=0 ⚠️ 需确认
P2-08 TC-2-D01 identity_propose_change 参数不透明 ⚠️ 新发现
P2-09 M4-14/15 reflection/identity 命令参数名与文档不一致 ⚠️ 确认

T4 Classroom (2)

ID 原V12 ID 描述 状态
P2-10 M11-04 LLM 失败静默 fallback 到 placeholder无标记 ⚠️ 未修复
P2-11 M11-05 课堂生成完成强制打开 player不尊重手动关闭 ⚠️ 未修复

T5 Pipeline (5)

ID 原V12 ID 描述 状态
P2-12 M6-03 pipeline_create 硬编码 Action::HandLLM/Parallel/Condition 丢失 ⚠️ 未修复
P2-13 M6-04 workflowStore steps: p.inputs.length 语义错误 ⚠️ 未修复
P2-14 M6-05 getWorkflow inputs→steps 映射语义错误 ⚠️ 未修复
P2-15 M6-06 管道操作符 | 在 context.resolve() 中不支持 未验证
P2-16 M6-07 模板中 {{mustache}}${inputs} 混用 ⚠️ 未修复

T6 SaaS Desktop (2)

ID 原V12 ID 描述 状态
P2-17 M7-01 前端密码最少 6 字符 vs 后端 8 字符不一致 ⚠️ 未修复
P2-18 M7-03 TOTP QR 码通过外部服务生成,密钥明文传输 未验证

T7 Skills (2)

ID 原V12 ID 描述 状态
P2-19 M5-02 SKILL.md tools 字段未解析75 个技能 tools 被忽略 未验证
P2-20 M5-03 Python 技能硬编码 python3Windows 无此命令 未验证

T8 Chat (3)

ID 原V12 ID 描述 状态
P2-21 M1-01 GeminiDriver API Key 在 URL query 参数中 未验证
P2-22 M1-02 ToolOutputGuard 只 warn 不 block 敏感信息 未验证
P2-23 M1-03/04 Mutex::unwrap() 在 async 中可能 panic 未验证

P3 缺陷9 个)

ID 原V12 ID 模块 描述 状态
P3-01 TC-2-D02 T2 memory_store entry ID 重复 (knowledge/knowledge) ⚠️ 新发现
P3-02 M11-07 T4 白板两套渲染实现未统一SceneRenderer SVG + WhiteboardCanvas ⚠️ 未修复
P3-03 M11-08 T4 HTML export 只渲染 title+duration缺少 key_points ⚠️ 未修复
P3-04 M6-08 T5 get_progress() 百分比只有 0/50/100 三档 ⚠️ 未修复
P3-05 M7-05 T6 saveSaaSSession fire-and-forget失败静默 未验证
P3-06 M7-06 T6 chatStream 不传 sessionKey/agentId 未验证
P3-07 M5-04 T7 YAML triggers 引号只处理双引号 未验证
P3-08 M5-05 T7 ShellSkill duration_ms 未设置 未验证
P3-09 M5-06 T7 CATEGORY_CONFIG 仅覆盖 9 分类75 技能全为 null ⚠️ 未修复

修复确认清单

原V12 ID 模块 描述 修复证据
M4-01 P0 T2 双数据库统一 unified-client.ts isTauriRuntime() 路由到 SqliteStorage
M3-01 P1 T1 run_id 丢失 hand_execute 返回 runId 字段
M3-06 P1 T1 返回值类型不匹配 {success, output, error, durationMs, runId}
M6-01 P1 T5 route_intent 未注册 lib.rs:220 已注册
M6-02 P1 T5 v1/v2 解析器分裂 helpers.rs:93-115 fallback 到 v2
M7-02 P1 T6 PUT 布尔值路径参数 ConfigMigrationWizard.tsx:118 使用 existing.id
M7-04 P1 T6 refreshToken 未传 body saas-auth.ts:70-71 发送 refresh_token
M11-01 P1 T4 blocking_lock 死锁 generate.rs:141-147 改用 try_lock()
M11-02 P1 T4 LLM 无 map_err mod.rs:431-434 .map_err()
M11-03 P1 T4 数据仅存内存 persist.rs SQLite 持久化
M11-06 P2 T4 Chat Message ID Date.now() classroomStore.ts:176 crypto.randomUUID()
M2-08 P2 T3 部分参数验证 空 name + temperature 越界已拒绝
M5-01 P1 T7 tags→triggers 误映射 skill-discovery.ts:117 优先使用 backend.triggers