W22: coverage metric + network tests + Tool stream feedback + stdin pipe + session path + dependency check (W22.1-W22.6)
Some checks failed
CI / Determine matrix (push) Has been cancelled
CI / ${{ matrix.os }} / ${{ matrix.build_type }} (push) Has been cancelled
CI / Sanitizer (ASan+UBSan) / ubuntu-24.04 (push) Has been cancelled
CI / Coverage (gcovr) / ubuntu-24.04 (push) Has been cancelled

- W22.1: gcovr 覆盖率度量 + CI coverage job(40% 阈值 warning)
- W22.2: network_plugin 单元测试(parse_headers_json/extract_host_port/SSE/异常保护)
- W22.3: Tool Calling 流式反馈(chat_stream + "[工具调用]/[工具结果]" 状态行)
- W22.4: --prompt stdin pipe(--prompt - 从 stdin 读取)
- W22.5: session 路径健壮化(static 缓存 + mkdir + fallback)
- W22.6: 插件依赖拓扑静态校验(validate_dependencies 循环/缺失检测)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 21:21:24 +08:00
parent b2b381b9b3
commit df3bf298ee
13 changed files with 753 additions and 23 deletions

View File

@@ -128,5 +128,18 @@ performance_log:
验证: cmake --list-presets 4 个全部解析通过Release 构建 cmake --build build --config Release
8/8 0 errorctest 6/6 pass。
rating: done
- date: 2026-05-27
event: "W22.1: 测试覆盖率度量 + CI 门禁"
detail: >
CMakePresets.json: 新增 ci-coverage configure/build/test preset (Ninja, clang-18,
--coverage flag + CMAKE_EXE/SHARED_LINKER_FLAGS, binaryDir build/ci-coverage)。
ci.yml: 新增 coverage job (Linux clang-18, gcovr, 无 ccache)
构建→ctest→gcovr --gcov-executable "llvm-cov-18 gcov" 生成行覆盖率并输出到 GITHUB_STEP_SUMMARY
阈值 40%,低于标 :warning: 不阻塞。
tests/CMakeLists.txt: 新增 coverage custom target (gcovr HTML + 终端摘要,
llvm-cov gcov 兼容)。
验证: cmake --list-presets 全 5 个解析通过Release 构建为预存 main.cpp 问题阻塞,
ctest 8/8 pass (9th dstalk-network-plugin-test Not Run 因二进制未编译)。
rating: done
current_groups: []
---