diff --git a/README.md b/README.md index 38170e5..091e57b 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,41 @@ bid_chapter_status / bid_review_scope / bid_kb_doc_type / bid_doc_status)。 ⚠️ RBAC 铁律:`/api/` 前缀不覆盖具体 dspy,**新 API 必须逐条显式注册**(scripts/load_path.py), 否则 403;注册后 redis db0 FLUSHDB 即生效。 +## 流程修订 / 定向重做(2026-09-17,引擎通用机制 + 投标钩子) + +用户裁定:**用户有权调整流程,并要求从流程的任何一步按照意见重做;或者干脆只给意见, +由 LLM 判定从哪个节点注入**。 + +- 引擎层(pipeline-service flow_plan_capability,产线无关): + - `revise_flow_plan`:对已 confirmed 计划提修订版(v+1 → pending_confirm;确认前旧计划 + 持续生效无空窗;确认时 CAS 换版旧版 superseded + 回调产线钩子执行阶段重置)。 + 可改裁剪(trim_keys)和/或定向重做(reentry_stage)。 + - `detect_reentry_stage`:用户只给意见时 LLM 判注入点(意见+阶段声明+产线进度摘要 → + stage_key+confidence+evidence;对齐 detect_flow_template 判流先例;evidence 进确认 + 待办由用户核对,错判由确认门兜住;判不出诚实报错禁默认)。 + - `_affected_stage_keys`:注入阶段+deps 依赖闭包下游。 + - 会话工具 revise_flow_plan/detect_reentry_stage 进 FLOW_PLAN_TOOLS → shared_ability + → 三产线会话 agent 零改动继承。propose_flow_plan 遇已确认计划时的错误指引改指 revise。 + - pipeline_flow_plans 加列 reentry_stage/reentry_detect_note(m0039)。 +- 投标钩子(`pipeline_bidding/bid_stage_reentry.py`,经 PipelineAbility 三钩子字段注册): + - `bid_stage_reentry`:按注入阶段重置——分析维度清产出表+QC 记录(reqs_outline 连带毁 + 章节,确认待办如实预告);qc_analysis 单独注入只清五类 QC 记录(产出保留自动重派复审); + **tech 链重置(补技术方案场景)**=清 bid_tech_items 含 summary+tech QC 记录+技术章 + **置 pending 保正文**(⚠️ 删章则 A3 链激活条件 bool(_tech_chs) 不成立永不激活;正文 + 保留至模版确认时被新骨架整体替换)+作废模版确认待办+技术章在办编写任务清场 + (LIKE 走 ${kw}$ 参数绑定防 % 格式化坑)+标书 rejected+交付待办 cancelled → + A3 裁剪链重新激活:抽取→tech QC→PM 模版裁剪→用户确认骨架→技术章重写;商务/报价章 + 零接触;chapter_write 清正文全复位/chapter_review 复位 written 保正文;compose/score/ + delivery 标书+待办作废。统一收尾:affected 阶段角色在办任务取消(角色集运行时从阶段 + 声明取)+材料缺口 pending 记录 waived 防孤儿+审计落库。 + - `bid_reentry_describe`:影响说明(破坏性预告进确认待办,用户确认前看得到将清什么)。 + - `bid_progress_summary`:进度摘要(章节分布/标书版本/tech_items 含 summary 判定/ + QC 记录/在办待办——detect 的 LLM 上下文)。 +- 钩子失败不回滚计划确认(换版是用户裁决已生效)——诚实上报+抛人工待办。 +- E2E 实测(2026-09-18 测试机):合成项目防火墙全链断言过(v2 pending→confirm→v1 + superseded/钩子九项效果/审计);甘肃真实项目 detect 判 tech_analysis(high 置信度, + 依据=用户意见+进度「技术评估项0行、裁剪链未完成」)→修订确认待办已发。 + ## load 注册函数 宿主入口(pipeline_app.py)两步,缺一不可: