diff --git a/.doc/ops/CURRENT.md b/.doc/ops/CURRENT.md index 6a1c19a5..5486ab78 100644 --- a/.doc/ops/CURRENT.md +++ b/.doc/ops/CURRENT.md @@ -5,7 +5,7 @@ ## 焦点 -1. **MULTI-INTENT HITL**:U1 契约冻结进行中([设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[U1](./short-term/2026-09-15-multi-intent-u1-contracts.md);[总览](./short-term/2026-09-15-multi-intent-hitl.md)) +1. **MULTI-INTENT HITL**:U1 契约已冻结([U1 报告](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md);[U1 任务](./short-term/2026-09-15-multi-intent-u1-contracts.md));U2 规则分段未开工 2. **发布门禁**:CI `TEST_DATABASE_URL`、真实 PI 三工作流 E2E、前端人工抽检仍开放([gap-matrix](../remediation/gap-matrix.md)) 3. **CHAT-INTENT**:双标签 busy 已签(项目 **6275**);不删 `sess-p143-u9`;项目 143 只读 @@ -13,7 +13,7 @@ | owner | task | branch | worktree | mutex | status | |-------|------|--------|----------|-------|--------| -| Cursor | 2026-09-15-multi-intent-u1-contracts | feature/multi-intent-u1-contracts | - | architecture-docs | in_progress | +| Cursor | 2026-09-15-multi-intent-u1-contracts | feature/multi-intent-u1-contracts | - | architecture-docs | done | | Cursor | app-composition-u11-u12 | feature/app-composition-u11-u12 | - | app | done | | Cursor | chatlog-contextasm-u10 | feature/chatlog-contextasm-u10 | - | chat | done | | Cursor | chat-history-refresh-remediation | fix/chat-history-refresh | - | chat | done | @@ -119,6 +119,7 @@ | Phase 2 方案审阅 | [../audit/2026-09-15-module-decoupling-phase2-plan-review.md](../audit/2026-09-15-module-decoupling-phase2-plan-review.md) | | Phase 2 修订计划 | [../remediation/2026-09-15-module-decoupling-ipc-phase2-remediation-plan.md](../remediation/2026-09-15-module-decoupling-ipc-phase2-remediation-plan.md) | | 多意图 HITL 复核方案 | [../system-design/2026-09-15-multi-intent-hitl-plan.md](../system-design/2026-09-15-multi-intent-hitl-plan.md) | +| 多意图 HITL U1 契约 | [../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md) | | 文档可靠性 M1 报告 | [../test-reports/2026-09-14-document-reliability-pilot-test-report.md](../test-reports/2026-09-14-document-reliability-pilot-test-report.md) | | 文档可靠性 M1 活验 | [../test-reports/2026-09-14-document-reliability-pilot-live-test-report.md](../test-reports/2026-09-14-document-reliability-pilot-live-test-report.md) | | 文档可靠性 M2 | [../test-reports/2026-09-14-document-reliability-m2-test-report.md](../test-reports/2026-09-14-document-reliability-m2-test-report.md) | diff --git a/.doc/ops/checklists/2026-09-15-multi-intent-u1-contracts.md b/.doc/ops/checklists/2026-09-15-multi-intent-u1-contracts.md index 1560f682..2bcfafd5 100644 --- a/.doc/ops/checklists/2026-09-15-multi-intent-u1-contracts.md +++ b/.doc/ops/checklists/2026-09-15-multi-intent-u1-contracts.md @@ -1,6 +1,6 @@ --- title: "多意图 HITL U1 契约冻结 checklist" -status: in_progress +status: done created: 2026-09-15 updated: 2026-09-15 related_task: "2026-09-15-multi-intent-u1-contracts" @@ -10,13 +10,13 @@ related_task: "2026-09-15-multi-intent-u1-contracts" ## Wave 0 -- [ ] YAML `app/intentflow` allowlist + 三表 owner + unwrap_owners — 证据:`.doc/system-design/module-boundaries.yaml` -- [ ] 三条 `intent.plan.*` YAML ↔ StaticContracts parity — 证据:`go test ./internal/events -run RegistryParity` -- [ ] archtest 扫描 `intent.plan.*` — 证据:`go test ./internal/archtest` -- [ ] intentflow 状态/错误码/Service/政策/legacy tier — 证据:`go test ./internal/app/intentflow` -- [ ] CSRF/Bearer 结论落盘 — 证据:U1 short-term -- [ ] `go test -short ./...` — 证据:U1 test-report +- [x] YAML `app/intentflow` allowlist + 三表 owner + unwrap_owners — 证据:`.doc/system-design/module-boundaries.yaml` +- [x] 三条 `intent.plan.*` YAML ↔ StaticContracts parity — 证据:`go test ./internal/events -run RegistryParity` +- [x] archtest 扫描 `intent.plan.*` — 证据:`go test ./internal/archtest` +- [x] intentflow 状态/错误码/Service/政策/legacy tier — 证据:`go test ./internal/app/intentflow` +- [x] CSRF/Bearer 结论落盘 — 证据:U1 short-term +- [x] `go test -short ./...` — 证据:[U1 报告](../../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md) ## 完成定义 -- [ ] 全部勾选且有证据链接 +- [x] 全部勾选且有证据链接 diff --git a/.doc/ops/short-term/2026-09-15-multi-intent-hitl.md b/.doc/ops/short-term/2026-09-15-multi-intent-hitl.md index 6cfeca4e..fca7da0d 100644 --- a/.doc/ops/short-term/2026-09-15-multi-intent-hitl.md +++ b/.doc/ops/short-term/2026-09-15-multi-intent-hitl.md @@ -3,10 +3,10 @@ title: "多意图持久计划与 HITL(核心 U1–U8,扩面 U9–U12)" status: in_progress created: 2026-09-15 updated: 2026-09-15 -owner: Cursor(U1);其余单元待认领 -branch: feature/multi-intent-u1-contracts +owner: "-(U1 已完成;U2 待认领)" +branch: "-" worktree: "-" -mutex: architecture-docs +mutex: "-" --- # 多意图持久计划与 HITL(核心 U1–U8,扩面 U9–U12) @@ -51,7 +51,7 @@ mutex: architecture-docs ## 步骤 -1. [ ] U1 冻结边界、状态机、批量策略、错误码、事件和默认 legacy tier([独立任务](./2026-09-15-multi-intent-u1-contracts.md)); +1. [x] U1 冻结边界、状态机、批量策略、错误码、事件和默认 legacy tier([独立任务](./2026-09-15-multi-intent-u1-contracts.md);[报告](../../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md)); 2. [ ] U2 characterization-first 建 golden/hard-negative 与 shadow 基线; 3. [ ] U3 建 intentflow owner、PG schema、CAS/lease/fencing/retention; 4. [ ] U4 接 Track E outbox/dispatcher,只投影状态事实; @@ -92,12 +92,12 @@ mutex: architecture-docs ## 相关链接 -- Checklist: U1 实施时建立逐波 checklist +- Checklist: [U1](../checklists/2026-09-15-multi-intent-u1-contracts.md) - Handoff: 每个 U-ID 独立建立 -- Test report: 每个 U-ID 独立归档 `.doc/test-reports/` +- Test report: [U1](../../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md) ## 证据 / 备注 - 当前 `plan_builder.go` 最多两段且写意图返回 nil;`action_planner.go` 的确认仍是文字提示。 - 当前 `module-boundaries.yaml` 中 intent 仅依赖 maturity;Track E live,FAV off。 -- 本次只修订方案与任务文档,不实施、不提交、不推送。 +- U1 已冻结 intentflow 契约、事件与 BatchActionPolicy,默认 `MULTI_INTENT_PLAN_TIER=legacy`。 diff --git a/.doc/ops/short-term/2026-09-15-multi-intent-u1-contracts.md b/.doc/ops/short-term/2026-09-15-multi-intent-u1-contracts.md index 4a34a750..b57cf7ef 100644 --- a/.doc/ops/short-term/2026-09-15-multi-intent-u1-contracts.md +++ b/.doc/ops/short-term/2026-09-15-multi-intent-u1-contracts.md @@ -1,6 +1,6 @@ --- title: "多意图 HITL U1:契约冻结" -status: in_progress +status: done created: 2026-09-15 updated: 2026-09-15 owner: Cursor @@ -48,17 +48,17 @@ mutex: architecture-docs ## 步骤 1. [x] 从最新 `dev` 检出 `feature/multi-intent-u1-contracts` 并认领 CURRENT -2. [ ] 登记边界 YAML、事件契约、archtest regex -3. [ ] 落地 intentflow 骨架与 BatchActionPolicy -4. [ ] arch/parity/short 测试与 U1 报告 +2. [x] 登记边界 YAML、事件契约、archtest regex +3. [x] 落地 intentflow 骨架与 BatchActionPolicy +4. [x] arch/parity/short 测试与 U1 报告 ## 验收标准 -- [ ] `intent -> maturity` 保持;server/chat 不直写计划表 -- [ ] YAML ↔ StaticContracts parity 绿 -- [ ] 未知 action/policy key fail closed;ActionRegistry 无 batch/tier 字段 -- [ ] 默认 `MULTI_INTENT_PLAN_TIER=legacy` -- [ ] 单意图生成策略不变(本单元无运行时改动) +- [x] `intent -> maturity` 保持;server/chat 不直写计划表 +- [x] YAML ↔ StaticContracts parity 绿 +- [x] 未知 action/policy key fail closed;ActionRegistry 无 batch/tier 字段 +- [x] 默认 `MULTI_INTENT_PLAN_TIER=legacy` +- [x] 单意图生成策略不变(本单元无运行时改动) ## 相关链接 @@ -71,3 +71,6 @@ mutex: architecture-docs - 事件登记窗口同时占用 `events` mutex;U1 不改 intent 代码。 - 生产者含 `events`:StaticContracts 字面量落在 `internal/events/registry.go`,与现有 document.* 先例一致。 +- CSRF:Bearer / `X-Session-Token` + CORS allowlist,U5 非 blocker。 +- 冒烟:`go vet ./...`、`go test -short ./...`、`./scripts/arch-check.sh --mode block` PASS。U1 无 schema/容器变更,集成槽位保持 idle。 +- 提交:`bdccb4d` docs(ops);`aefb1e4` feat(events);`9364da4` feat(intentflow);随后 docs(status)。 diff --git a/.doc/status/FEATURE-MATRIX.md b/.doc/status/FEATURE-MATRIX.md index 2c0b6493..cdd1445d 100644 --- a/.doc/status/FEATURE-MATRIX.md +++ b/.doc/status/FEATURE-MATRIX.md @@ -15,7 +15,8 @@ | 模块 | 能力 | 状态 | 证据 | 缺口/后续 | mutex | |------|------|------|------|-----------|-------| -| 意图识别 L1 | 18 类 Intent + 三分支消解 | partial | [system-design/intent-recognition](../system-design/intent-recognition/);[现场专项审计](../audit/2026-09-13-conversation-intent-runtime-state.md);[运行态报告](../test-reports/2026-09-13-conversation-intent-runtime-state-test-report.md);[双标签活验](../test-reports/assets/2026-09-15-conversation-intent-dual-tab/live.json);[多意图复核方案](../system-design/2026-09-15-multi-intent-hitl-plan.md) | 明确写动作与只读总结已分流;双标签 `DOC_BUSY` 已签(项目 6275)。多意图持久计划仅完成方案复核,核心 U1–U8 与扩面 U9–U12 均未实施;intent 纯依赖边界不得回退 | `intent` | +| 意图识别 L1 | 18 类 Intent + 三分支消解 | partial | [system-design/intent-recognition](../system-design/intent-recognition/);[现场专项审计](../audit/2026-09-13-conversation-intent-runtime-state.md);[运行态报告](../test-reports/2026-09-13-conversation-intent-runtime-state-test-report.md);[双标签活验](../test-reports/assets/2026-09-15-conversation-intent-dual-tab/live.json);[多意图复核方案](../system-design/2026-09-15-multi-intent-hitl-plan.md);[U1 契约](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md) | 明确写动作与只读总结已分流;双标签 `DOC_BUSY` 已签(项目 6275)。多意图 U1 契约已冻(intentflow 边界/事件/BatchActionPolicy/legacy tier);U2–U8 未实施;intent 纯依赖边界不得回退 | `intent` | +| 多意图持久计划 | app/intentflow 生命周期与 HITL 契约 | planned | [设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[U1 报告](../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md);[U1 任务](../ops/short-term/2026-09-15-multi-intent-u1-contracts.md) | U1 仅冻结合约。U2 规则分段 shadow;U3 PG/CAS;U4 投影;U5–U8 决策/Web/只读执行/task.generate | `intent-plan` | | 对话 / ctxmgr | 多轮上下文、记忆、摘要 | partial | [system-design/multi-turn-dialogue](../system-design/multi-turn-dialogue/);[刷新恢复专项审计](../audit/2026-09-13-chat-history-refresh-disappears.md);[U10 端口化](../archive/ops/2026-09-15-chatlog-contextasm-u10.md);[U10 报告](../test-reports/2026-09-15-chatlog-contextasm-u10-test-report.md) | `CHAT-HISTORY-REFRESH` 闲聊刷新活验已补。U10 原地端口 **停止扩面**(未物理拆包)。语义摘要(D5 backlog) | `chat` | | 智能体小队 | 角色-任务-工作区-黑板 | done | [system-design/agent-squad](../system-design/agent-squad/);[test 2026-09-07](../test-reports/2026-09-07-dynamic-squad-planning-test-report.md) | 非关键步骤降级(A5/A6 backlog) | `squad` | | 工作流治理 | 三正式工作流 + 阶段门禁 | partial | [remediation/three-workflows](../remediation/2026-09-12-three-workflows-strict-governance-remediation.md);[test 2026-09-12](../test-reports/2026-09-12-three-workflows-governance-remediation-test-report.md);[冻结态/职责可选整改](../remediation/2026-09-14-workflow-plan-409-frozen-and-optional-duties-remediation.md);[Wave 5 页面矩阵](../test-reports/2026-09-14-workflow-plan-409-frozen-and-optional-duties-test-report.md);[职责-动作鉴权](../test-reports/2026-09-14-governance-action-level-authz-test-report.md) | 设置页/DutyMode + 动作级鉴权/未激活 202-blocked/关闭创建直通已落地。后续:none 文档真实 PI 审批长链路、CI 三工作流 E2E | `workflow` | diff --git a/.doc/system-design/README.md b/.doc/system-design/README.md index 6f41f87f..c0f539e2 100644 --- a/.doc/system-design/README.md +++ b/.doc/system-design/README.md @@ -126,6 +126,7 @@ | 主方案 | [2026-09-15-multi-intent-hitl-plan.md](2026-09-15-multi-intent-hitl-plan.md) | | 复核 | [../audit/2026-09-15-multi-intent-hitl-plan-review.md](../audit/2026-09-15-multi-intent-hitl-plan-review.md) | | 任务总览 | [../ops/short-term/2026-09-15-multi-intent-hitl.md](../ops/short-term/2026-09-15-multi-intent-hitl.md) | +| U1 契约 | [../ops/short-term/2026-09-15-multi-intent-u1-contracts.md](../ops/short-term/2026-09-15-multi-intent-u1-contracts.md) | | 一句话总结 | intent 保持纯规则,intentflow 持久化计划并统一确认、授权、幂等、恢复和逐动作执行 | **硬边界**:确认不等于授权;PG 是计划真相,卡片/SSE 是投影;写动作按 owner 端口逐项接入;LLM 只能提出不可信分段建议。 diff --git a/.doc/test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md b/.doc/test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md new file mode 100644 index 00000000..39d410df --- /dev/null +++ b/.doc/test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md @@ -0,0 +1,105 @@ +# 多意图 HITL U1 契约冻结 测试报告 + +## 一、 测试背景 (Background) + +多意图识别目前最多拆两段且写意图直接丢弃;确认只是 coordinator 文本提示。方案已复核为「持久计划深模块」,U1 必须先冻结边界、事件、状态机和 BatchActionPolicy,避免后续单元向 `intent` / coordinator 堆叠职责。 + +## 二、 测试目标 (Test Objectives) + +- `app/intentflow` 进入 import allowlist;三张计划表 owner 仅为 `app/intentflow` +- 三条 `intent.plan.*` 事实事件 YAML ↔ `StaticContracts` 对等,payload 不含 prompt/slots/权限 +- 默认 `MULTI_INTENT_PLAN_TIER=legacy`;未知 policy key fail closed +- ActionRegistry 不出现 batch/tier/adapter 字段 +- `intent -> maturity` 与全仓 short 测试无回归 +- 无运行时路由变更,因此不做真实 PI / 浏览器验收 + +## 三、 测试方案与环境 (Test Plan & Environment) + +| 项 | 值 | +|----|-----| +| OS | Linux 7.0.0-31-generic | +| Go | go1.27.1 linux/amd64 | +| 分支 | `feature/multi-intent-u1-contracts`(从本地 `dev@9874237` 检出) | +| Schema | **43**(本单元不迁移) | +| 容器 | 不 rebuild | +| 项目 143 | **只读** | +| 证据 | `.doc/test-reports/assets/2026-09-15-multi-intent-u1-contracts/` | + +测试层级:archtest / events parity / intentflow 单测 / `go test -short ./...`。无 PG 集成、无真实 PI。 + +## 四、 预期结果 (Expected Results) + +| 用例 | 判定 | +|------|------| +| YAML ↔ StaticContracts | 三条 `intent.plan.*` 生产者含 `app/intentflow`+`events`,消费者 `projection`+`notify` | +| 未知 action key | `Lookup` 失败;构造期缺行/多行失败 | +| `task.run` | 批量必须确认,`OpenFromTier=confirm` | +| `regulation.query` | 不要求批量确认,`OpenFromTier=auto_read` | +| 默认 tier | `legacy`;`MULTI_INTENT_ENABLED=true` 不升档 | +| ActionSpec | 无 batch/tier/adapter 字段 | +| arch-check block | production gate passed | +| 全仓 short | PASS | + +## 五、 实际测试结果与判定 (Actual Results & Evaluation) + +### 5.1 事件 parity 与安全 payload + +- **测试输入 (Input)**:`go test -count=1 ./internal/events -run 'RegistryParity|IntentPlan'` +- **实际输出 (Actual Output)**: + +``` +ok chat-agent-system/internal/events 0.004s +``` + +(完整包输出见 [unit.txt](assets/2026-09-15-multi-intent-u1-contracts/unit.txt)) + +- **评价判定 (Evaluation / Verdict)**:PASS。`TestRegistryParityWithYAML`、`TestIntentPlanContractsOmitSensitivePayload` 绿。 +- **性能与耗时 (Duration & Latency)**:约 5ms + +### 5.2 archtest / arch-check + +- **测试输入**:`./scripts/arch-check.sh --mode block`;`go test -count=1 ./internal/archtest` +- **实际输出**: + +``` +arch-check mode=block +ok chat-agent-system/internal/archtest 0.173s +ok chat-agent-system/internal/archtest 0.154s +arch-check block: production gate passed +``` + +- **评价判定**:PASS。`intent.plan.*` 字面量可被扫描;`events` 已登记为生产者,registry.go 不误报。 +- **性能与耗时**:约 1.1s + +### 5.3 intentflow 政策与 tier + +- **测试输入**:`go test -count=1 ./internal/app/intentflow` +- **实际输出**:`ok chat-agent-system/internal/app/intentflow 0.002s` +- **评价判定**:PASS。未知 key fail closed;`task.run` 批量确认;查询不要求确认;ActionSpec 无 HITL 字段;默认 legacy。 +- **性能与耗时**:约 2ms + +### 5.4 全仓 short 回归 + +- **测试输入**:`unset TEST_DATABASE_URL; go test -short -count=1 ./...`;`go vet ./...`;`git diff --check` +- **实际输出**:见 [short.txt](assets/2026-09-15-multi-intent-u1-contracts/short.txt)。`internal/server` 9.920s;全包 ok。`go vet` 无输出。`git diff --check` 无空白错误。 +- **评价判定**:PASS。单意图路径无运行时改动,`internal/intent` / `internal/coordinator` / `internal/chat` 均绿。 +- **性能与耗时**:约 12s + +## 六、 自动化测试套件汇总 (Test Suite Execution) + +| 命令 | 结果 | +|------|------| +| `go vet ./...` | PASS | +| `go test -short -count=1 ./internal/app/intentflow ./internal/events ./internal/archtest ./internal/intent` | PASS | +| `go test -short -count=1 ./...` | PASS | +| `./scripts/arch-check.sh --mode block` | PASS | + +通过率 100%。未跑 PG / 真实 PI(本单元无副作用路径)。 + +## 七、 测试结论与后续优化建议 (Conclusion & Next Steps) + +U1 达到合入标准:契约冻结完成,默认 legacy,确认前零副作用保持不变。 + +后续:U2 在独立分支 `feature/multi-intent-u2-segmenter` 做规则分段 shadow;不得把 HITL/tier 回灌 ActionRegistry。 + +CSRF:现有 Bearer / `X-Session-Token` + CORS allowlist 对 U5 足够,不是 blocker。nonce 不替代认证。 diff --git a/.doc/test-reports/assets/2026-09-15-multi-intent-u1-contracts/short.txt b/.doc/test-reports/assets/2026-09-15-multi-intent-u1-contracts/short.txt new file mode 100644 index 00000000..5adc5e92 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-15-multi-intent-u1-contracts/short.txt @@ -0,0 +1,61 @@ +ok chat-agent-system/cmd/bizdev-cli 2.374s +? chat-agent-system/cmd/dataset [no test files] +ok chat-agent-system/cmd/document-content-reconcile 0.003s +? chat-agent-system/cmd/document-revision-backfill [no test files] +? chat-agent-system/cmd/eventmode [no test files] +? chat-agent-system/cmd/events [no test files] +? chat-agent-system/cmd/recategorize [no test files] +? chat-agent-system/cmd/server [no test files] +ok chat-agent-system/internal/agent 3.653s +ok chat-agent-system/internal/app 0.016s +ok chat-agent-system/internal/app/chatflow 0.005s +ok chat-agent-system/internal/app/docadvance 0.003s +ok chat-agent-system/internal/app/docflow 0.004s +ok chat-agent-system/internal/app/docnotify 0.004s +ok chat-agent-system/internal/app/docproject 0.004s +ok chat-agent-system/internal/app/intentflow 0.002s +ok chat-agent-system/internal/app/stageflow 0.004s +ok chat-agent-system/internal/app/uow 0.004s +ok chat-agent-system/internal/archtest 0.172s +ok chat-agent-system/internal/artifactvault 0.004s +ok chat-agent-system/internal/auth 0.821s +ok chat-agent-system/internal/authz 0.004s +ok chat-agent-system/internal/bizdev 0.165s +ok chat-agent-system/internal/chat 0.014s +ok chat-agent-system/internal/config 0.002s +ok chat-agent-system/internal/coordinator 0.010s +ok chat-agent-system/internal/ctxmgr 0.083s +ok chat-agent-system/internal/dataset 0.003s +ok chat-agent-system/internal/db 0.003s +ok chat-agent-system/internal/doccontent 0.002s +ok chat-agent-system/internal/docduty 0.005s +ok chat-agent-system/internal/docgov 0.016s +ok chat-agent-system/internal/docquery 0.003s +ok chat-agent-system/internal/docrevision 0.007s +ok chat-agent-system/internal/events 0.005s +ok chat-agent-system/internal/freedoc 0.023s +ok chat-agent-system/internal/fsutil 0.002s +ok chat-agent-system/internal/httpx 0.003s +ok chat-agent-system/internal/intent 0.011s +ok chat-agent-system/internal/kb 0.005s +ok chat-agent-system/internal/maturity 0.002s +ok chat-agent-system/internal/notification 0.068s +? chat-agent-system/internal/observability [no test files] +ok chat-agent-system/internal/projectcontext 0.004s +ok chat-agent-system/internal/projectinstance 0.004s +ok chat-agent-system/internal/projectworkflow 0.003s +ok chat-agent-system/internal/quote 0.007s +ok chat-agent-system/internal/replyexport 0.002s +ok chat-agent-system/internal/server 9.920s +ok chat-agent-system/internal/squad 0.030s +ok chat-agent-system/internal/storage 0.016s +ok chat-agent-system/internal/stream 0.003s +ok chat-agent-system/internal/stream/transport 0.002s +ok chat-agent-system/internal/taskrun 0.142s +ok chat-agent-system/internal/template 0.785s +ok chat-agent-system/internal/upload 0.002s +? chat-agent-system/internal/workflow [no test files] +ok chat-agent-system/internal/workflow/runtime 0.003s +ok chat-agent-system/internal/workflowdef 0.003s +ok chat-agent-system/internal/workspace 0.003s +? chat-agent-system/templates [no test files] diff --git a/.doc/test-reports/assets/2026-09-15-multi-intent-u1-contracts/unit.txt b/.doc/test-reports/assets/2026-09-15-multi-intent-u1-contracts/unit.txt new file mode 100644 index 00000000..69152e06 --- /dev/null +++ b/.doc/test-reports/assets/2026-09-15-multi-intent-u1-contracts/unit.txt @@ -0,0 +1,4 @@ +ok chat-agent-system/internal/app/intentflow 0.002s +ok chat-agent-system/internal/events 0.004s +ok chat-agent-system/internal/archtest 0.161s +ok chat-agent-system/internal/intent 0.010s