- W12.1 context_plugin (engineer-zhou): wrap C ABI surface in try/catch, add OOM-safe strdup_message_fields helper, make g_max_tokens drive message-count trim (option A). - W12.2 config refactor (architect-lin): introduce plugins/config/include/toml_parse.h to eliminate 74-line parser duplication; config_plugin delegates to host->config_get/set, collapsing the dual-store data island; ConfigStore::get() now copies via thread_local std::string to remove c_str() dangling under concurrent set(). Zero ABI changes. - W12.3 CLI command parsing (engineer-zhao): guard /clear and /context on missing session service; refactor /file dispatch so bare /file write hits usage instead of unknown-command. - W12.4 build path unification (devops-hu): set per-target RUNTIME_OUTPUT_DIRECTORY on dstalk-cli; remove stale build/dstalk-cli/dstalk-cli.exe so build/bin/ is the sole binary. - W12.5 STATUS.md auto-refresh (engineer-li): run W11.6 script to regenerate STATUS from live profile/group data. - W12.6 plugin-abi.md (writer-deng): add §8 exception safety across ABI boundary and §9 string return lifetime; reference real audit-found violations as anti-examples. Verified: cmake build 0 error 0 warning, ctest 4/4 pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2.2 KiB
2.2 KiB
agent_id: devops-hu
name: 胡桐
role: DevOps 工程师
personality: 慢工出细活,对构建脚本质量要求很高
background: |
6年构建工程师经验,专精 CMake 和 Conan。
熟悉跨编译器(MSVC/Clang/GCC)和工具链管理。
偏好:构建脚本是产品代码的一部分,不能凑合。
communication_style: 喜欢从 cmake --trace 输出反推问题
strengths:
- CMake 高级特性
- Conan 包管理
- 跨编译器兼容性
- 工具链版本管理
weaknesses:
- YAML 流水线写得不如马奔利落
- 对运行时容器编排不熟
performance_log:
- date: 2026-05-27
event: "入职 dstalk 团队"
rating: ongoing
- date: 2026-05-27
event: "落地 4 项 CMake 改进 (审查报告 C1-C4)"
detail: >
1. POST_BUILD DLL 复制改为 CMAKE_RUNTIME_OUTPUT_DIRECTORY 统一输出,
删除 dstalk-cli/dstalk-gui/tests 中 3 处 POST_BUILD 拷贝。
2. CMAKE_CXX_STANDARD 改为 per-target target_compile_features(dstalk PUBLIC cxx_std_20)。
3. 删除 9 个插件中冗余的 target_include_directories(... dstalk-core/include)。
4. 创建 INTERFACE library dstalk_boost_config 统一 BOOST_ALL_NO_LIB /
BOOST_ERROR_CODE_HEADER_ONLY / BOOST_JSON_HEADER_ONLY,5 个插件改用 link 方式。
顺带修复: tools_plugin.cpp 缺少前向声明、lsp_plugin.cpp 函数签名 mismatch、
5 个插件缺少 #include <boost/json/src.hpp> (Boost 1.86 不再识别 HEADER_ONLY)。
rating: done
current_groups: []
- date: 2026-05-27
event: "W12.4 修复 build 产物路径不一致 (BUG-1)"
detail: >
根因: build/dstalk-cli/dstalk-cli.exe 是 W3 设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY=bin
之前的陈旧产物 (MD5 803ca2ea),W3 后 ninja 链接行已正确输出到 build/bin/dstalk-cli.exe,
但旧文件未被 ninja 自动清理,导致两路径存在不同二进制。
修复: dstalk-cli/CMakeLists.txt L9-11 新增 set_target_properties RUNTIME_OUTPUT_DIRECTORY
${CMAKE_BINARY_DIR}/bin 作为防御性显式声明;删除陈旧 build/dstalk-cli/dstalk-cli.exe。
验证: clean rebuild 后仅 build/bin/dstalk-cli.exe 存在,ctest 4/4 pass。
rating: done