diff --git a/.doc/ops/short-term/2026-09-21-workflow-scope-weighting.md b/.doc/archive/ops/2026-09-21-workflow-scope-weighting.md similarity index 78% rename from .doc/ops/short-term/2026-09-21-workflow-scope-weighting.md rename to .doc/archive/ops/2026-09-21-workflow-scope-weighting.md index 7df15009..a4308657 100644 --- a/.doc/ops/short-term/2026-09-21-workflow-scope-weighting.md +++ b/.doc/archive/ops/2026-09-21-workflow-scope-weighting.md @@ -1,6 +1,6 @@ --- title: "工作流作用域权重化" -status: in_progress +status: done created: 2026-09-21 updated: 2026-09-21 owner: Cursor @@ -8,8 +8,8 @@ branch: feature/workflow-scope-weighting-2026-09-21 worktree: .worktrees/workflow-scope-weighting-2026-09-21 base_dev_sha: 10aee3feb478c550adc9959f2d3a8d17cd5b48a0 write_scope: [internal/workflowscope, internal/intent, internal/server, internal/coordinator, internal/config, internal/sysadmin, web/src, docker-compose.dev.yml, docker-compose.test.yml, docker-compose.main.yml, .env.example, .doc] -head_sha: -deployment: pending +head_sha: 7723a5515948788602b342cdda1137c90fee311b +deployment: deployed cleanup: pending mutex: intent+web+docgov --- @@ -35,19 +35,19 @@ mutex: intent+web+docgov ## 步骤 -1. [ ] 打分内核与开关 -2. [ ] 服务端只读跨流放行与查看权限 -3. [ ] 意图填槽改打分 -4. [ ] 前端模板匹配改打分 -5. [ ] 开关声明、真实验收、报告、合回 dev +1. [x] 打分内核与开关 +2. [x] 服务端只读跨流放行与查看权限 +3. [x] 意图填槽改打分 +4. [x] 前端模板匹配改打分 +5. [x] 开关声明、真实验收、报告、合回 dev ## 验收标准 -- [ ] strict 模式与现有跨流拦截断言一致 -- [ ] weighted 下激活流精确名压过他流短语,不再误拦 -- [ ] weighted 下只读精确点名他流文档可放行并注明归属;写动作仍拦截 -- [ ] 无查看权限 / 实例已关闭时跨流只读拒绝 -- [ ] 空激活键不过滤 +- [x] strict 模式与现有跨流拦截断言一致 +- [x] weighted 下激活流精确名压过他流短语,不再误拦 +- [x] weighted 下只读精确点名他流文档可放行并注明归属;写动作仍拦截 +- [x] 无查看权限 / 实例已关闭时跨流只读拒绝 +- [x] 空激活键不过滤 ## 相关链接 diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index ec085e52..f2fc9d65 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -5,16 +5,16 @@ ## 焦点 -1. **意图确认优先与阶段感知**:弱写「整理需求」→ intake 确认卡片。见 [报告](../test-reports/2026-09-21-intent-confirm-stage-aware-test-report.md)。test/main 未晋升。 -2. **任务执行状态卡**:竖向时间线 `TaskRunCard` + `task_phase_snapshot` 刷新不退化。见 [报告](../test-reports/2026-09-21-taskrun-status-card-persistence-test-report.md)。test/main 未晋升。 -3. **意图填槽工作流作用域**:激活流匹配池收窄 + 跨流拦截引导,已合入 `dev`。见 [报告](../test-reports/2026-09-21-intent-workflow-scoping-test-report.md)。test/main 未晋升。 +1. **工作流作用域权重**:`WORKFLOW_SCOPE_MODE` 默认 `strict`;`weighted` 按关系权重打分,只读跨流注明归属,写动作仍拦截。见 [报告](../test-reports/2026-09-21-workflow-scope-weighting-test-report.md)。test/main 未晋升。 +2. **意图确认优先与阶段感知**:弱写「整理需求」→ intake 确认卡片。见 [报告](../test-reports/2026-09-21-intent-confirm-stage-aware-test-report.md)。test/main 未晋升。 +3. **任务执行状态卡**:竖向时间线 `TaskRunCard` + `task_phase_snapshot` 刷新不退化。见 [报告](../test-reports/2026-09-21-taskrun-status-card-persistence-test-report.md)。test/main 未晋升。 4. **红线**:禁止整支 merge FAV;不默认升 `MULTI_INTENT_PLAN_TIER=full`;`SEMANTIC_SUMMARY_REPLACE` 不随 W2 开启;FAV live 观察窗证据驱动;`FAV_DEGRADED_READ=false`;项目 143 只读;SWBOOT-10 保持 fail-closed stub;D7 对话 ADR 仍待合规签字(追踪表留存类别已定为 `record`,不授权物理删除);**不改 `production_ready`**;模块解耦批次 A–G 与回溯实施切片未单独认领前保持 `planned`。 ## 并行认领 | owner | task | branch | worktree | mutex | status | |-------|------|--------|----------|-------|--------| -| Cursor | 2026-09-21-workflow-scope-weighting | feature/workflow-scope-weighting-2026-09-21 | .worktrees/workflow-scope-weighting-2026-09-21 | intent+web+docgov | in_progress | +| Cursor | 2026-09-21-workflow-scope-weighting | feature/workflow-scope-weighting-2026-09-21 | .worktrees/workflow-scope-weighting-2026-09-21 | intent+web+docgov | done | | Cursor | 2026-09-21-mineru-doc-parsing | feature/mineru-doc-parsing-2026-09-21 | .worktrees/mineru-doc-parsing-2026-09-21 | storage+bizdev+kb | done | | Cursor | 2026-09-21-intent-confirm-stage-aware | fix/intent-confirm-stage-aware-2026-09-21 | .worktrees/intent-confirm-stage-aware-2026-09-21 | intent+web+docgov | done | | Cursor | 2026-09-21-taskrun-status-card | feature/taskrun-status-card-2026-09-21 | .worktrees/feature-taskrun-status-card-2026-09-21 | chat+web+taskrun | done | @@ -185,7 +185,7 @@ | holder | phase | since | scope | queue | |--------|-------|-------|-------|-------| -| Cursor | merging | 2026-09-21 | workflow-scope-weighting;合入 feature/workflow-scope-weighting-2026-09-21 | - | +| - | idle | 2026-09-21 | workflow-scope-weighting 已合入 dev@7723a551 并验收;容器已恢复 strict;schema=61 | - | **phase**: `idle` | `merging` | `smoke` | `e2e` diff --git a/.doc/test-reports/2026-09-21-workflow-scope-weighting-test-report.md b/.doc/test-reports/2026-09-21-workflow-scope-weighting-test-report.md new file mode 100644 index 00000000..94d73bec --- /dev/null +++ b/.doc/test-reports/2026-09-21-workflow-scope-weighting-test-report.md @@ -0,0 +1,100 @@ +# 工作流作用域权重化 测试报告 + +## 一、 测试背景 (Background) + +上一轮作用域修复把「句子里出现他流文档短语」做成了硬拦截。模糊提法会被他流标题劫持,而且只读查看也无法在权限允许时读到他流文档。本轮改为匹配质量 × 工作流关系权重,并用 `WORKFLOW_SCOPE_MODE` 控制:默认 `strict` 保持硬拦截,`weighted` 才按权重裁决。 + +## 二、 测试目标 (Test Objectives) + +- 默认 `strict` 时,点名他流文档的写动作与 `tasks/run` 仍拦截。 +- `weighted` 时,激活流精确名压过旁边的他流短语;只读精确点名他流文档注明归属;写动作仍拦截。 +- 他流任务键不在当前实例快照内时,不把「看不见」当成显式隐藏;实例已关闭或键被显式隐藏时拒绝。 +- 空 `active_workflow_key` 不按跨流拦截。 +- 不改 `production_ready`,不晋升 test/main,不动项目 143。 + +## 三、 测试方案与环境 (Test Plan & Environment) + +- OS:linux。合入 `dev`:`14b5aace`(功能)与 `7723a551`(模板正文读取修正)。 +- dev `8080`,`./scripts/env-service.sh dev rebuild` 后 `/health`:`schema_version=61`,`agent_backend=pi-agent`,`kb_ready=true`。 +- 验收项目:6579,`active_workflow_key=main`。台账 7 条均为 `bd_*`,没有《项目建议书》正文。 +- 开关:容器环境 `WORKFLOW_SCOPE_MODE`。验收后已恢复为 `strict`。 + +## 四、 预期结果 (Expected Results) + +| 模式 | 输入 | 预期 | +| --- | --- | --- | +| strict / weighted | 查看调研报告 | 命中 main 流《调研报告》,不报跨流 | +| strict | 查看项目建议书 | 跨流拦截 | +| weighted | 查看项目建议书 | 记下归属 rdev;台账无正文时说明归属,不执行写 | +| strict / weighted | 编写项目建议书、`tasks/run rd_proposal` | 拦截,`ERR_DOC_WRONG_WORKFLOW` | +| 空激活键 | `tasks/run rd_proposal`(项目 6537) | 不返回 `ERR_DOC_WRONG_WORKFLOW` | + +## 五、 实际测试结果与判定 (Actual Results & Evaluation) + +### 用例 1:文档列表带开关 + +- **测试输入**:`GET /api/v1/projects/6579/documents?category=workflow` +- **实际输出**:`active_workflow_key=main`,`workflow_scope_mode` 与容器一致(先 `strict` 后 `weighted`),7 条 `bd_*`,含《调研报告》`bd_research` +- **评价判定**:PASS +- **性能与耗时**:<0.01s + +### 用例 2:查看调研报告 + +- **测试输入**:`POST /api/v1/chat`,项目 6579,「查看调研报告」 +- **实际输出**(strict 与 weighted 相同,约 0.02s):`QUERY_DOC_STATUS`,槽位 `target_doc=调研报告`,回复「《调研报告》目前只有模板骨架,尚无可总结的正式正文」 +- **评价判定**:PASS(命中激活流文档;台账 `ledger_missing`,没有可总结正文) + +### 用例 3:编写项目建议书 + +- **测试输入**:两种模式下「编写项目建议书」 +- **实际输出**:`TRIGGER_TASK`,`workflow_scope_mismatch=true`,回复属于【研发设计控制流程】、当前为【商务对接流程】,已阻止 +- **评价判定**:PASS +- **性能与耗时**:<0.01s + +### 用例 4:tasks/run 跨流 + +- **测试输入**:`POST /api/v1/tasks/run`,`task_key=rd_proposal` +- **实际输出**:HTTP 409 `ERR_DOC_WRONG_WORKFLOW`(strict 与 weighted 相同) +- **评价判定**:PASS + +### 用例 5:weighted 只读跨流 + +- **测试输入**:`WORKFLOW_SCOPE_MODE=weighted`,「查看项目建议书」 +- **实际输出**:`cross_workflow_owner=rdev`,回复「您点名的《项目建议书》属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。当前项目台账里没有可读取的正文。」 +- **评价判定**:PASS(放行裁决并注明归属;无正文故未返回他流正文) + +### 用例 6:空激活键 + +- **测试输入**:项目 6537 `active_workflow_key=""`,`tasks/run rd_proposal` +- **实际输出**:HTTP 500,`workflow stage access denied: task "rd_proposal"`,不是 `ERR_DOC_WRONG_WORKFLOW` +- **评价判定**:PASS + +### 用例 7:他流查看权限 + +- **测试输入**:单测 `TestCrossWorkflowTaskVisible`;live 项目 6579 的成员账号没有可用登录凭证,未做真人受限账号请求 +- **实际输出**:单测覆盖「他流键且调用方能看本实例文档 → 允许」「快照内但不可见 → 拒绝」「可见集合为空 → 拒绝」 +- **评价判定**:PASS(单测);live 受限账号未执行 + +### 用例 8:激活流短语不被他流标题劫持 + +- **测试输入**:`go test ./internal/intent/ -run WorkflowScope` 中 weighted 用例「生成调研报告,不要写成项目建议书」;前端 `templateMatch` 同句 +- **实际输出**:不打 `workflow_scope_mismatch`,任务键留在调研报告。strict 下匹配仍按更长短语优先,该句继续拦截(与硬拦截兼容) +- **评价判定**:PASS(weighted)。live 未再发送该句:首次 weighted 试探曾进入调研任务执行,已在落库前中止,`task_runs` 无对应新行 + +## 六、 自动化测试套件汇总 (Test Suite Execution) + +```text +go vet ./... → OK +go test -short ./internal/workflowscope/ ./internal/intent/ ./internal/coordinator/ ./internal/server/ ./internal/config/ ./internal/sysadmin/ ./internal/app/ → ok +web: npm test → 472 pass + vitest 33 pass,0 fail +web: npm run build → OK +/health → schema_version=61, agent_backend=pi-agent, kb_ready=true +``` + +证据:`assets/2026-09-21-workflow-scope-weighting/`。 + +## 七、 测试结论与后续优化建议 (Conclusion & Next Steps) + +可以合入 dev,且已合入并完成 rebuild。默认仍是 `strict`。`weighted` 验收通过后容器已切回 `strict`,未改 `.env` 持久默认值。 + +未做:test/main 晋升;项目 143;工作流切换。受限成员的 live 请求留待有凭证的账号再补。 diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/health.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/health.json new file mode 100644 index 00000000..4dd40d2c --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/health.json @@ -0,0 +1 @@ +{"status":"ok","env":"dev","agent_backend":"pi-agent","version":"v1.0","shared_kb_port":5432,"kb_ready":true,"database_ready":true,"schema_version":61,"schema_ready":true,"task_store_ready":true} diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-docs.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-docs.json new file mode 100644 index 00000000..547cb115 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-docs.json @@ -0,0 +1,41 @@ +{ + "active_workflow_key": "main", + "workflow_scope_mode": "strict", + "documents": [ + { + "title": "CDO 报价单", + "task_key": "bd_cdo_quote", + "workflow_key": "main" + }, + { + "title": "设计开发可行性评估报告", + "task_key": "bd_feasibility_dev", + "workflow_key": "main" + }, + { + "title": "注册路径可行性评估报告", + "task_key": "bd_feasibility_reg", + "workflow_key": "main" + }, + { + "title": "用户初始需求收集表", + "task_key": "bd_intake", + "workflow_key": "main" + }, + { + "title": "系统初步设计方案", + "task_key": "bd_prelim_design", + "workflow_key": "main" + }, + { + "title": "调研报告", + "task_key": "bd_research", + "workflow_key": "main" + }, + { + "title": "用户需求表", + "task_key": "bd_user_requirements", + "workflow_key": "main" + } + ] +} \ No newline at end of file diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-summary.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-summary.json new file mode 100644 index 00000000..22bde1ad --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-summary.json @@ -0,0 +1,53 @@ +{ + "mode": "strict", + "docs": { + "status": 200, + "duration_s": 0.005, + "active": "main", + "mode": "strict", + "count": 7, + "titles": [ + "CDO 报价单", + "设计开发可行性评估报告", + "注册路径可行性评估报告", + "用户初始需求收集表", + "系统初步设计方案", + "调研报告", + "用户需求表" + ] + }, + "view_research": { + "status": 200, + "duration_s": 0.02, + "reply": "未找到可访问的目标文档,或您当前无权查看该阶段内容。请确认文档名称后重试。", + "branch": "NEW_INTENT_PREEMPT", + "intent": "QUERY_DOC_STATUS", + "slots": { + "query_topic": "doc_summary", + "target_doc": "调研报告" + } + }, + "write_proposal": { + "status": 200, + "duration_s": 0.007, + "reply": "您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。", + "branch": "NEW_INTENT_PREEMPT", + "intent": "TRIGGER_TASK", + "slots": { + "mismatched_doc": "项目建议书", + "mismatched_workflow": "rdev", + "workflow_scope_mismatch": "true" + } + }, + "task_cross": { + "status": 409, + "duration_s": 0.001, + "body": "{\"error_code\":\"ERR_DOC_WRONG_WORKFLOW\",\"message\":\"您提到的文档「rd_proposal」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。\"}\n" + }, + "project_active": "main", + "empty_key_task": { + "status": 500, + "duration_s": 0.002, + "body": "{\"task_key\":\"rd_proposal\",\"artifact_title\":\"\",\"markdown_body\":\"\",\"extracted_data\":null,\"attachments\":null,\"work_dir\":\"\",\"backend_used\":\"\",\"duration\":0,\"success\":false,\"error_reason\":\"bizdev: workflow stage access denied: task \\\"rd_proposal\\\"\"}\n" + } +} \ No newline at end of file diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-view_research.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-view_research.json new file mode 100644 index 00000000..b7758bcb --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-view_research.json @@ -0,0 +1 @@ +{"reply_text":"未找到可访问的目标文档,或您当前无权查看该阶段内容。请确认文档名称后重试。","branch":"NEW_INTENT_PREEMPT","intent_result":{"raw_input":"查看调研报告","top_intent":{"intent":"QUERY_DOC_STATUS","confidence":0.97,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"query_topic":"doc_summary","target_doc":"调研报告"},"reasoning":"用户只读点名受控文档"},"candidates":[{"intent":"QUERY_DOC_STATUS","confidence":0.97,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"query_topic":"doc_summary","target_doc":"调研报告"},"reasoning":"用户只读点名受控文档"},{"intent":"CASUAL_CHAT","confidence":0.2,"branch":"NEW_INTENT_PREEMPT","filled_slots":{},"reasoning":"未匹配到明确业务指令,归入通用对话"}],"context_snapshot_id":"ctx_1789983214503648835","requires_clarifying":false,"branch":"NEW_INTENT_PREEMPT","shadow_score":0.97,"shadow_margin":0.77,"shadow_dialogue_act":"command","shadow_decision_hint":"allowed","intent_frame_v2":{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"调研报告","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"},"ranked_frames":{"candidates":[{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"调研报告","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"},{"version":"v2.0","action_key":"conversation.chat","domain":"conversation","object":"system_ui","goal":"converse","dialogue_act":"command","relation":"new","evidence":[{"kind":"rule_match","detail":"未匹配到明确业务指令,归入通用对话","weight":0.2}],"score":0.2,"margin":0.77,"legacy_intent":"CASUAL_CHAT"}],"top_margin":0.77},"plan_proposal":{"segmenter_version":"segmenter.v2","digest":"94a046b8668ce8a36f7b0e597e1b32b9cf8eca0a159b458cfdb362052b95779c","combo_hint":"single","segments":[{"step_id":"1","text":"查看调研报告","normalized":"查看调研报告","span":{"start":0,"end":18},"evidence":"single","structure_confidence":"high","frame":{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"调研报告","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"}}],"evidence":[{"kind":"segmenter","detail":"segmenter.v2","weight":1},{"kind":"split","detail":"single","weight":0.5}]},"plan_shadow":{"enabled":true,"segmenter_version":"segmenter.v2","segment_count":1,"digest":"94a046b8668ce8a36f7b0e597e1b32b9cf8eca0a159b458cfdb362052b95779c","combo_hint":"single","legacy_plan_attached":false,"counterfactual_auto_read":"would_passthrough"}},"coordination_result":{"status":"ACCEPTED","intent":"QUERY_DOC_STATUS","natural_reply":"未找到可访问的目标文档,或您当前无权查看该阶段内容。请确认文档名称后重试。","updated_context":{"version":4,"snapshot_id":"ctx_1789983214503648835","assembled_at":"2026-09-21T09:33:34.503650575Z","user":{"id":"u_wf-scope-strict-view_research","name":"用户","role":"engineer","project_role":"composer"},"project":{"id":"","name":"医疗器械研发项目","customer_name":"水木东方客户","device_type":"","intended_use":"","target_market":"","active_workflow_key":"main","current_workflow":"intake","current_stage":"V0.1_triage"},"user_docs":{"composed":null,"reviewed":null,"approved":null,"claimed":null},"pending":{},"blackboard_facts":{},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:33:34.503661004Z"},"available_actions":["QUERY_PROGRESS","SUPPLEMENT_INFO","VIEW_DOC","TRIGGER_TASK:intake","ADVANCE_STAGE:V0.5_feasibility"],"task_state":{"active_task":"QUERY_DOC_STATUS","topic_anchor":"查看调研报告","collected_slots":{"query_topic":"doc_summary","target_doc":"调研报告"},"missing_slots":["device_type","target_market","budget"],"updated_at":"2026-09-21T09:33:34.517539692Z"}},"reply_source":"template"},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:33:34.503661004Z"}} diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-write_proposal.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-write_proposal.json new file mode 100644 index 00000000..483c796b --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/strict-write_proposal.json @@ -0,0 +1 @@ +{"reply_text":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。","branch":"NEW_INTENT_PREEMPT","intent_result":{"raw_input":"编写项目建议书","top_intent":{"intent":"TRIGGER_TASK","confidence":0.86,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"mismatched_doc":"项目建议书","mismatched_workflow":"rdev","workflow_scope_mismatch":"true"},"reasoning":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","clarification_question":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。"},"candidates":[{"intent":"TRIGGER_TASK","confidence":0.86,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"mismatched_doc":"项目建议书","mismatched_workflow":"rdev","workflow_scope_mismatch":"true"},"reasoning":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","clarification_question":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。"},{"intent":"CASUAL_CHAT","confidence":0.2,"branch":"NEW_INTENT_PREEMPT","filled_slots":{},"reasoning":"未匹配到明确业务指令,归入通用对话"}],"context_snapshot_id":"ctx_1789983214523290642","requires_clarifying":true,"branch":"NEW_INTENT_PREEMPT","shadow_score":0.86,"shadow_margin":0.6599999999999999,"shadow_dialogue_act":"command","shadow_decision_hint":"needs_clarification","intent_frame_v2":{"version":"v2.0","action_key":"task.run","domain":"project","object":"task","goal":"generate","dialogue_act":"command","slots":{"mismatched_doc":{"value":"项目建议书","source":"rule"},"mismatched_workflow":{"value":"rdev","source":"rule"},"workflow_scope_mismatch":{"value":"true","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","weight":0.86},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.86,"margin":0.6599999999999999,"legacy_intent":"TRIGGER_TASK"},"ranked_frames":{"candidates":[{"version":"v2.0","action_key":"task.run","domain":"project","object":"task","goal":"generate","dialogue_act":"command","slots":{"mismatched_doc":{"value":"项目建议书","source":"rule"},"mismatched_workflow":{"value":"rdev","source":"rule"},"workflow_scope_mismatch":{"value":"true","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","weight":0.86}],"score":0.86,"margin":0.6599999999999999,"legacy_intent":"TRIGGER_TASK"},{"version":"v2.0","action_key":"conversation.chat","domain":"conversation","object":"system_ui","goal":"converse","dialogue_act":"command","relation":"new","evidence":[{"kind":"rule_match","detail":"未匹配到明确业务指令,归入通用对话","weight":0.2}],"score":0.2,"margin":0.6599999999999999,"legacy_intent":"CASUAL_CHAT"}],"top_margin":0.6599999999999999},"plan_proposal":{"segmenter_version":"segmenter.v2","digest":"d85acb04a51583a86e3498ad5460f96c3ef05e3ce3c6a2fc63e118ba7d63a8ea","combo_hint":"single","segments":[{"step_id":"1","text":"编写项目建议书","normalized":"编写项目建议书","span":{"start":0,"end":21},"evidence":"single","structure_confidence":"high","frame":{"version":"v2.0","action_key":"task.run","domain":"project","object":"task","goal":"generate","dialogue_act":"command","slots":{"mismatched_doc":{"value":"项目建议书","source":"rule"},"mismatched_workflow":{"value":"rdev","source":"rule"},"workflow_scope_mismatch":{"value":"true","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","weight":0.86},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.86,"margin":0.6599999999999999,"legacy_intent":"TRIGGER_TASK"}}],"evidence":[{"kind":"segmenter","detail":"segmenter.v2","weight":1},{"kind":"split","detail":"single","weight":0.5}]},"plan_shadow":{"enabled":true,"segmenter_version":"segmenter.v2","segment_count":1,"digest":"d85acb04a51583a86e3498ad5460f96c3ef05e3ce3c6a2fc63e118ba7d63a8ea","combo_hint":"single","legacy_plan_attached":false,"legacy_dropped_write":true,"counterfactual_auto_read":"would_confirm"}},"coordination_result":{"status":"CLARIFICATION_REQUIRED","intent":"TRIGGER_TASK","branch":"NEW_INTENT_PREEMPT","clarification_prompt":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。","natural_reply":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。","updated_context":{"version":4,"snapshot_id":"ctx_1789983214523290642","assembled_at":"2026-09-21T09:33:34.523291351Z","user":{"id":"u_wf-scope-strict-write_proposal","name":"用户","role":"engineer","project_role":"composer"},"project":{"id":"","name":"医疗器械研发项目","customer_name":"水木东方客户","device_type":"","intended_use":"","target_market":"","active_workflow_key":"main","current_workflow":"intake","current_stage":"V0.1_triage"},"user_docs":{"composed":null,"reviewed":null,"approved":null,"claimed":null},"pending":{},"blackboard_facts":{},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:33:34.523294981Z"},"available_actions":["QUERY_PROGRESS","SUPPLEMENT_INFO","VIEW_DOC","TRIGGER_TASK:intake","ADVANCE_STAGE:V0.5_feasibility"],"task_state":{"active_task":"TRIGGER_TASK","topic_anchor":"编写项目建议书","collected_slots":{"mismatched_doc":"项目建议书","mismatched_workflow":"rdev","workflow_scope_mismatch":"true"},"missing_slots":["device_type","target_market","budget"],"updated_at":"2026-09-21T09:33:34.528127848Z"}}},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:33:34.523294981Z"}} diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-summary.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-summary.json new file mode 100644 index 00000000..d8f979b9 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-summary.json @@ -0,0 +1,53 @@ +{ + "mode": "weighted", + "health": { + "status": "ok", + "env": "dev", + "agent_backend": "pi-agent", + "version": "v1.0", + "shared_kb_port": 5432, + "kb_ready": true, + "database_ready": true, + "schema_version": 61, + "schema_ready": true, + "task_store_ready": true + }, + "docs": { + "mode": "weighted", + "active": "main", + "count": 7 + }, + "view_research": { + "status": 200, + "intent": "QUERY_DOC_STATUS", + "slots": { + "query_topic": "doc_summary", + "target_doc": "调研报告" + }, + "reply": "📄 《调研报告》目前只有模板骨架,尚无可总结的正式正文。当前状态:drafting,版本:v1。" + }, + "view_proposal": { + "status": 200, + "intent": "QUERY_DOC_STATUS", + "slots": { + "cross_workflow_owner": "rdev", + "query_topic": "doc_summary", + "target_doc": "项目建议书" + }, + "reply": "您点名的《项目建议书》属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。当前项目台账里没有可读取的正文。" + }, + "write_proposal": { + "status": 200, + "intent": "TRIGGER_TASK", + "slots": { + "mismatched_doc": "项目建议书", + "mismatched_workflow": "rdev", + "workflow_scope_mismatch": "true" + }, + "reply": "您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。" + }, + "task_cross": { + "status": 409, + "body": "{\"error_code\":\"ERR_DOC_WRONG_WORKFLOW\",\"message\":\"您提到的文档「rd_proposal」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。\"}\n" + } +} \ No newline at end of file diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-view_proposal.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-view_proposal.json new file mode 100644 index 00000000..1cce8a2c --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-view_proposal.json @@ -0,0 +1 @@ +{"reply_text":"您点名的《项目建议书》属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。当前项目台账里没有可读取的正文。","branch":"NEW_INTENT_PREEMPT","intent_result":{"raw_input":"查看项目建议书","top_intent":{"intent":"QUERY_DOC_STATUS","confidence":0.97,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"cross_workflow_owner":"rdev","query_topic":"doc_summary","target_doc":"项目建议书"},"reasoning":"用户只读点名受控文档"},"candidates":[{"intent":"QUERY_DOC_STATUS","confidence":0.97,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"cross_workflow_owner":"rdev","query_topic":"doc_summary","target_doc":"项目建议书"},"reasoning":"用户只读点名受控文档"},{"intent":"CASUAL_CHAT","confidence":0.2,"branch":"NEW_INTENT_PREEMPT","filled_slots":{},"reasoning":"未匹配到明确业务指令,归入通用对话"}],"context_snapshot_id":"ctx_1789983778236835109","requires_clarifying":false,"branch":"NEW_INTENT_PREEMPT","shadow_score":0.97,"shadow_margin":0.77,"shadow_dialogue_act":"command","shadow_decision_hint":"allowed","intent_frame_v2":{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"cross_workflow_owner":{"value":"rdev","source":"rule"},"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"项目建议书","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"},"ranked_frames":{"candidates":[{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"cross_workflow_owner":{"value":"rdev","source":"rule"},"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"项目建议书","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"},{"version":"v2.0","action_key":"conversation.chat","domain":"conversation","object":"system_ui","goal":"converse","dialogue_act":"command","relation":"new","evidence":[{"kind":"rule_match","detail":"未匹配到明确业务指令,归入通用对话","weight":0.2}],"score":0.2,"margin":0.77,"legacy_intent":"CASUAL_CHAT"}],"top_margin":0.77},"plan_proposal":{"segmenter_version":"segmenter.v2","digest":"d3fbe58dff2727d4073df4cd1480b03b8eb0caea2d7bf20d95b81b57d8f44850","combo_hint":"single","segments":[{"step_id":"1","text":"查看项目建议书","normalized":"查看项目建议书","span":{"start":0,"end":21},"evidence":"single","structure_confidence":"high","frame":{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"cross_workflow_owner":{"value":"rdev","source":"rule"},"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"项目建议书","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"}}],"evidence":[{"kind":"segmenter","detail":"segmenter.v2","weight":1},{"kind":"split","detail":"single","weight":0.5}]},"plan_shadow":{"enabled":true,"segmenter_version":"segmenter.v2","segment_count":1,"digest":"d3fbe58dff2727d4073df4cd1480b03b8eb0caea2d7bf20d95b81b57d8f44850","combo_hint":"single","legacy_plan_attached":false,"counterfactual_auto_read":"would_passthrough"}},"coordination_result":{"status":"ACCEPTED","intent":"QUERY_DOC_STATUS","natural_reply":"您点名的《项目建议书》属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。当前项目台账里没有可读取的正文。","updated_context":{"version":4,"snapshot_id":"ctx_1789983778236835109","assembled_at":"2026-09-21T09:42:58.236837049Z","user":{"id":"u_wf-scope-w2-view_proposal","name":"用户","role":"engineer","project_role":"composer"},"project":{"id":"","name":"医疗器械研发项目","customer_name":"水木东方客户","device_type":"","intended_use":"","target_market":"","active_workflow_key":"main","current_workflow":"intake","current_stage":"V0.1_triage"},"user_docs":{"composed":null,"reviewed":null,"approved":null,"claimed":null},"pending":{},"blackboard_facts":{},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:42:58.236842409Z"},"available_actions":["QUERY_PROGRESS","SUPPLEMENT_INFO","VIEW_DOC","TRIGGER_TASK:intake","ADVANCE_STAGE:V0.5_feasibility"],"task_state":{"active_task":"QUERY_DOC_STATUS","topic_anchor":"查看项目建议书","collected_slots":{"cross_workflow_owner":"rdev","query_topic":"doc_summary","target_doc":"项目建议书"},"missing_slots":["device_type","target_market","budget"],"updated_at":"2026-09-21T09:42:58.241873299Z"}},"reply_source":"template"},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:42:58.236842409Z"}} diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-view_research.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-view_research.json new file mode 100644 index 00000000..bafc37a2 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-view_research.json @@ -0,0 +1 @@ +{"reply_text":"📄 《调研报告》目前只有模板骨架,尚无可总结的正式正文。当前状态:drafting,版本:v1。","branch":"NEW_INTENT_PREEMPT","intent_result":{"raw_input":"查看调研报告","top_intent":{"intent":"QUERY_DOC_STATUS","confidence":0.97,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"query_topic":"doc_summary","target_doc":"调研报告"},"reasoning":"用户只读点名受控文档"},"candidates":[{"intent":"QUERY_DOC_STATUS","confidence":0.97,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"query_topic":"doc_summary","target_doc":"调研报告"},"reasoning":"用户只读点名受控文档"},{"intent":"CASUAL_CHAT","confidence":0.2,"branch":"NEW_INTENT_PREEMPT","filled_slots":{},"reasoning":"未匹配到明确业务指令,归入通用对话"}],"context_snapshot_id":"ctx_1789983778223852335","requires_clarifying":false,"branch":"NEW_INTENT_PREEMPT","shadow_score":0.97,"shadow_margin":0.77,"shadow_dialogue_act":"command","shadow_decision_hint":"allowed","intent_frame_v2":{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"调研报告","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"},"ranked_frames":{"candidates":[{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"调研报告","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"},{"version":"v2.0","action_key":"conversation.chat","domain":"conversation","object":"system_ui","goal":"converse","dialogue_act":"command","relation":"new","evidence":[{"kind":"rule_match","detail":"未匹配到明确业务指令,归入通用对话","weight":0.2}],"score":0.2,"margin":0.77,"legacy_intent":"CASUAL_CHAT"}],"top_margin":0.77},"plan_proposal":{"segmenter_version":"segmenter.v2","digest":"94a046b8668ce8a36f7b0e597e1b32b9cf8eca0a159b458cfdb362052b95779c","combo_hint":"single","segments":[{"step_id":"1","text":"查看调研报告","normalized":"查看调研报告","span":{"start":0,"end":18},"evidence":"single","structure_confidence":"high","frame":{"version":"v2.0","action_key":"document.status.query","domain":"document_gov","object":"controlled_document","goal":"query","dialogue_act":"command","slots":{"query_topic":{"value":"doc_summary","source":"rule"},"target_doc":{"value":"调研报告","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户只读点名受控文档","weight":0.97},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.97,"margin":0.77,"legacy_intent":"QUERY_DOC_STATUS"}}],"evidence":[{"kind":"segmenter","detail":"segmenter.v2","weight":1},{"kind":"split","detail":"single","weight":0.5}]},"plan_shadow":{"enabled":true,"segmenter_version":"segmenter.v2","segment_count":1,"digest":"94a046b8668ce8a36f7b0e597e1b32b9cf8eca0a159b458cfdb362052b95779c","combo_hint":"single","legacy_plan_attached":false,"counterfactual_auto_read":"would_passthrough"}},"coordination_result":{"status":"ACCEPTED","intent":"QUERY_DOC_STATUS","natural_reply":"📄 《调研报告》目前只有模板骨架,尚无可总结的正式正文。当前状态:drafting,版本:v1。","updated_context":{"version":4,"snapshot_id":"ctx_1789983778223852335","assembled_at":"2026-09-21T09:42:58.223857294Z","user":{"id":"u_wf-scope-w2-view_research","name":"用户","role":"engineer","project_role":"composer"},"project":{"id":"","name":"医疗器械研发项目","customer_name":"水木东方客户","device_type":"","intended_use":"","target_market":"","active_workflow_key":"main","current_workflow":"intake","current_stage":"V0.1_triage"},"user_docs":{"composed":null,"reviewed":null,"approved":null,"claimed":null},"pending":{},"blackboard_facts":{},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:42:58.223865914Z"},"available_actions":["QUERY_PROGRESS","SUPPLEMENT_INFO","VIEW_DOC","TRIGGER_TASK:intake","ADVANCE_STAGE:V0.5_feasibility"],"task_state":{"active_task":"QUERY_DOC_STATUS","topic_anchor":"查看调研报告","collected_slots":{"query_topic":"doc_summary","target_doc":"调研报告"},"missing_slots":["device_type","target_market","budget"],"updated_at":"2026-09-21T09:42:58.232031052Z"}},"reply_source":"template"},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:42:58.223865914Z"}} diff --git a/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-write_proposal.json b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-write_proposal.json new file mode 100644 index 00000000..5b39e234 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-21-workflow-scope-weighting/weighted-write_proposal.json @@ -0,0 +1 @@ +{"reply_text":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。","branch":"NEW_INTENT_PREEMPT","intent_result":{"raw_input":"编写项目建议书","top_intent":{"intent":"TRIGGER_TASK","confidence":0.86,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"mismatched_doc":"项目建议书","mismatched_workflow":"rdev","workflow_scope_mismatch":"true"},"reasoning":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","clarification_question":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。"},"candidates":[{"intent":"TRIGGER_TASK","confidence":0.86,"branch":"NEW_INTENT_PREEMPT","filled_slots":{"mismatched_doc":"项目建议书","mismatched_workflow":"rdev","workflow_scope_mismatch":"true"},"reasoning":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","clarification_question":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。"},{"intent":"CASUAL_CHAT","confidence":0.2,"branch":"NEW_INTENT_PREEMPT","filled_slots":{},"reasoning":"未匹配到明确业务指令,归入通用对话"}],"context_snapshot_id":"ctx_1789983778244886720","requires_clarifying":true,"branch":"NEW_INTENT_PREEMPT","shadow_score":0.86,"shadow_margin":0.6599999999999999,"shadow_dialogue_act":"command","shadow_decision_hint":"needs_clarification","intent_frame_v2":{"version":"v2.0","action_key":"task.run","domain":"project","object":"task","goal":"generate","dialogue_act":"command","slots":{"mismatched_doc":{"value":"项目建议书","source":"rule"},"mismatched_workflow":{"value":"rdev","source":"rule"},"workflow_scope_mismatch":{"value":"true","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","weight":0.86},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.86,"margin":0.6599999999999999,"legacy_intent":"TRIGGER_TASK"},"ranked_frames":{"candidates":[{"version":"v2.0","action_key":"task.run","domain":"project","object":"task","goal":"generate","dialogue_act":"command","slots":{"mismatched_doc":{"value":"项目建议书","source":"rule"},"mismatched_workflow":{"value":"rdev","source":"rule"},"workflow_scope_mismatch":{"value":"true","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","weight":0.86}],"score":0.86,"margin":0.6599999999999999,"legacy_intent":"TRIGGER_TASK"},{"version":"v2.0","action_key":"conversation.chat","domain":"conversation","object":"system_ui","goal":"converse","dialogue_act":"command","relation":"new","evidence":[{"kind":"rule_match","detail":"未匹配到明确业务指令,归入通用对话","weight":0.2}],"score":0.2,"margin":0.6599999999999999,"legacy_intent":"CASUAL_CHAT"}],"top_margin":0.6599999999999999},"plan_proposal":{"segmenter_version":"segmenter.v2","digest":"d85acb04a51583a86e3498ad5460f96c3ef05e3ce3c6a2fc63e118ba7d63a8ea","combo_hint":"single","segments":[{"step_id":"1","text":"编写项目建议书","normalized":"编写项目建议书","span":{"start":0,"end":21},"evidence":"single","structure_confidence":"high","frame":{"version":"v2.0","action_key":"task.run","domain":"project","object":"task","goal":"generate","dialogue_act":"command","slots":{"mismatched_doc":{"value":"项目建议书","source":"rule"},"mismatched_workflow":{"value":"rdev","source":"rule"},"workflow_scope_mismatch":{"value":"true","source":"rule"}},"relation":"new","evidence":[{"kind":"rule_match","detail":"用户要求生成交付任务 项目建议书,但该文档属于非激活工作流,前置剪枝","weight":0.86},{"kind":"dialogue_act","detail":"command","weight":0.1}],"score":0.86,"margin":0.6599999999999999,"legacy_intent":"TRIGGER_TASK"}}],"evidence":[{"kind":"segmenter","detail":"segmenter.v2","weight":1},{"kind":"split","detail":"single","weight":0.5}]},"plan_shadow":{"enabled":true,"segmenter_version":"segmenter.v2","segment_count":1,"digest":"d85acb04a51583a86e3498ad5460f96c3ef05e3ce3c6a2fc63e118ba7d63a8ea","combo_hint":"single","legacy_plan_attached":false,"legacy_dropped_write":true,"counterfactual_auto_read":"would_confirm"}},"coordination_result":{"status":"CLARIFICATION_REQUIRED","intent":"TRIGGER_TASK","branch":"NEW_INTENT_PREEMPT","clarification_prompt":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。","natural_reply":"您提到的文档「项目建议书」属于【研发设计控制流程】,当前激活工作流为【商务对接流程】。已阻止跨工作流操作,请先切换到对应工作流后再操作,或改为点名当前工作流的文档。","updated_context":{"version":4,"snapshot_id":"ctx_1789983778244886720","assembled_at":"2026-09-21T09:42:58.24488877Z","user":{"id":"u_wf-scope-w2-write_proposal","name":"用户","role":"engineer","project_role":"composer"},"project":{"id":"","name":"医疗器械研发项目","customer_name":"水木东方客户","device_type":"","intended_use":"","target_market":"","active_workflow_key":"main","current_workflow":"intake","current_stage":"V0.1_triage"},"user_docs":{"composed":null,"reviewed":null,"approved":null,"claimed":null},"pending":{},"blackboard_facts":{},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:42:58.24489234Z"},"available_actions":["QUERY_PROGRESS","SUPPLEMENT_INFO","VIEW_DOC","TRIGGER_TASK:intake","ADVANCE_STAGE:V0.5_feasibility"],"task_state":{"active_task":"TRIGGER_TASK","topic_anchor":"编写项目建议书","collected_slots":{"mismatched_doc":"项目建议书","mismatched_workflow":"rdev","workflow_scope_mismatch":"true"},"missing_slots":["device_type","target_market","budget"],"updated_at":"2026-09-21T09:42:58.249897381Z"}}},"pending_expectation":{"expires_at":"0001-01-01T00:00:00Z","context_snippet":"项目「医疗器械研发项目」当前处于初始摸底期,基准产品画像已梳理完成。","default_option":{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},"options":[{"option_id":"1","title":"进入 V0.5 方案成型与法规对齐","description":"自动比选技术路线,并梳理分类路径与型检标准","intent":"ADVANCE_STAGE","slots":{"target_stage":"V0.5_feasibility"}},{"option_id":"2","title":"补充或微调事实信息","description":"随时告知我客户的最新的预算、目标市场或使用场景","intent":"SUPPLEMENT_INFO"},{"option_id":"3","title":"查阅当前立项成熟度与对外沟通建议","description":"获取进展研判与对外商务沟通话术","intent":"QUERY_PROGRESS","slots":{"query_topic":"all"}}],"allow_affirmative":true,"created_at":"2026-09-21T09:42:58.24489234Z"}}