Wave 9: fix audit findings, harden ABI, deduplicate config (W12.1-W12.6)
- 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>
This commit is contained in:
@@ -1,28 +1,28 @@
|
||||
# dstalk 实时编制状态
|
||||
|
||||
> **最后更新**: 2026-05-27
|
||||
> **数据来源**: 由 W10.2 任务自动整理(扫描全部 16 个 `agents/*/profile.md` + 5 个 `agents/groups/*.md` + `git log`)。CEO 可命令任意员工执行同样任务刷新。
|
||||
> **数据来源**: 由 `scripts/refresh_status.py` 自动扫描全部 16 个 `agents/*/profile.md` + 5 个 `agents/groups/*.md` 生成。
|
||||
|
||||
## 表 1:员工状态(16 人)
|
||||
|
||||
| Agent ID | 姓名 | 角色 | 最近一次贡献 | perf_log | 当前小组 | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| architect-lin | 林深 | 架构师 | W9.4 撰写 plugin-abi.md (7 点 ABI 契约) | 6 | grp-quality-core, grp-ai-plugins | idle |
|
||||
| architect-yang | 杨帆 | 架构师 | W10.1 WORKFLOW §11-§13 状态机 + 验收清单 + 失败回退 | 2 | -- | idle |
|
||||
| architect-huang | 黄岭 | 架构师 | W9.8 initialize_all 容错修复 (fail-fast → fail-continue) | 2 | -- | idle |
|
||||
| engineer-zhao | 赵码 | 工程师 | W9.6 CLI /history 命令 + /status 集成 | 6 | grp-ai-plugins, grp-cli-ux | idle |
|
||||
| engineer-chen | 陈风 | 工程师 | W2.1 跨 DLL 堆释放修复 (unify host->alloc/free) | 2 | -- | idle |
|
||||
| engineer-li | 李明 | 工程师 | W10.2 STATUS.md 实时编制状态文档 (63 行) | 2 | -- | idle |
|
||||
| engineer-zhou | 周岩 | 工程师 | W5.1 SSE buffer_body 优化 (峰值内存 -67%) | 2 | -- | idle |
|
||||
| engineer-sun | 孙宇 | 工程师 | W6.1 LSP reader_loop 协议合规修复 (状态机解析) | 2 | -- | idle |
|
||||
| qa-wang | 王测 | 质量工程师 | W7 smoke test 9 插件加载修复 + Boost.JSON 链接 | 5 | grp-quality-core, grp-cli-ux | idle |
|
||||
| qa-liu | 刘静 | 质量工程师 | W9.10 host_api 单元测试 (8 cases) | 2 | grp-security-audit | idle |
|
||||
| qa-xu | 徐磊 | 质量工程师 | W10.4 POSTMORTEM.md 踩坑记录 (5 事故 7 规则) | 3 | grp-security-audit | idle |
|
||||
| devops-ma | 马奔 | DevOps | W4 CI pipeline GitHub Actions (Linux/Windows 双矩阵) | 2 | grp-build-matrix | idle |
|
||||
| devops-hu | 胡桐 | DevOps | W3 CMake 4 项现代化 (target-based + Boost config) | 2 | grp-build-matrix | idle |
|
||||
| designer-zhu | 朱晴 | UX/CLI 设计师 | W10.3 PROMPT_TEMPLATE.md 子代理模板 (骨架+反模式+正模式) | 2 | grp-cli-ux | idle |
|
||||
| writer-deng | 邓书 | 技术作家 | W9.1 Diátaxis Explanation 文档 (architecture + plugin-lifecycle) | 2 | -- | idle |
|
||||
| security-cao | 曹武 | 安全工程师 | W9.3 日志凭证泄露审计 (8 文件 0 真实漏洞) | 3 | grp-security-audit | idle |
|
||||
| architect-huang | 黄岭 | 架构师 | W11.1 审计 context_plugin.cpp (289行,零Wave覆盖) | 2 | -- | idle |
|
||||
| architect-lin | 林深 | 架构师 | W9.4 撰写 docs/reference/plugin-abi.md Plugin ABI 契约文档(200行) | 6 | grp-ai-plugins, grp-quality-core | idle |
|
||||
| architect-yang | 杨帆 | 架构师 | W10.1 设计协作状态机 + 验收清单 + 失败回退协议,追加 WORKFLOW.md §11–§13 | 2 | -- | idle |
|
||||
| designer-zhu | 朱晴 | UX/CLI 设计师 | W10.3 创建 agents/PROMPT_TEMPLATE.md 子代理 prompt 模板(约 170 行) | 2 | grp-cli-ux | idle |
|
||||
| devops-hu | 胡桐 | DevOps 工程师 | 落地 4 项 CMake 改进 (审查报告 C1-C4) | 2 | grp-build-matrix | idle |
|
||||
| devops-ma | 马奔 | DevOps 工程师 | 落地 CI pipeline (GitHub Actions) | 2 | grp-build-matrix | idle |
|
||||
| engineer-chen | 陈风 | 工程师 | W11.2 审计 config_plugin / ConfigStore 职责划分与跨 DLL 堆合规 | 3 | -- | idle |
|
||||
| engineer-li | 李明 | 工程师 | W11.6 编写 scripts/refresh_status.py 自动扫描 agents/*/profile.md 重新生成 agents/STA... | 3 | -- | idle |
|
||||
| engineer-sun | 孙宇 | 工程师 | W6.1 修复 LSP reader_loop 协议合规 bug(Content-Length 状态机解析) | 2 | -- | idle |
|
||||
| engineer-zhao | 赵码 | 工程师 | W9.6 CLI新增/history[N]命令,含三种边界处理;/status增加history count | 6 | grp-ai-plugins, grp-cli-ux | idle |
|
||||
| engineer-zhou | 周岩 | 工程师 | W5.1 network_plugin SSE 改 buffer_body | 2 | -- | idle |
|
||||
| qa-liu | 刘静 | 质量工程师 | W11.3 event_bus 单元测试 (6 cases, tests/event_bus_test.cpp) + service_registry... | 3 | grp-security-audit | idle |
|
||||
| qa-wang | 王测 | 质量工程师 | W7 smoke test 插件加载修复 | 5 | grp-cli-ux, grp-quality-core | idle |
|
||||
| qa-xu | 徐磊 | 质量工程师 | W11.7 破坏性输入测试:build/dstalk-cli/dstalk-cli.exe (commit 004a81d) 10 场景全 PASS 零崩溃 | 4 | grp-security-audit | idle |
|
||||
| security-cao | 曹武 | 安全工程师 | W9.3 错误日志凭证泄露审计(8文件,0真实漏洞) | 3 | grp-security-audit | idle |
|
||||
| writer-deng | 邓书 | 技术作家 | Diátaxis 第二刀: 补充 Explanation 类文档 — architecture.md (插件架构哲学/三层模型/C ABI... | 2 | -- | idle |
|
||||
|
||||
> **状态判定规则**: 基于 `performance_log` 最后一条的 `rating`——`ongoing` 视为 `working`,其余 (`A/A+/B/completed/done/success/good`) 视为 `idle`。
|
||||
|
||||
@@ -30,38 +30,17 @@
|
||||
|
||||
| group_id | 名称 | lead | members | mission | active_tasks | 状态 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| grp-quality-core | 核心质量小组 | 王测 | 林深, 王测 | 确保插件化架构的代码质量和测试覆盖 | -- (C2 已交付) | 待命 |
|
||||
| grp-ai-plugins | AI 插件小组 | 赵码 | 赵码, 林深 | AI 相关插件的功能完善和架构优化 | -- | 待命 |
|
||||
| grp-cli-ux | CLI 体验小组 | 赵码 | 赵码, 朱晴, 王测 | 改进 dstalk-cli 的交互体验、健壮性和可测试性 | B3: CLI 交互增强 (信号处理/状态命令/退出码/管道输入) | 执行中 |
|
||||
| grp-build-matrix | 构建矩阵小组 | 马奔 | 马奔, 胡桐 | 完善 CI 跨平台构建矩阵 (Linux/Windows, Clang/MSVC) | -- | 待命 |
|
||||
| grp-security-audit | 安全审计小组 | 曹武 | 曹武, 徐磊, 刘静 | 全面审计内存安全、API 密钥处理、反序列化路径 | -- | 待命 |
|
||||
| grp-ai-plugins | AI插件小组 | 赵码 | 赵码, 林深 | AI相关插件的功能完善和架构优化 | -- | 待命 |
|
||||
| grp-build-matrix | 构建矩阵小组 | 马奔 | 马奔, 胡桐 | 完善 CI 跨平台构建矩阵(Linux/Windows,Clang/MSVC),缩短构建时间 | -- | 待命 |
|
||||
| grp-cli-ux | CLI 体验小组 | 赵码 | 赵码, 朱晴, 王测 | 改进 dstalk-cli 的交互体验、健壮性和可测试性 | B3: CLI 交互增强(信号处理、状态命令、退出码语义、管道输入) | 执行中 |
|
||||
| grp-quality-core | 核心质量小组 | 王测 | 林深, 王测 | 确保插件化架构的代码质量和测试覆盖 | -- | 待命 |
|
||||
| grp-security-audit | 安全审计小组 | 曹武 | 曹武, 徐磊, 刘静 | 全面审计 dstalk 的内存安全、API 密钥处理、反序列化路径 | -- | 待命 |
|
||||
|
||||
> **成员列来源**: 以 `agents/groups/*.md` 为准(部分成员 profile 未同步更新 `current_groups`)。
|
||||
|
||||
## Wave 进度
|
||||
|
||||
**已完成高水位**: W9.10(已 commit `5766938`)
|
||||
**已完成高水位**: W11.7(基于 16 份 profile.md 的 performance_log 聚合)
|
||||
|
||||
**已完成 Wave 清单** (WORKFLOW.md §7 + commit message):
|
||||
W1.1, W2.1, W2.2, W3, W4, W5.1, W6.1, W7, W8.1, W9.1, W9.3, W9.4, W9.6, W9.8, W9.10
|
||||
**已发现 Wave 编号**: W1.1, W2.1, W2.2, W5.1, W6.1, W7, W9.3, W9.4, W9.6, W9.10, W10.1, W10.2, W10.3, W10.4, W11.1, W11.2, W11.3, W11.6, W11.7
|
||||
|
||||
**In-flight (W10.x,尚未 commit)**:
|
||||
|
||||
| 任务 | 负责人 | 交付物 | 状态 |
|
||||
|---|---|---|---|
|
||||
| W10.1 | architect-yang (杨帆) | `agents/WORKFLOW.md` §11-§13 (状态机+验收清单+失败回退, +227 行) | 已完成,未 commit |
|
||||
| W10.2 | engineer-li (李明) | `agents/STATUS.md` (本文件, 65 行) | 已完成,未 commit |
|
||||
| W10.3 | designer-zhu (朱晴) | `agents/PROMPT_TEMPLATE.md` (子代理 prompt 模板, 193 行) | 已完成,未 commit |
|
||||
| W10.4 | qa-xu (徐磊) | `agents/POSTMORTEM.md` (项目踩坑记录, 172 行) | 已完成,未 commit |
|
||||
|
||||
**未提交变更摘要**:
|
||||
- `agents/WORKFLOW.md` — §9 追加模板迁移链接 + §11-§13 杨帆扩展
|
||||
- `agents/architect-yang/profile.md` — 追加 W10.1
|
||||
- `agents/designer-zhu/profile.md` — 追加 W10.3
|
||||
- `agents/qa-xu/profile.md` — 追加 W10.4
|
||||
- `agents/engineer-li/profile.md` — 追加 W10.2
|
||||
- `agents/PROMPT_TEMPLATE.md` — 新增 (untracked)
|
||||
- `agents/POSTMORTEM.md` — 新增 (untracked)
|
||||
- `agents/STATUS.md` — 新增 (untracked, 本文件)
|
||||
|
||||
**下一波建议起点**: W11.x(CEO 先 commit W10.1~W10.4,再派新任务;当前 16/16 员工 idle,产能充足)
|
||||
|
||||
@@ -36,6 +36,9 @@ performance_log:
|
||||
- date: 2026-05-27
|
||||
event: "W9.4 完成:撰写 docs/reference/plugin-abi.md Plugin ABI 契约文档(200行),涵盖 DSTALK_API_VERSION、内存所有权、跨DLL堆纪律、register_service、on_init/on_shutdown、回调线程安全、依赖声明共7个契约要点。更新 docs/README.md reference 区追加入口"
|
||||
rating: A
|
||||
- date: 2026-05-27
|
||||
event: "W12.2 完成:消除 config_plugin 与 ConfigStore 的 TOML 解析代码重复(提取共享头 toml_parse.h),消除双 store 数据孤岛(config plugin 委托 host store),修复 c_str() 悬垂指针(thread_local 缓存)。build 0 error,4/4 test pass"
|
||||
rating: completed
|
||||
current_groups:
|
||||
- grp-quality-core (成员)
|
||||
- grp-ai-plugins (待命)
|
||||
|
||||
@@ -33,4 +33,14 @@ performance_log:
|
||||
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
|
||||
---
|
||||
|
||||
@@ -26,5 +26,8 @@ performance_log:
|
||||
- date: 2026-05-27
|
||||
event: "W11.6: 编写 scripts/refresh_status.py 自动扫描 agents/*/profile.md 重新生成 agents/STATUS.md,支持 --dry-run,Python 3.8+ 标准库零依赖"
|
||||
rating: completed
|
||||
- date: 2026-05-27
|
||||
event: "W12.5: 使用 scripts/refresh_status.py 重新生成 agents/STATUS.md (46行),验证脚本对 W11.x (已 commit) 和 W12.x (in-flight) 数据正确解析,dry-run 确认 16 行表1 + 5 行表2 + 高水位 W11.7,build + ctest 全 PASS"
|
||||
rating: completed
|
||||
current_groups: []
|
||||
---
|
||||
|
||||
@@ -42,3 +42,6 @@ current_groups:
|
||||
- date: 2026-05-27
|
||||
event: "W11.4: 实现管道输入支持(grp-cli-ux B3),pipe_mode检测_isatty→读取全部stdin→单次chat→退出;空输入返回1提示empty prompt;0 error 0 warning编译通过;4/4测试100% pass"
|
||||
rating: A
|
||||
- date: 2026-05-27
|
||||
event: "W12.3: 修复3个命令解析bug(BUG-2 /clear空session谎报成功→stderr守卫; BUG-3 /context空session静默→else分支stderr; BUG-4 /file write裸命令→统一token解析入口),build 0 error 0 warning,4/4 test pass"
|
||||
rating: completed
|
||||
|
||||
@@ -20,6 +20,12 @@ performance_log:
|
||||
- date: 2026-05-27
|
||||
event: "入职 dstalk 团队"
|
||||
rating: ongoing
|
||||
- date: 2026-05-27
|
||||
event: "W12.1 - context_plugin 三处 bug 修复 (W11.1 audit)"
|
||||
detail: |
|
||||
修复项: (1) C++ 异常穿越 ABI: trim_impl/context_count_tokens/context_trim/on_init 包裹 try/catch, 异常时 int 返回 -1, size_t 返回 0. (2) strdup null check: 引入 strdup_message_fields() + free_msg_strs() 辅助函数, 两处循环逐一检查返回值, OOM 时回滚已分配字段. (3) g_max_tokens 死变量: 选项A — trim_impl max_tokens==0 时用全局值; 结果组装前按 ceil(g_max_tokens/100) 裁剪消息数(粗略 ~100 token/msg).
|
||||
编译 0 error 0 warning, ctest 4/4 pass.
|
||||
rating: completed
|
||||
- date: 2026-05-27
|
||||
event: "W5.1 - network_plugin SSE 改 buffer_body"
|
||||
detail: |
|
||||
|
||||
@@ -23,5 +23,8 @@ performance_log:
|
||||
- date: 2026-05-27
|
||||
event: "Diátaxis 第二刀: 补充 Explanation 类文档 — architecture.md (插件架构哲学/三层模型/C ABI) + plugin-lifecycle.md (生命周期/拓扑排序/on_init on_shutdown 契约/ABI 纪律), 更新 docs/README.md 导航"
|
||||
rating: completed
|
||||
- date: 2026-05-27
|
||||
event: "W12.6 ABI 文档缺口填补: plugin-abi.md 追加 §8 异常安全(涵盖 service vtable 函数, 反例来自 context_plugin.cpp L114-226) + §9 字符串返回值生命周期(反例来自 config_store.cpp:72 / config_plugin.cpp:77 的锁外 c_str() 悬垂), 并更新 §2.3/§5.3/§6.4 交叉引用"
|
||||
rating: completed
|
||||
current_groups: []
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user