Commit Graph

  • d97c1442fa fix: 模块仓库本地 git 化——develop git_commit_push 自动 init+本地提交作为产出证据,QC 改查实际文件不再要求远程推送 ymq 2026-08-20 23:44:51 +08:00
  • 38e47be4db feat: git 提交改为审核通过后统一提交——role agent 不再每次产出提交(移除 auto-commit + 角色提示词 git_commit_push),PM approve 后统一 commit 项目过程仓库+应用/模块仓库,减少并发锁与远端 push 频率 ymq 2026-08-20 21:45:07 +08:00
  • 8bc1b4e571 feat(session): gateway/executor 支持 session_id 多会话隔离 ymq 2026-08-20 17:38:18 +08:00
  • 7b03f37ed3 fix(menus): 产线功能菜单指向真 CRUD 页面而非 xls2crud stub ymq 2026-08-20 15:54:12 +08:00
  • ff2179be67 feat(poller): 每项目/租户并发上限 max_agents_per_project,防单项目占满全局并发 ymq 2026-08-20 15:44:51 +08:00
  • 7a2175f363 fix(role-agent): LLM 调用加 asyncio.wait_for 硬超时兜底,防挂起无心跳 ymq 2026-08-20 15:21:14 +08:00
  • c848dc1d4c refactor(agent_loop): 删除 v1 硬编码角色定义,统一走能力包 ymq 2026-08-20 14:37:14 +08:00
  • 917eb3eda9 feat(role_agent): role_agent_run import role skills ymq 2026-08-20 12:02:49 +08:00
  • 77f5aa45dc fix(poller): 依赖门控提前到候选筛选 + 项目轮询,修复队列饥饿 ymq 2026-08-20 11:34:49 +08:00
  • 7f05a3b467 fix: _ensure_project_repo 在 git init 之后才配置仓库级 user(否则 git config 报 not a git repository 导致初始 commit 失败) ymq 2026-08-20 00:45:32 +08:00
  • c319cb74df feat: repos目录规范——项目过程仓库(阶段/QC/PM文档)+应用仓库+模块仓库; 阶段文档产出到repos/project并git commit; 临时文件不进仓库 ymq 2026-08-20 00:38:50 +08:00
  • 0702f2570e fix: 同步SDL_ROLES能力包角色提示词——requirement不划模块/design两层产出+模块划分+依赖/develop基础模块复用(此前只改了agent_loop硬编码,能力包会覆盖) ymq 2026-08-19 23:24:15 +08:00
  • b4bc1a5d1e feat: 新增模块设计模板(design.md+skill/SKILL.md)——统一模块设计结构,design产出用模板保证develop读到一致结构 ymq 2026-08-19 23:14:38 +08:00
  • eb861b2c70 refactor: design产出拆两层——应用级(architecture+ui-design风格/主页/交互/弹窗规范),数据设计下沉到各模块(数据/CRUD/处理逻辑/skills)实现模块自包含复用 ymq 2026-08-19 23:11:38 +08:00
  • f78d327853 refactor: 模块划分下沉到design阶段——设计师定模块+依赖关系+开发顺序,PM按设计师模块清单派发develop任务 ymq 2026-08-19 23:02:20 +08:00
  • 596717a3d6 feat: 模块化拆分原则——概念相近功能独立模块+独立仓库+伞仓库,基础模块(apppublic/sqlor/ahserver/accounting/appbase/rbac)可引用不必再开发 ymq 2026-08-19 22:55:52 +08:00
  • d84f68dd7e fix: develop不deliver三修——①限制探索轮数+强制产出 ②实际产出兜底(检测write_file/git) ③巨型任务拆小(粒度控制) ymq 2026-08-19 22:46:40 +08:00
  • b341a43ad6 Revert "feat(task): 新增 cancel_task 工具,会话 agent 可取消单个任务" ymq 2026-08-19 19:53:07 +08:00
  • fa5b5dc8e0 feat(task): 新增 cancel_task 工具,会话 agent 可取消单个任务 ymq 2026-08-19 19:06:22 +08:00
  • 4d543f529c fix(qa-feedback): raise_problem 归一化 question,修复 QC 改进意见丢失(1241) ymq 2026-08-19 18:34:58 +08:00
  • 3ffe39e885 fix(task-flow): QC/PM 驳回加重试上限,打破「空交付件→驳回→重做」死循环 ymq 2026-08-19 18:15:39 +08:00
  • ccc7baafbd feat(iteration): start_next_iteration 二次确认——当前迭代有未完成任务时须 confirm=true 才作废 ymq 2026-08-19 17:17:32 +08:00
  • d77910ea2e feat(iteration): 迭代状态机改造——显式「当前迭代」+ 序号 seq_no + 启动下一迭代,废除 created_at 推断 ymq 2026-08-19 17:06:31 +08:00
  • eb910bc7b8 fix(task-chain): PM审核断链三处修复——未识别输出不再默认completed、review_complete仅终结角色可用、迭代边界只认显式completed/cancelled ymq 2026-08-19 16:15:05 +08:00
  • 41232c8295 feat: 危险命令确认改为会话级——保留单次确认,新增「全部确认」选项(approve_all)授权后本会话不再询问 ymq 2026-08-19 14:09:27 +08:00
  • bda9f31a1b feat: 关闭 agent 会话危险命令确认——自动理解和接受全部确认,不再打断用户 ymq 2026-08-19 13:52:23 +08:00
  • 7787898456 feat(project-space): 项目空间隔离——通用助手('general')与专业产线(pipeline_id)项目空间不共享 ymq 2026-08-19 11:38:23 +08:00
  • 536f51434f feat: 任务最大重复数(task_max_retry)——超限暂停任务链+抛故障给人工,人工处理后reset_task_retry清零重执行 ymq 2026-08-19 07:29:08 +08:00
  • 981b58b0d2 feat: PM项目推进铁律——默认自动推进(暂停才需指令),加 paused 项目状态 + pause/resume 工具 + PM暂停门控 ymq 2026-08-19 06:37:16 +08:00
  • 834505fcfc feat: PM任务分解与编排——父子关系(parent_id)+依赖串行(depends_on)+任务树分层 ymq 2026-08-19 05:53:28 +08:00
  • f542fdad8a feat(pm): 加 cancel_task 工具 + agent 循环取消检测 + create_tasks 重做前自动取消同标题活跃任务 ymq 2026-08-18 18:26:36 +08:00
  • 781858b61a feat(worker): git 锁从 flock 升级 DB 锁表(pipeline_git_locks),跨主机多 worker 生效,TTL 180s 崩溃自释放 ymq 2026-08-18 18:13:50 +08:00
  • ff9db3d310 refactor(worker): 撤项目级串行,改 git 级串行锁(flock 同 repo),任务其它部分(LLM/写文件)完全并行 ymq 2026-08-18 17:55:21 +08:00
  • ac85ee67f1 fix: create_task 的 iteration_id 归一化为迭代名(agent 传迭代 ID 时反查名称),修复任务树按名匹配计数为 0 的矛盾 ymq 2026-08-18 17:35:38 +08:00
  • 8c6e49992c feat(worker): 认领加同项目串行(NOT EXISTS 无同 tenant 活跃任务),避免多 worker 并发写同一 workspace ymq 2026-08-18 17:33:17 +08:00
  • 1eba1c3f87 feat(worker): load_pipeline_service 按 PIPELINE_MODE 门控 poller 注册(web=仅HTTP无poller, worker=仅poller, all=默认) ymq 2026-08-18 17:15:21 +08:00
  • 8108d7d902 feat: 新增 /download slash 命令——实时打包项目tgz并生成下载链接 ymq 2026-08-18 16:03:59 +08:00
  • 31ba001482 refactor(init): 移除 _init_v2_tables 启动期建表/加列,schema 变更统一走部署期 create_tables.py ymq 2026-08-18 16:02:19 +08:00
  • 5d40cdcd16 fix: 项目备份/删除 SQL 跨表 collation 不匹配——general_ci 表比较列统一 COLLATE utf8mb4_unicode_ci ymq 2026-08-18 15:50:15 +08:00
  • 06ae6bb1ac feat: 项目删除前确认+归档备份——delete_project(confirm二次确认)删除前自动备份tgz到机构工作目录_archive/,含工作目录+全关联表数据记录 ymq 2026-08-18 15:47:55 +08:00
  • a00ba32430 feat: PM 审核新增 review_rollback 决策——测试 Bug 后按问题内容回退到任一阶段,回退点之后的关联任务全部作废并重做 ymq 2026-08-18 15:38:55 +08:00
  • ab776d0c37 feat: 新增 QC 角色(质量门禁)+ 部署拆分为 deploy_test/deploy_prod + requirement 明确部署环境需求 ymq 2026-08-18 15:16:43 +08:00
  • e26826f924 fix: 迭代边界——老迭代任务 approve 后不再自动触发下一角色任务(新迭代创建后老迭代链终止) ymq 2026-08-18 14:48:03 +08:00
  • dfa441b09b feat(pm): 固化 PM 项目计划/任务分配/任务验收职责,新增 create_tasks 批量派发后续任务,修复里程碑审批后链断 ymq 2026-08-18 14:23:20 +08:00
  • 7ec0fb611f fix: create_task 默认归当前迭代(最新迭代);_resolve_iteration_id 取当前迭代而非第一个 ymq 2026-08-18 14:05:20 +08:00
  • 6add7ff4fa fix: /task 弹窗 widget url 用 base_url 拼完整绝对路径(前端 absurl 需完整 URL) ymq 2026-08-18 12:53:55 +08:00
  • 20395a78b6 feat: /task 命令返回任务树+输入输出 ResourceBrowser 弹窗 ymq 2026-08-18 11:57:00 +08:00
  • b819a665f6 fix: poller 加 watchdog(wait_for 60s 超时),防连接池/MDL 锁卡死导致停摆 ymq 2026-08-18 11:14:23 +08:00
  • 0b75f10731 Revert "fix: 心跳超时从 20 分钟回收重跑改为 10 分钟强制结束标注超时失败" ymq 2026-08-18 10:59:51 +08:00
  • feb88aca02 fix: 心跳超时从 20 分钟回收重跑改为 10 分钟强制结束标注超时失败 ymq 2026-08-18 10:53:13 +08:00
  • 7ed0ed9b80 fix(llm_bridge): 网关 200 但无 choices 的响应自动重试,避免 KeyError 打崩角色agent ymq 2026-08-17 18:43:37 +08:00
  • 8cfae215e0 fix: 建任务时归一化 role(裸名 design/test → agent.design/agent.test) ymq 2026-08-17 18:13:05 +08:00
  • 853f3d5082 fix: llm_bridge._decrypt_key 修复 unpassword 参数顺序 + key 默认值兜底,正确解密 confidential_fields 加密的 api_key ymq 2026-08-17 15:28:16 +08:00
  • 42bf89c0c1 fix: workspace fallback 统一到 WORKSPACE_BASE(/d/pipeline/workspaces),修复通用助手(无项目)仍用旧 /tmp/pipeline_ws 的问题 ymq 2026-08-17 15:15:02 +08:00
  • bb29d6d634 fix(gateway): resolve_project 改两步查询避免 JOIN 触发 collation 冲突 ymq 2026-08-17 13:33:28 +08:00
  • 286f0cb4dd feat(llm): 个人选择模型(default_llm_id)接入会话agent+org_id改用户机构优先 ymq 2026-08-17 13:31:04 +08:00
  • 791bd88c6d fix(llm): 严格本机构隔离,去掉系统级(org_id='0')兜底 ymq 2026-08-17 13:22:25 +08:00
  • e9838a3ec6 feat(llm): llm表查询按org_id多租户隔离(本机构+系统级),角色agent与会话agent模型选择统一(RoleSpec.model_name→产线default_model→deepseek-v4-pro) ymq 2026-08-17 12:18:33 +08:00
  • 3affc4dced feat: 7个SDLC概念能力模块(project/iteration/deliverable/test-plan/test-case/bug/deploy-env状态机CAS+审计) + sdlc_ability接线36工具 ymq 2026-08-17 11:00:10 +08:00
  • 4abe93a8f9 feat: 接线feature工具到sdlc_ability(propose/list/approve/reject/verify 5工具+handler+ID前缀兜底) ymq 2026-08-17 07:31:19 +08:00
  • df6f5cce34 feat: feature_capability.py 功能/需求状态机能力(CAS迁移+审计,scope=project_id) ymq 2026-08-17 07:10:28 +08:00
  • 7fa501d359 feat(audit): question 迁移接 record_audit ymq 2026-08-16 23:55:14 +08:00
  • bf819f3b79 refactor(agent_loop): 状态机迁移走 task 能力 + 角色规范化 agent.{role} ymq 2026-08-16 23:51:55 +08:00
  • ec75ee0aad fix(storage/executor): 修复 dir(rec) 取列 bug(DictObject 列名不暴露为实例属性),统一用 dict(rec) 取列 ymq 2026-08-16 23:45:08 +08:00
  • a3a15ae666 fix(audit): created_at 微秒精度,保证 append-only 轨迹可精确排序 ymq 2026-08-16 23:43:40 +08:00
  • 7673a7acdf fix(task_capability): claim_task 查询用原样 role(兼容存量裸名),审计记录用规范名 agent.{role} ymq 2026-08-16 23:40:55 +08:00
  • 3687270ca7 feat(task-capability): 任务状态机语义化迁移能力 + 通用审计原语 ymq 2026-08-16 23:39:05 +08:00
  • b4e5e20ccf fix(communication): _rec_to_dict 用 dict(rec) 取列,修复 DictObject 列名取不到问题 ymq 2026-08-16 22:14:44 +08:00
  • 6707cabedc refactor(team-communication): 问题冒泡改为显式路由,规范移交 skill ymq 2026-08-16 22:08:00 +08:00
  • 4f2c6da6cf feat(team-communication): 通用问题冒泡引擎(多agent感知) ymq 2026-08-16 21:25:39 +08:00
  • 1da53a0edd fix: 问题回路修复——(1)角色agent注入PM退回意见(pending问题)而非只查answered (2)review_complete同步交付件approved (3)PM通过后标记pending问题answered避免堆积 ymq 2026-08-16 20:47:36 +08:00
  • ae7ce87ee2 fix: SDLC 菜单 url 指向旧目录(sd_projects等)→改 _list 新目录 ymq 2026-08-16 19:24:51 +08:00
  • 3f9ae7a08f feat: agent加propose_skill自省handler(提skill化建议写提议表) ymq 2026-08-16 19:16:53 +08:00
  • f4b3994a52 refactor: SDL_PROMPT问题升级链规则抽离到question-escalation技能,只留一句触发引导 ymq 2026-08-16 19:02:08 +08:00
  • 13a8af9d17 feat: SDL_PROMPT补问题升级链引导(主动list_questions→answer_question/ask_user抛客户) ymq 2026-08-16 18:59:50 +08:00
  • 47dcd3c11e fix: run_command只对危险命令确认(普通命令自动执行),避免confirm卡死 ymq 2026-08-16 18:52:51 +08:00
  • 59426838cb fix: sdlc菜单弹窗尺寸改width/height百分比 ymq 2026-08-16 18:41:20 +08:00
  • ffcfa5ab7c feat: sdlc菜单加cwidth/cheight控制弹窗大小 ymq 2026-08-16 18:34:11 +08:00
  • 2fe0f3ef29 feat: list_packs/install_pack handler+/skills限前20个 ymq 2026-08-16 18:19:40 +08:00
  • 0bc3587a75 fix: generic模式传generic给load_agent_config(真不装产线能力) ymq 2026-08-16 18:04:28 +08:00
  • 6e61dbbbb9 feat: gateway.run_message加generic参数(纯通用模式跳过resolve_project+不装产线能力) ymq 2026-08-16 18:02:42 +08:00
  • 50c9220d2d feat: 技能检索LLM语义匹配+SDLC能力声明功能菜单(项目/Bug/测试/迭代) ymq 2026-08-16 17:19:48 +08:00
  • 488ba4daa4 feat: skill_loader base_dir动态解析到机构工作目录(多租户隔离) ymq 2026-08-16 15:51:33 +08:00
  • 4e7157c161 feat: load_skill工具handler(按需加载技能正文) ymq 2026-08-15 19:43:11 +08:00
  • 2fded1f83c fix: read_file支持解析docx(zipfile提取文本),避免agent读docx报错绕去run_command探测 ymq 2026-08-15 19:23:32 +08:00
  • 2cdd3cb986 feat: gateway服务层(统一消息入口+会话生命周期+通道注册)+AgentIO适配走gateway ymq 2026-08-15 10:02:54 +08:00
  • 82b0944424 feat: 全局并发agent数限制(max_concurrent_agents params表)+机构工作目录workspace_base动态化(_is_safe_workdir读params表) ymq 2026-08-15 10:00:03 +08:00
  • 2cc259bc7d feat: SDLC角色迁移到能力包(SDL_ROLES)+role_agent_run从能力包取角色定义+记忆按pipeline/project分域加载 ymq 2026-08-15 09:46:42 +08:00
  • e6344be8e9 fix: _build_ctx补pipeline_id字段,修复/help列不出产线命令 ymq 2026-08-15 09:40:31 +08:00
  • c05949d1cf fix: pipeline_id为空时fallback到默认产线,修复产线slash匹配不到 ymq 2026-08-15 09:39:43 +08:00
  • c87b8d94ed feat: 通用slash命令(/help/status/reset/tools/skills/model)+SDLC产线slash(/tasks/diagnose)+AgentExecutor按role加载技能 ymq 2026-08-15 09:38:31 +08:00
  • 0a90f60315 refactor: SDLC能力迁移到sdlc_ability可插拔能力包——14工具+prompt+handler独立函数,AgentExecutor按pipeline_id动态挂载,删除硬编码SDLC handler ymq 2026-08-15 09:26:01 +08:00
  • eaa23d1eff feat: AgentExecutor实现通用工具集——文件读写/搜索/会话搜索/todo/子代理委派+workspace_dir解析 ymq 2026-08-15 09:04:49 +08:00
  • 1860179a39 refactor: 删auto-inject硬编码关键词强制路由,reply/ask_user为合法终止动作,恢复agent诚实降级能力 ymq 2026-08-15 08:19:03 +08:00
  • 099c283562 fix: PM审核循环加auto-inject兜底,最后两轮强制review_*决策,防审核超时死循环 ymq 2026-08-15 02:04:41 +08:00
  • 14a42aac7b fix: SELECT-only 事务显式 COMMIT,修复 MDL 元数据锁泄漏阻塞 DDL ymq 2026-08-15 01:09:05 +08:00
  • aa0dcc9c04 feat: 失败任务处理第二层——failed poller 自动重跑(最多3次)+报故障给用户 ymq 2026-08-15 00:57:05 +08:00
  • 8c0d63efb1 fix: LLM 调用加瞬时错误重试(3次) + 超时 180s→300s(connect 30s);心跳回收阈值 10→20 分钟防误杀慢任务 ymq 2026-08-15 00:46:30 +08:00
  • 00a7e77629 feat: diagnose_project 运行中任务返回 claimed_by+心跳陈旧度,agent 可直接识别僵尸任务 ymq 2026-08-15 00:27:12 +08:00
  • bc5ce2f06d fix: 任务链卡死根治 — 心跳+stale回收+claimed_by僵尸锁清除 ymq 2026-08-15 00:11:36 +08:00