From d3da7d4dbb5dfe08ab971d62ac5bbec66f233ffe Mon Sep 17 00:00:00 2001 From: iven Date: Mon, 6 Apr 2026 09:20:32 +0800 Subject: [PATCH] docs: update fix confirmation list with P2/P3 evidence + correct line offsets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add 22 new entries for P2-01 through P3-09 fixes with exact file evidence - Correct stale line numbers: M11-02 (431→440,516), M11-06 (176→187) - All 18 legacy entries verified present in codebase Co-Authored-By: Claude Opus 4.6 --- docs/test-results/DEFECT_LIST.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/test-results/DEFECT_LIST.md b/docs/test-results/DEFECT_LIST.md index 75d39c4..44ea53c 100644 --- a/docs/test-results/DEFECT_LIST.md +++ b/docs/test-results/DEFECT_LIST.md @@ -125,9 +125,9 @@ | 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-02 P1 | T4 | LLM 无 map_err | mod.rs:440,516 .map_err()(行号因后续提交偏移) | | M11-03 P1 | T4 | 数据仅存内存 | persist.rs SQLite 持久化 | -| M11-06 P2 | T4 | Chat Message ID Date.now() | classroomStore.ts:176 crypto.randomUUID() | +| M11-06 P2 | T4 | Chat Message ID Date.now() | classroomStore.ts:187 crypto.randomUUID()(行号因后续提交偏移) | | M2-08 P2 | T3 | 部分参数验证 | 空 name + temperature 越界已拒绝 | | M5-01 P1 | T7 | tags→triggers 误映射 | skill-discovery.ts:117 优先使用 backend.triggers | | TC-4-D01 P1 | T4 | GenerationPipeline model 硬编码 | generation/mod.rs: model 字段 + with_driver(model) + generate_scene_with_llm_static(model) | @@ -135,3 +135,24 @@ | P1-02 M4-03 | T2 | Heartbeat 不自动初始化 | lifecycle.rs: kernel_init 后自动 heartbeat_init + start | | P1-05 M2-05 | T3 | 删除活跃 Agent 无警告 | CloneManager.tsx: 活跃 agent 差异化警告 + syncAgents 自动切换 | | P1-06 M2-01 | T3 | agent_get 缺失字段 | AgentInfo + registry: 补全 soul/system_prompt/temperature/max_tokens | +| P2-01 M3-04 | T1 | max_concurrent 未实现 | registry.rs: Semaphore 并发限制 + register 时创建 | +| P2-03 M3-10 | T1 | toolCount/metricCount 硬编码 | hand.rs: tool_count()/metric_count() trait 方法 + registry.get_counts() | +| P2-06 M4-08 | T2 | heartbeat_init 无最小间隔验证 | heartbeat.rs:718 init>=1 + heartbeat.rs:838 update_config>=1 | +| P2-07 M4-02 | T2 | 反思引擎基于规则无标记 | reflection.rs: ReflectionResult.used_fallback 标记 | +| P2-08 TC-2-D01 | T2 | identity 参数不透明 | identity.rs: 错误消息统一为 file type | +| P2-10 M11-04 | T4 | LLM 失败静默 placeholder | ClassroomMetadata.is_placeholder + generate() 追踪 | +| P2-11 M11-05 | T4 | classroom 强制打开 player | classroomStore.ts: userDidCloseDuringGeneration 意图追踪 | +| P2-12 M6-03 | T5 | pipeline_create 硬编码 Action::Hand | workflowStore.ts: actionType 字段 + 后端多分支匹配 | +| P2-13 M6-04 | T5 | workflowStore steps 计数错误 | PipelineInfo.step_count + PipelineStepInfo 后端返回实际步骤 | +| P2-14 M6-05 | T5 | getWorkflow inputs→steps 映射 | PipelineInfo.steps + PipelineStepInfo 结构化步骤信息 | +| P2-15 M6-06 | T5 | 管道操作符 \| 不支持 | context.rs: resolve_path_with_pipes + 8 种 transforms | +| P2-16 M6-07 | T5 | {{mustache}} 和 ${inputs} 混用 | context.rs: mustache_regex 自动归一化为 ${...} | +| P2-17 M7-01 | T6 | 前端密码最少 6 vs 后端 8 | SaaSLogin.tsx: placeholder 改为"至少 8 个字符" | +| P2-19 M5-02 | T7 | SKILL.md tools 未序列化 | registry.rs: serialize_skill_md 补全 tools + update_skill 保留 | +| P2-22 M1-02 | T8 | ToolOutputGuard 只 warn | tool_output_guard.rs: sensitive patterns 返回 Err 阻断 | +| P2-23 M1-03/04 | T8 | Mutex::unwrap() panic | relay/service.rs: unwrap_or_else(\|e\| e.into_inner()) | +| P3-01 TC-2-D02 | T2 | memory_store ID 重复 | memory_commands.rs: 使用 source 作为 category 避免重复 | +| P3-03 M11-08 | T4 | HTML export 缺 key_points | html.rs: format_scene_content 添加 key_points 渲染 | +| P3-07 M5-04 | T7 | YAML triggers 引号 | loader.rs: 同时处理双引号和单引号 | +| P3-08 M5-05 | T7 | ShellSkill duration_ms | runner.rs: start.elapsed() 计时 + duration_ms: Some() | +| P3-09 M5-06 | T7 | CATEGORY_CONFIG 9 分类 | skill.rs: auto_classify 关键词匹配 + 20 分类覆盖 |