Commit Graph

  • 6c2a67ecb4 feat(secret_vault): update_secret_meta(改标签/备注,仅本人+审计;值不可改走删除重存)——管理页行内编辑用 main ymq 2026-09-18 14:36:28 +08:00
  • e6ad1cd8ed fix(agent_loop): M4a死亡螺旋两缺陷根治(2026-09-18 pbls实锤)——①空fallback交付件硬拦截:30轮耗尽零产出时原实现把77字节「未检测到write_file」空说明当交付件submit,且按created_at最新覆盖上轮真实交付件成为QC审查对象;QC面对自相矛盾对象(交付件说未产出/磁盘有git commit)16轮全烧取证无法裁决→no-decision infra回置3连败→fault+pause;正解:零产出=本轮执行失败mark_failed(错误文案带「瞬时/重试」hint走retry分类),绝不制造空壳交付件②_parse_agent_action归一化:LLM输出{"action":"run_shell",...}把工具名写进action字段(M4a QC turn=15实锤),分发只认review_*/tool_call/deliver/ask→落「未识别」纠错分支白烧审核轮次;新增_normalize_action_dict:action=工具名+params/tool字段→归一tool_call,submit/finish→deliver,ask_question→ask,命中TOOL_SCHEMAS宽松兜底;归一失败原样返回保持诚实纠错路径 ymq 2026-09-18 14:21:14 +08:00
  • 82257290ee fix(human_task): 待办归属动态解析+expired_at地雷修复(2026-09-18银联事故实锤)——①新增resolve_project_owner_assignee:项目真人创建者进其我的待办,无主回退owner.superuser;flow_plan确认/修订/重做失败4处调用点改动态;②create_human_task显式写expired_at=+7d(列默认current_timestamp()→创建即过期,实测全部历史待办expired_at==created_at) ymq 2026-09-18 13:23:29 +08:00
  • 594d4f0501 fix(agent_loop): 审核证据链四缺陷根治(2026-09-18 pbls M4a熔断实锤)——①infra回置独立预算params.infra_requeue(原与质量退回共享retry_count,M4a三轮=2次LLM故障+1次真实退回即触顶熔断;耗尽时抬retry_count到上限防failed_poller误判瞬时retry_task让develop从头重做;真实裁决/人工reset清零;派生任务pop)②qc_reject达上限路径不再丢弃questions明细,补写last_error随fault_report直达人工(原只留分数无清单,本次靠翻llm_call_trace才找回3项未过明细)③审核注入content[:6000]裸截断改_review_content_preview(limit=12000正常全量;超长保头60%+尾40%保引擎核验段+显式截断标记,QC不再把引擎截掉的证据判成证据缺失)④files_json构建:存在性过滤幽灵文件(实测_m4a_patch.py先写后删被QC判临时补丁混入)+并入_enforce_git_closure实际提交文件(实测sql/m4a_ddl.sql被add -A提交但清单漏收被QC判交付件缺失) ymq 2026-09-18 10:53:16 +08:00
  • c8b44fe423 feat(flow_plan): 流程修订/定向重做机制(2026-09-17用户裁定:用户有权调整流程,并要求从流程任何一步按意见重做,或只给意见由agent判注入点)——revise_flow_plan:已confirmed计划提修订版(v+1 pending_confirm,确认前旧计划持续生效,确认时CAS换版旧版superseded+回调产线stage_reentry钩子);detect_reentry_stage:LLM按意见+阶段声明+产线进度摘要判注入点(对齐detect_flow_template判流先例,evidence进确认待办用户核对,错判确认门兜住,判不出诚实报错禁默认);_affected_stage_keys:注入阶段+deps依赖闭包下游;钩子失败不回滚确认,诚实上报+抛人工待办;新会话工具revise_flow_plan/detect_reentry_stage进FLOW_PLAN_TOOLS(三产线零改动继承);propose已确认时错误指引改指revise;models加reentry_stage/reentry_detect_note列 ymq 2026-09-18 00:05:42 +08:00
  • 12f8384d49 fix(import_closure): 破M1b无限退回死循环——globals()运行时注入逃逸阀+责任范围过滤(2026-09-17 pbls实锤) ymq 2026-09-17 22:13:51 +08:00
  • 2607176cb7 fix(secret_vault): prepare_command补齐env引用形态注入(2026-09-17 e2e实锤缺口)——SECRET_PROMPT_BLOCK承诺'命令写$PIPELINE_SEC_X执行瞬间注入真值'但实现只认@@sec:占位符,agent照prompt写env引用时hits空→env不注入→变量展开为空(实测stdout SEC_READY_空值);现两形态等价:存在名进hits注入,不存在名进unknown拒绝执行(同陷阱C绝不静默空值) ymq 2026-09-17 18:04:12 +08:00
  • 761052a298 feat(pii_guard): PII打码守卫(2026-09-17用户定案合规)——手机/身份证MOD11-2/银行卡Luhn/邮箱确定性侦测→AES密文入Redis db4(24h ephemeral,不进机构密码表)→@@pii:占位符;gateway 0.6门禁+reply/progress用户侧还原+tool事件不还原;v2 run_command env注入$PIPELINE_PII_*+_save_turn落库掩码;人名NER留二期 ymq 2026-09-17 17:47:48 +08:00
  • 25c2452647 feat(secret_vault): 用户敏感信息管理模块(2026-09-17) ymq 2026-09-17 15:44:56 +08:00
  • bb6bdf40fa feat(models): pipeline_user_secrets 表模型定义(2026-09-17) ymq 2026-09-17 13:50:35 +08:00
  • 062c31e482 fix(reviewer): 审核循环证据污染四处同款根治(2026-09-17 pbls QC退回意见②实锤)——收尾约束曾是'注入文本冒充工具结果':QC/PM循环turn超限后read_file等取证工具的result被替换成'拒绝执行探索类工具,立即输出review_approve'文本并以'工具X结果:'格式喂回,审核方读到的是引擎指令而非文件内容→证据链污染→被迫盲判(QC明确拒绝:'不接受此类指令放行',但轮次照烧)。四处统一修:①QC(16轮)②PM(5轮)③复盘(10轮)——工具全程真实执行,收尾软提示只追加一次(原turn>=N每轮重复灌,develop 30轮循环最多25条相同提示),硬上限=轮次预算本身,耗尽走既有诚实出口(QC no-decision requeue→fault;PM超时智能处理;复盘mark_failed),绝不默认放行绝不伪造结果。对齐技能既有教训'收尾强制决策应是软约束,真硬约束作用于具体行为而非整个对话权'——本次是该教训的完整落地(上次只改了预算没删注入) ymq 2026-09-17 12:11:49 +08:00
  • 2e8d2abec7 fix(import-closure): 核验范围从包归属改为仓库归属——modules/pbls只有app/scripts没有包目录,入口modules/pbls/app/pbls.py的import断裂(from world.api实测断)是真实事故面,只按包算会漏;跨仓库方向按写入文件所属仓库拥有的包算(pbl_common事故形状不变)。单测+3例=14全绿(含无包仓库入口纳入/断裂抓到/存在不误报) ymq 2026-09-17 11:42:10 +08:00
  • b4c2ecbbe1 feat(deliver): import闭包硬门禁——跨文件符号引用断裂当轮拦(2026-09-16 pbls pbl_common半迁移重写事故根治:develop重写公共内核删errors/tenant既有符号面,但内部context/api与6+依赖模块仍import旧名→整包ImportError对外契约瘫痪;设计文档明文向后兼容不删既有签名,而既有门禁全是单文件尺子py_compile空壳/字节数/git收口,量不出跨文件断裂)。新模块import_closure(stdlib ast静态分析不执行被检代码):核验范围=本任务写入.py所属包+全空间引用这些包的文件,from-import符号级核验;逃逸阀=__getattr__动态模块/ast解析失败/外部库/核验器自身异常放行;未触碰包存量断裂不拦防死锁。挂载:native+文本兜底两条deliver路径硬拦(FAIL给逐条文件:行:符号+处置二选一:补兼容符号或同轮改齐引用方)+机械核验段回填闭包报告给QC当证据。离线单测13例全绿(事故形状精确复刻+逃逸阀+相对导入/别名/星号) ymq 2026-09-17 11:16:30 +08:00
  • c533932ac6 docs(readme): LLM超时预算统一治理段(2026-09-16用户裁定单点收敛)——bridge._resolve_budget+inference deadline两处单点,三层预算对齐铁律,忘传timeout结构性安全 ymq 2026-09-16 18:30:01 +08:00
  • f7a3fd364a fix(task): reset_task_retry假成功空转——解链三步曲(resolve_problem resume_task=True先把waiting→submitted,再reset_task_retry)下旧CAS只认waiting/failed→UPDATE 0行,成功判定却只看终态==submitted→空转报True:retry_count未清零+陈旧last_error残留,任务带满计数重新认领一次退回即再触顶fault(2026-09-16 pbls M1b实测17:22 fault解链后18:08 retry_count又=3实锤)。修:state IN加submitted(running仍排除防打断在跑协程)+成功判定改state与retry_count双核对+入参态前置校验 ymq 2026-09-16 18:21:19 +08:00
  • 5f98cd79a7 feat(timeout): LLM超时预算统一收敛到bridge._resolve_budget单点(2026-09-16用户裁定:禁散落各产线各角色)——timeout参数语义=一次调用总预算(0=平台缺省chat300/gen900,封顶900下限60),payload._timeout恒传+客户端=预算+60恒覆盖上游;四个公开入口(llm_call/llm_call_msgs/llm_call_msgs_native/llm_infer)废弃各自为政的等待公式(330缺省/+60/原值-60/min+60)全走统一解析;调用方忘传timeout也结构性安全——消灭09-05提取/09-14develop/09-16QC三次'忘传→端点按供应商120s掐断长生成'同款事故;顺带修llm_infer潜伏bug(不传timeout客户端缺省330<异步轮询预算600客户端先断);agent_loop._LLM_CLIENT_TIMEOUT语义同步为总预算510(510→客户端570→wait_for600三层对齐),v2引擎_MAIN_TIMEOUT=180在新语义下总时长受预算约束顺带修复旧3x放大超客户端的潜伏bug ymq 2026-09-16 17:58:14 +08:00
  • 9e9886a6f1 revert(substance_gate): 回退输出端正则门禁(2026-09-16用户纠偏'到处加检查标准方法不对')——打地鼠式正则(【待填】→【待人工确认】→【定稿环节以…】永远漏)违反语义判断铁律(LLM裁决非词匹配)+堆门禁不治根因。根因=写者输入端缺'真标书长什么样'约束,修复转技能层(禁元内容/禁自造占位/逐标的实质响应)+reviewer/scorer的LLM实质性判断第一判据。docx表格转换修复保留(独立真bug) ymq 2026-09-16 16:58:06 +08:00
  • d59f5c43a7 fix(timeout): QC/PM/复盘三处llm_call_msgs补timeout=_LLM_CLIENT_TIMEOUT——2026-09-16 pbls实测:QC审核不传timeout→payload无_timeout→inference按供应商端点配置(百炼120s)掐断上游,大上下文长生成(trace实测121s断连19次/单次最长510s)结构性必超时→_requeue回置3次达上限→fault+pause(5d_nSJ主任务16:11实锤)。2026-09-14同款预算错位当时只修develop native路径(2986行),QC(4059)/PM(3681)/复盘(4314)三处文本路径漏挂。timeout=570同时透传payload._timeout→inference按510s等上游,客户端aiohttp按570s总超时,外层wait_for 600s兜底,预算三层对齐 ymq 2026-09-16 16:40:09 +08:00
  • c0cab536df feat(substance_gate): 标书实质性响应确定性门禁(2026-09-16用户报障根治'检核得满分但质量太低')——新建substance_gate检测'编写指南体/表单大面积待填'(非投标文件正文本身):元内容标题(编制说明/编制依据/填写口径/自查表/人工填写清单/应答口径)+元内容句(按X格式编制/完整覆盖评分子项/见第X节清单)+非规范待填占位(【待填-xxx】,区别于合法【材料待补:】)。分层判定(走查校正:阈值4曾误伤2.2.1/2.2.2有实质内容仅带前言章,改为高精度组合:待填>=2或综合分>=15或元标题>=3且待填>=1)。真实34章实测:精准判3章指南体(1.1投标函17处待填/2.1商务/2.1.4业绩表31处待填),2.2.1(320行真实响应表)/2.2.2(真实实施方案)正确放行。对齐diagram_gate确定性门禁哲学:质量闸门不靠LLM自觉 ymq 2026-09-16 16:07:23 +08:00
  • a3a1c88859 docs(readme): deliver代码真实性三重门禁段(2026-09-16 pbls M1a空壳事故)——git收口引擎化/代码空壳硬门禁_validate_stub_code/产出文件机械核验段,通用规则:门禁证据必须引擎机械计算不靠agent自述,QC取证失败≠判0分 ymq 2026-09-16 15:23:11 +08:00
  • 0d02ac631a feat(deliver): 代码空壳硬门禁+产出文件机械核验——write_file实写的.py必须ast可解析且有真实可执行语句(纯注释/pass/docstring占位/语法错误拒绝,__init__.py豁免),.json必须可解析;deliver files参数先验后写;引擎自动计算每文件字节/行数/语句数回填交付件正文给QC当证据底座(2026-09-16 pbls M1a verify_gate.py声称17141字符实测1225字节纯注释事故根治) ymq 2026-09-16 14:24:31 +08:00
  • 3d4e5bb4cb fix(db_query): where字面量%转义——LIKE '%关键词%'的%被aiomysql参数替换当格式占位符致TypeError not enough arguments(2026-09-16甘肃项目agent实测:查节能资质直接崩);顺带白名单补bid_material_gaps表(材料缺口清单可查) ymq 2026-09-16 13:38:57 +08:00
  • 38efb3eb17 feat(deliver): git收口引擎化——deliver时引擎代为add+commit本任务写入的apps/modules仓库,收口核验记录回填交付件(2026-09-16 pbls M1a编造git证据事故根治) ymq 2026-09-16 12:37:26 +08:00
  • f99b554e9e fix(orchestration): 审核基础设施故障不再让develop从头重做+failed不算依赖dead+dependency_blocked待办自动收口(2026-09-16 pbls双事故根治) ymq 2026-09-16 12:17:22 +08:00
  • 02c54264c8 fix(qc): QC取证预算4→16轮+删默认通过静默放行+占位文档硬门禁(2026-09-15 pbls停摆根治) ymq 2026-09-16 08:34:18 +08:00
  • ecc113f9b3 fix(human_task): 人类待办答复即权威,不再送agent QC(2026-09-15用户裁定)——原complete→human_task_qc→LLM审查人类答复→不合规退回pending→用户再说忽略又被退的死循环(甘肃项目45EbV3Nw实测堆3个QC任务);人工override权威守卫须跳过铁律,complete直接done+qc_status=passed ymq 2026-09-15 21:51:22 +08:00
  • b0342db38e fix(db_query): 1054未知列错误回带表真实列清单——LLM把params JSON键(stage/task_kind)当列传是高频误用,报错带列名让下一轮自恢复,不白烧轮次(2026-09-15甘肃项目实测抓到) ymq 2026-09-15 18:07:34 +08:00
  • 66387c4210 fix(agent): 文本兜底解析裸多行JSON tool_call——LLM输出无围栏连续动作对象时误当交付件正文deliver ymq 2026-09-15 17:56:41 +08:00
  • 715be0b387 feat(agent): 工具结果UI显示层取消500字硬截——params可配上限(默认50000≈完整显示)+超限显式告知(2026-09-15用户指令:显示完整信息)。显示层与回填层(12000防爆门禁)分离,resolve_max_chars提取共享_resolve_param_int,新增cap_display_result/resolve_display_max_chars(params键tool_result_display_max_chars) ymq 2026-09-15 17:32:39 +08:00
  • 6dac18e1b1 fix(comms): raise_problem同任务同类型pending问题去重——重复冒泡更新既有行(正文/context刷新+任务照挂起)返回原qid,不再每轮新建(实测同task_id qc_reject/review_reject/fault_report堆2-3条pending,角标虚高重复轰炸owner.superuser,2026-09-15用户指令:避免重复) ymq 2026-09-15 16:52:43 +08:00
  • b4bfa9ec54 fix(todos): 删除/暂停项目不再产生待办+孤儿待办根因修复(2026-09-15用户指令)——四个poller(submitted/review/qc_review/failed)排除已删项目悬空任务(旧代码只排paused,孤儿failed任务每轮raise fault_report灌给owner.superuser,实测38条堆积);handle_failed_task项目行不存在时跳过(旧'if _p and'守卫在项目已删时整体失效);raise_problem对已删项目拒发(全局tenant_id放行,paused不拦防吞故障通知);create_human_task项目状态门禁(paused/archived/cancelled/completed不发新待办,恢复后对账器补发) ymq 2026-09-15 16:45:46 +08:00
  • e774cb238b fix(agent): G2缺口指纹超长静默丢失+fallback交付件跨仓库污染+setup_repos空目录崩溃 ymq 2026-09-15 16:43:23 +08:00
  • 5fe5c238ec feat(flow): 批2多流程模板机制+三机制修复——pipeline_flow_plans加base_flow_key列;flow_plan_capability:detect_flow_template(LLM判流,置信度+判据,失败不静默降级发人工)/propose_flow_plan支持flow_key+确认待办渲染判流结论/get_plan_flow_key供流转分支/_latest_plan_rec复用;agent_loop:_skip_trimmed_roles按base_flow_key解析阶段+human_task_qc检查对象不存在改cancel+fault冒泡(不再qc_reject计轮死循环,首医实测)+PM approve答结并入qc_reject(幻影角标,pbls实测);project_capability:pause_project不再删pending待办(暂停=可逆停摆,删待办致resume后QC死循环) ymq 2026-09-15 15:01:27 +08:00
  • d204ff4a9f docs(readme): 补diagram_gate模块说明——文档配图形态硬门禁(t2i/i2i真图,deterministic伪图检测,deliver双路径+bidding复用) ymq 2026-09-15 15:00:28 +08:00
  • af69708dd0 feat(agent): 文档配图形态硬门禁——需求/设计文档及一切交付文档中的图必须invoke_model t2i/i2i生成真图(2026-09-15用户要求);新增diagram_gate确定性检测器(mermaid/plantuml围栏+箱线字符画++---+文本边框,豁免目录树条目/纯分隔线/markdown表格/代码块);deliver双路径(native+文本兜底)拦截伪图回填FAIL可行动改法;逃逸阀=文中如实标注「配图缺失:平台无可用文生图模型」;v1角色system prompt同步硬规定 ymq 2026-09-15 14:53:17 +08:00
  • 313f32dd7b fix(llm_bridge): native调用透传_timeout端点预算——pbls design三连超时根因:llm_call_msgs_native只把timeout用作客户端等待,payload无_timeout→端点按供应商端点配置(百炼120s)掐上游,design收尾大请求(17tools/60~125KB)天然72~115s,一半概率120s被杀→内部3重试全灭→任务failed暂停项目;native补_timeout=客户端-60s余量(端点先掐返结构化错误可分类重试),llm_call_msgs客户端等待改timeout+60对齐llm_infer模式 ymq 2026-09-15 09:03:13 +08:00
  • 88a361a50e fix(agent): 交付件类型守卫+本体文件清单——deliverable_type照抄示例值零校验(pbls需求交付被标design_doc),RoleSpec.deliverable_types声明合法清单,deliver拦截校验(native+文本双路径)非法拒绝回填清单,唯一合法类型缺省自动填充;交付件快照文件名清洗(getID '-'开头难用);新增files_json本体文件清单列(write_file实写+deliver files),PM/QC审核输入随附清单+强制read_file本体核对(只看6000字摘要索引误判产出规模) ymq 2026-09-15 00:11:56 +08:00
  • 7f3ce26295 fix(agent): 任务族工具被capability路由劫持FAIL + LLM超时误判永久错误致任务链暂停 ymq 2026-09-14 20:20:12 +08:00
  • 1febcd3acb feat(sdlc): PM编排与主agent场景说明对齐新职责划分——模块划分requirement初划(八原则四张图)+design定稿,所有角色交付件必附复杂度评估,PM审核/派发必读评估段据此编排,缺失按退回意见要求补充 ymq 2026-09-14 17:11:29 +08:00
  • c32ceaa920 fix(rag_client): params读写列不一致致重复行——_load_cached_key按id查但写入id=getID()随机值,缓存永远miss→每次发key新增一行(实测user-01堆12行);ON DUPLICATE KEY UPDATE因params_name无唯一索引永不触发。修:读改按params_name+读-改-写幂等(存在则更新首行删多余行) ymq 2026-09-12 08:04:17 +08:00
  • 78c89a0cce feat(rag_client): 新增 rag_embed_texts 批量向量化通道——调 rag /api/embed.dspy,按10条分块,任一块失败整体失败带块号(挖掘批次状态机需可行动报错,禁部分成功静默丢数据) ymq 2026-09-11 22:12:58 +08:00
  • 1b1f8dfa52 feat(service): SDLC menus删旧「📁 项目」项——入口上移core agent_menus.dspy硬编码(新建/切换弹窗,所有产线通用),防重复出现两个项目按钮 ymq 2026-09-11 18:29:30 +08:00
  • 0964dd2864 fix(agent): 跨上游超时窗调参——主调用单次超时330s→180s(实测最长响应<60s留3倍余量,失败快速返回);会话级重试2→3次+退避15s(3×180+2×15≈9.5分钟跨度可跨分钟级超时窗);llm_call_msgs_native补timeout参数透传_http_chat;回退文本路径同接180s ymq 2026-09-11 16:39:50 +08:00
  • 458736d71e fix(agent): 续跑门禁——已有工作推进(tool_call_count>0)时纯文本短回复(<400字)视为中途意图句而非最终答案,注入续跑指令继续循环(上限2次防死循环);根治商机产线实测连续4会话在7~11次工具调用后模型输出意图句提前结束turn→循环误判终止→报告/总结从未产出 ymq 2026-09-11 16:18:58 +08:00
  • 5c063ca588 feat(bridge): session_id会话粘性透传(2026-09-11用户定夺:同会话固定账号省上游缓存钱,跨会话轮询)——llm_bridge四函数(llm_call/llm_call_msgs/llm_call_msgs_native/llm_infer)加session_id参数经payload._session_id透传(不进token缓存键);agent_loop_v2七处调用点接self.session_id(主循环native+降级重试+文本回退/技能选择/项目匹配/历史摘要/invoke_model);agent_loop v1四处任务循环用task:{task_id}做粘性键(任务内30轮同前缀);platform_model_tools.tool_invoke_model透传 ymq 2026-09-11 15:30:30 +08:00
  • 58853de72d fix(bridge): project_id透传补全——proxy_chat_completion委托chat_inference带token绑定的project_id;bug_flow的PM确认调用带project_id落流水(配套pipeline-llm 427cd7c,2026-09-10遗留) ymq 2026-09-11 15:30:30 +08:00
  • 2e05029568 fix(agent): 会话健壮性三修——①收尾门禁(_WRAP_UP_RESERVE=3,轮次将尽注入立即收尾指令,根治长任务撞穿max_turns静默退出只给中间句);②utility调用(压缩摘要/技能选择)显式钉model+短超时60s快速失败走兜底(根治上游抖动窗口内连烧15分钟卡死整轮);③主调用会话级重试(瞬时Timeout/ClientError重试1次+透出进度,不再单次失败即终止会话丢整轮工作) ymq 2026-09-11 15:09:04 +08:00
  • 1faa1c1d2f fix(agent): 工具结果回填上限——result_cap.py(12000字符默认+params可调+显式截断告知+缩小范围指引);v2两处/v1一处回填点全接;根治商机产线实测:8次数据工具全文回填~78K token超context_limit→压缩摘要自身超时3连败→会话零产出(对照实验:同模型小上下文3.4s正常) ymq 2026-09-11 13:46:28 +08:00
  • 2c35abfdab feat(service): 产线流程裁剪机制层——pipeline_flow_plans表+flow_plan_capability(propose六项硬校验/confirm-reject CAS/plan_stage_enabled/create_sub_tasks PM拆解)+shared_ability聚合会话三工具(show_flow_template/propose_flow_plan/get_flow_plan);agent_loop _get_next_role跳段泛化(_skip_trimmed_roles线性链自动跳过被裁角色)+_pm_create_tasks extra_params(继承skip_generic_qc);capability_tools注册create_sub_tasks schema;init导出env.flow_plan_* ymq 2026-09-11 12:58:26 +08:00
  • 4d2b3aa848 feat(models): 孤儿表归籍——pipeline_agent_instances/agent_settings/project_agents 三表补models定义(此前m0002建表未进models,新库部署缺表);project_capability清除sd_conversations全部4处引用(死表,m0027 DROP);README表清单补归籍说明 ymq 2026-09-10 19:05:27 +08:00
  • cc63f8822c docs: README 补第二批能力对齐(五级工具作用域接线/patch_file/原生视觉多模态链) ymq 2026-09-10 18:53:49 +08:00
  • 7dda635c9a feat(agent): 五级作用域工具门禁接线+patch_file+原生视觉多模态 ymq 2026-09-10 18:36:54 +08:00
  • 057fbfc05c docs: README 补 Hermes 能力对齐四项(memory/manage_skill/后台进程/并行委派)实现说明 ymq 2026-09-10 17:43:34 +08:00
  • d8bc29de29 fix(agent): 撤销误带入的 llm_call project_id 参数(并行会话未完成改动) ymq 2026-09-10 17:27:06 +08:00
  • 1c04efe1be feat(agent): 会话agent四项Hermes能力对齐(记忆写入/技能管理/后台进程/并行委派) ymq 2026-09-10 17:09:45 +08:00
  • 736a2dd579 feat(human_task): 待办提供者注册表register_todo_provider——平台待办开放给外部模块注入(工单模块首用) ymq 2026-09-10 16:14:20 +08:00
  • b8a2aeadb7 fix(models): pipeline_conversations 孤儿表归籍本模块——补models定义(13列与活表逐列对齐,唯一写入方agent_loop_v2._save_turn)+README数据表登记;字段顺序含m0003补列session_id在尾;task_id/step_name/attachments/msg_type/org_id为预留列(活表395行实测零写入),保留定义与活表一致 ymq 2026-09-10 15:30:40 +08:00
  • 92cdafdd22 fix(ability): 项目/模型配置弹窗URL改/pipeline_core/**——三表页面迁归属(sdlc→core),旧路径/pipeline-sdlc/sd_projects与sd_project_role_models的index.ui随迁移删除,不改则弹窗404 ymq 2026-09-10 12:33:56 +08:00
  • ac82d2f32d fix(project): create_project默认project_type去SDLC语义(web_app→general)+补pipeline_id/default_model参数——pipeline_id必须与alloc_project_dir的space一致,此前目录按general建而pipeline_id走DB默认sdlc_general,工作空间解析space=pipeline_id错位;注:本函数当前无调用方(实建项目走agent_loop_v2._t_create_project与bidding直插),此修复为防御性,生效路径是m0018迁移改DB列默认值 ymq 2026-09-09 19:15:19 +08:00
  • 655d50bde8 feat(skill): 技能提议实时生效——写机构技能目录orgs/{org_id}/按scope覆盖global,机构间隔离 ymq 2026-09-08 23:59:24 +08:00
  • 84bef76401 feat(agent): 统一文件读取+联网检索+只读库查询+generic strict沙箱(对齐Hermes信息摄入能力) ymq 2026-09-08 23:13:06 +08:00
  • 0702640aba fix(gate): _gate_plan按(请求能力,模型能力)对规划门禁——显式t2i选中i2i或自动选型落到i2i且无媒体→t2i契约代码表判定;带媒体=真i2i走LLM层;修自动选型路径cap_req空不换算致LLM按i2i契约误拦(2026-09-08实测) ymq 2026-09-08 17:26:46 +08:00
  • 1fce2ceb03 fix(gate): 降级执行时完备性直接走代码表——LLM/模型技能层按模型自身i2i契约误判,实测拦截合法文生图任务(2026-09-08) ymq 2026-09-08 17:23:32 +08:00
  • 5bb22fe7df feat(gate): invoke_model完备性门禁接入能力降级换算——i2i/r2v模型无媒体输入时按t2i/t2v契约校验(否则i2i承接文生图被缺输入图误拦)(2026-09-08) ymq 2026-09-08 17:20:40 +08:00
  • d8bd88ced7 feat(ws): load_workspace注册generic_workspace_dir到ServerEnv供dspy调用(2026-09-08) ymq 2026-09-08 16:01:15 +08:00
  • e0efcfc7db feat(models): add 5 runtime table JSONs + pipeline_tasks retry_count/last_error ymq 2026-09-08 15:24:31 +08:00
  • 83d11772d5 feat(agent): 完备性判断改LLM裁决(2026-09-08用户定夺:判断归LLM,契约归数据,硬编码降级为兜底) ymq 2026-09-08 12:31:22 +08:00
  • ba65d586b1 feat(agent): 完备性硬门禁(2026-09-08用户定夺一C+二A) ymq 2026-09-08 11:58:39 +08:00
  • 25c9e7cdb3 fix(gateway): run_message空输入守卫——空/纯空白消息绝不进LLM(2026-09-07实测:空prompt致LLM幻觉delete_project要确认/直接run_command执行python3 heredoc非危险命令绕过确认门);入口拦截覆盖generic+全通道 ymq 2026-09-07 18:04:43 +08:00
  • bf6cb5b24a feat(agent): 平台模型调用能力——invoke_model/list_platform_models工具(v1角色agent+v2会话agent,唯一实现platform_model_tools);llm_bridge.llm_infer通用推理透传全能力payload+超时参数化;角色prompt加配图节(禁字符画,生成真图嵌正文)(2026-09-07用户需求) ymq 2026-09-07 17:31:29 +08:00
  • 763e84681f fix(gateway): 项目模型持久化加对话能力守卫——白名单取pipeline_llm.selection.CHAT_CAPS(未装兜底t2t/i2t/m2t),非对话模型选中即无效走回退链(2026-09-06用户定夺) ymq 2026-09-06 19:49:15 +08:00
  • 2f6b9396e1 feat(agent): _build_ctx注入session_id——能力handler会话级隔离键(extract规格锚定防跨会话串数据) ymq 2026-09-05 21:25:47 +08:00
  • 83c6d7aa5d docs: README 补通用会话产线隔离 7 层纵深防御说明 ymq 2026-09-05 19:51:57 +08:00
  • 874a14b6bb fix(isolation): session_search 通用会话只搜自身历史(与 _load_history 过滤对称) ymq 2026-09-05 15:29:44 +08:00
  • b93617feaf fix(isolation): 第7层泄漏——通用会话历史回放不过滤产线,跨产线对话进上下文 ymq 2026-09-05 15:27:00 +08:00
  • 5c28fed040 fix(isolation): 第6层泄漏——通用会话工作空间总根可枚举所有产线项目 ymq 2026-09-05 15:21:35 +08:00
  • b99fb4cc13 fix(isolation): 通用助手会话泄漏产线项目工具——5层修复 ymq 2026-09-05 12:43:33 +08:00
  • e88e0bfc37 feat(llm_bridge): llm_call/llm_call_msgs加timeout参数——_timeout经payload透传统一推理端点(提取等长任务超端点默认60秒) ymq 2026-09-05 10:24:55 +08:00
  • 03c79fe356 fix(rag-client): Authorization前缀被写入侧秘密扫描替换为***致401——运行时拼接 ymq 2026-09-04 19:49:39 +08:00
  • 8a627b34a1 fix(rag-client): dapi返回值类型加固(失败可能返回字符串) ymq 2026-09-04 19:36:13 +08:00
  • 8a9d0f8294 fix(llm_bridge): 修复purpose碰撞——3个调用函数补purpose参数并塞payload._purpose(上轮重构收敛时丢失,4处调用点传purpose='utility'会TypeError) ymq 2026-09-04 19:32:33 +08:00
  • 25db66aa61 fix(llm_bridge): 自调用Bearer前缀用拼接构造——字面量被脱敏工具替换成***致Authorization头无效(401同根因) ymq 2026-09-04 18:33:53 +08:00
  • f3f82dd448 refactor(llm): agent调用收敛到模型治理统一推理API——llm_bridge改HTTP自调用薄客户端(短期token+本进程端口),删旧llm表直查;llm_proxy委托chat_inference;gateway/agent_loop/bug_flow模型解析与缺省模型改走治理链/统一解析,清除写死模型名 ymq 2026-09-04 17:05:42 +08:00
  • 0aa632dd28 fix(kb-ingest): 待办置完成改用suggestion_id精确匹配(防同名文件误伤) ymq 2026-09-04 16:33:15 +08:00
  • ae3967c3b0 fix(rag-access): RC4加解密显式传key(对称约定)+会话agent通道挂检索工具(全产线共享) ymq 2026-09-04 16:12:17 +08:00
  • 21c8c16daa feat(rag-access): 产线接入知识库——全角色按项目owner权限检索(rag_search/rag_kb_list)+PM建议入库待办闭环+统一API模式 ymq 2026-09-04 15:57:41 +08:00
  • 83ce9c820c feat: list_tasks图标补qc_rejected/cancelled ymq 2026-09-03 17:31:37 +08:00
  • 03473e8fbb feat: task_io_render 共享渲染——md交付件MdWidget渲染+下载链接,office/pdf下载链接(全产线统一) ymq 2026-09-03 16:41:27 +08:00
  • 7596f76605 feat(ctx): _build_ctx补org_id——能力工具handler可取当前用户机构(供应商自动归属需要) ymq 2026-09-03 16:22:00 +08:00
  • 63d9e00a1e fix: 豁免分支先COMMIT认领再迁移——_claim_task的UPDATE未提交,另一连接更新同一行锁等待超时1205(实测豁免路径50秒卡死) ymq 2026-09-03 12:44:22 +08:00
  • ae78742479 feat: 通用QC/PM门禁声明式豁免——params.skip_generic_qc任务交付直接approved(qc_review_run/pm_review_run兜底放行存量卡住任务) ymq 2026-09-03 12:28:12 +08:00
  • 9d40816fac fix: get_session_project_id产线不匹配不再删除项目指针 ymq 2026-09-02 19:01:18 +08:00
  • 19c7d05105 fix: load_skill支持file_path子文件加载 ymq 2026-09-02 17:56:10 +08:00
  • 20471a1fda refactor: platform_ability迁出到独立模块pipeline-platform ymq 2026-09-02 15:26:18 +08:00
  • 75cfd52c21 feat(platform_ability): 平台内部agent能力包 ymq 2026-09-02 15:07:23 +08:00
  • 0ef3dec4db feat: create_task加产线角色守卫(角色必须属当前产线角色集否则拒绝+返回可用角色清单); 新增list_roles共享工具(各产线自动继承); 工具描述去掉硬编码开发角色名——根治投标产线PM用requirement/design/develop建章节任务的死循环(2026-09-02) ymq 2026-09-02 12:00:39 +08:00
  • 77477c6caf fix: 项目输出文件必须落项目空间——项目名缺失时project_dir用project_id兜底,不再落到产线空间根/复盘报告落projects/根 ymq 2026-09-02 11:46:07 +08:00
  • ae213b2f91 fix(零消耗): paused项目两个tokens漏点 ymq 2026-09-02 11:07:39 +08:00
  • 36537b3297 feat: 删除/停止/归档项目后清空项目全部待办——新增_clear_project_todos(human_tasks三条关联链+agent_questions),接入pause/archive/delete三操作 ymq 2026-09-01 18:01:21 +08:00
  • 6953a27937 feat(llm-govern): llm_bridge/llm_proxy 挂治理钩子——门禁前置解析+成功/失败结算 ymq 2026-09-01 17:27:51 +08:00