• 46 号文档 Phase 4:decomposed_work 子任务的父子生命周期管理。
    
    - 父任务被 subtask-planning 成功拆分后让位给子任务(新状态 decomposed),
      取消自己排队中的完整 org graph run
    - 父任务预算按拆出的步数均分给每条子任务
    - 父子终态汇总(settleParentTaskIfAllChildrenDone),子任务全部完成后
      自动结算父任务并联动 goal 收敛
    - 同父子任务独立并发坑位(上限 3),判据钉在 updateRunStatus 的唯一准入
      事务里,不占用公司级 max_parallel_tasks 槽位
    - 前端(Phase 5):decomposed 状态样式 + 子任务进度展示,复用已有的
      parentTaskId 通用树形逻辑,未改后端接口
    
    真实回归当场撞出一个几乎必现的真缺陷:markTaskDecomposed 原本只认父任务
    还是 queued,但 task-scheduler 抢坑是毫秒级、subtask-planning 是数十秒的
    真实 LLM 调用,等它拆完时父任务几乎必然已经 running,接管必然失败,而
    stopRun 依然会把真实在跑的 org graph 取消掉。已修复(接管条件放宽 +
    调整先接管再取消的顺序)并用真实公司数据验证;同父并发坑位也用真实数据
    确认生效(两条子任务真实同时 running 20+ 分钟)。
    
    回归过程中牵出一个独立缺陷:org-validator 对同一种 benchmark 契约判断
    不稳定(5 次里 1 次误把源码路径当 --target 判 target_not_json,反手把
    责任推给 subtask-planning)。根因是 decomposed_work 轻量图当时只有一条
    前进边、没有失败边,validator 判 fail 后无路可退。已补 validate --fail-->
    impl 退回边(复用引擎已验证过的 backward_count 双层硬顶 + remediation_note
    反思闭环),新增 3 条单测覆盖边形状、真实退回重试、硬顶熔断三个场景。
    
    全量单测 1229/1231 通过(2 个失败改动前即存在、与本次无关)。
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01H9Mq8rViHp8xuj6zTy76hh
    yibo authored
     
    Browse Dir »

  • GoalTaskPane.vue(GraphConsole 左栏)按 parentTaskId 分层渲染,子任务
    只读展示(没有独立 run,不接操作菜单);TaskTable.vue(TaskBoard,当天
    另一个并发 session 重写的表格视图)用一行「↳ 子任务·属于「…」」指回
    父任务,不强行画树——它是可排序表格,硬套树形会跟排序打架。
    
    taskView() 已在上一个提交里补上 parentTaskId/acceptanceMode 字段输出。
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01U7xYyvv3pzuV9diMVUH5QL
    yibo authored
     
    Browse Dir »
  • 原来的 /task-board 挂的是 GoalTaskPane(折叠式目标→任务列表),字段少、
    没有搜索筛选排序、点任务是整页跳转。GoalTaskPane 同时被 GraphConsole
    左栏复用,原地重写会连带改掉那边,所以新做 TaskTable + TaskDetailModal
    两个组件只给 TaskBoard 用。
    
    - TaskTable:表格列(状态/描述/所属目标/负责Agent/优先级/创建·开始·结束
      时间),搜索框 + 状态/目标/负责人筛选 + 点表头排序
    - TaskDetailModal:点一行弹出详情,可编辑 + 增删改查(复用既有
      taskActions()/PATCH/POST/DELETE 端点,没加新接口)
    - taskView() 补上 assigneeAgentId 字段(DB 列早就有,只是没读侧暴露)
    
    已用真实登录态跑通端到端验证(建临时测试公司+任务,搜索/筛选/排序/
    增删改查全走了一遍,控制台零报错),确认 GraphConsole 侧栏未受影响。
    
    Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01XUvQ2xSFk7YoavE5SQENdw
    yibo authored
     
    Browse Dir »