| date |
event |
rating |
| 2026-05-27 |
入职 dstalk 团队 |
ongoing |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
落地 4 项 CMake 改进 (审查报告 C1-C4) |
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)。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W12.4 修复 build 产物路径不一致 (BUG-1) |
根因: 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。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W15.6: 验证 check_agents_metadata.py 运行结果 + 集成分析 + YAML 解析确认 |
运行结果: default/json 模式 0 error 1 warning (audits/ 目录无 profile.md, 假阳性); --strict 模式 exit code 2 (warning 升格为 error)。 YAML 验证: engineer-sun + security-cao 的 profile.md 均被 yaml.safe_load 正确解析。 集成建议: refresh_status.py 可 import 调用 check 函数作为前置门禁, 发现 error 时拒绝生成 STATUS.md。 WORKFLOW.md §5 缺少元数据自查项, 建议新增 "每波开始前运行 check_agents_metadata.py"。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W15.9: 修复 check_agents_metadata.py 假阳性 warning + 更新 WORKFLOW.md §5 |
Fix 1: check_agents_metadata.py 目录扫描跳过 agents/audits/ (非 agent 目录),将所有 `child.name == 'groups'` 改为 `child.name in ('groups', 'audits')`。 Fix 2: WORKFLOW.md §5 新增 "元数据完整性" 条目,要求每波开始前运行 check_agents_metadata.py 验证。 Fix 3: 修复后运行 0 errors 0 warnings,5 checks passed。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W15.3: 设计 agents/ 目录元数据自检机制 (scripts/check_agents_metadata.py) |
修复自身 profile.md YAML 格式错误 (perf_log 条目被误放在 current_groups: [] 之后)。 创建 5 项自检: C1 YAML 解析合法性、C2 rating 值范围、C3 current_groups -> group 引用完整性、 C4 group members -> agent 引用完整性、C5 重复 ID 检测 + 目录名一致性。 首轮运行发现 engineer-sun + security-cao 的 profile.md 存在同类 YAML 错误 (各 2 条目 orphan)。 建议集成到 refresh_status.py 作为前置检查,并加入 WORKFLOW.md §5 CEO 自查清单。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W16.4: 将 check_agents_metadata.py 的 5 项检查集成为 refresh_status.py 前置门禁 |
refresh_status.py 新增 import check_agents_metadata 5 个 check 函数 (L28-35)。 main() 扫描 profiles 前执行全部 5 项检查 (L401-432): 有 error 时打印详情 exit 1 拒绝生成 STATUS.md, 仅有 warning 时打印告警继续执行, 全部通过时打印 OK 继续。 测试: 正常场景 0 error 0 warning 生成 STATUS.md; 故意破坏 qa-xu/profile.md 的 --- 分隔符后 exit 1 且 STATUS.md 未被覆盖; 修复后恢复正常。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W18.4 CI 双平台构建矩阵 + 构建时间基线 (协作者) |
审查并确认 CI 跨平台兼容性: cmake_layout 下 conan_toolchain.cmake 路径为 build/Release/conan_toolchain.cmake;ci-release preset 使用 ${sourceDir} 宏引用。 Ninja generator 在 Ubuntu 和 Windows 均可使用;ccache 作为 CMAKE_COMPILER_LAUNCHER 在 clang/clang-cl 下兼容。OpenSSL conan 包在双平台下均有预编译二进制, 无需本地编译。buildPreset jobs: 0 利用全部可用 CPU 核数。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W19.5 CI 跨平台构建矩阵 Phase 1 -- 编译器/ccache/构建计时验证 |
编译器验证: Ubuntu 分支 clang-18 预装于 ubuntu-24.04 runner,CC/CXX 通过 $GITHUB_ENV 设置后传递给 conan install 和 CMake。Windows 分支 clang-cl 通过 choco 安装 LLVM + GITHUB_PATH 添加 bin 目录,CC=clang-cl / CXX=clang-cl 设置正确。 ccache 验证: CCACHE_DIR=${{ github.workspace }}/.ccache 大小 256M,actions/cache@v4 以 runner.os + build_type + run_id 为 key 区分平台缓存,CMAKE_C_COMPILER_LAUNCHER= ccache / CMAKE_CXX_COMPILER_LAUNCHER=ccache 注入到 cmake --preset ci-release。 Ninja generator + buildPreset jobs:0 (全核) 已验证双平台兼容。 构建计时: steps.build.outputs.duration 从 date +%s 差值计算,输出到 GITHUB_STEP_SUMMARY markdown 表格格式正确。ci-release preset 工具链: ${sourceDir}/build/Release/conan_toolchain.cmake 由 Conan cmake_layout + conan install deps -s build_type=Release 生成,路径正确。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W20.5: 配置 ASan/UBSan 构建 preset 并集成到 CI |
CMakePresets.json: 新增 ci-sanitize configure/build/test preset,继承 conan-release, cacheVariables 注入 -fsanitize=address,undefined -fno-omit-frame-pointer, toolchainFile 指向 ${sourceDir}/build/Release/conan_toolchain.cmake, binaryDir 设为 ${sourceDir}/build/ci-sanitize。 修复 conan-release: toolchainFile 从 generators\conan_toolchain.cmake 改为 ${sourceDir}/build/build/Release/generators/conan_toolchain.cmake, binaryDir 从 E:... 硬编码改为 ${sourceDir}/build/build/Release。 ci.yml: 新增 sanitize job (PR-only, ubuntu-24.04, clang-18, 禁用 ccache), 含 configure/build/ctest 三步。 验证: cmake --build build --config Release 0 error, ctest --test-dir build 5/5 pass。
|
done |
|
| date |
event |
detail |
rating |
| 2026-05-27 |
W21.1: 修复 ci-sanitize preset 编译器冲突 + 新增 ci-threadsan |
根因: ci-sanitize 继承 conan-release,后者 CMAKE_C_COMPILER/CXX=cl (MSVC), 但 -fsanitize=address,undefined 是 clang/GCC flag,CI 运行在 ubuntu-24.04+clang-18, 编译器覆盖冲突导致 sanitizer 行为不可预测。 修复: ci-sanitize 改为独立 preset (generator Ninja + toolchainFile ${sourceDir}/build/Release/conan_toolchain.cmake + CMAKE_C_COMPILER=clang-18 + CMAKE_CXX_COMPILER=clang++-18 + flags -fsanitize=address,undefined -fno-omit-frame-pointer)。新增 ci-threadsan (TSan)。 验证: cmake --list-presets 4 个全部解析通过,Release 构建 cmake --build build --config Release 8/8 0 error,ctest 6/6 pass。
|
done |
|