docs(ops): claim U1 multi-intent HITL contract freeze
Register the independent U1 short-term, checklist, and CURRENT mutex so architecture-docs and events stay serial while contracts land. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+2
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
## 焦点
|
||||
|
||||
1. **MULTI-INTENT HITL**:方案已复核,U1 契约未开工([设计](../system-design/2026-09-15-multi-intent-hitl-plan.md);[short-term](./short-term/2026-09-15-multi-intent-hitl.md))
|
||||
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))
|
||||
2. **发布门禁**:CI `TEST_DATABASE_URL`、真实 PI 三工作流 E2E、前端人工抽检仍开放([gap-matrix](../remediation/gap-matrix.md))
|
||||
3. **CHAT-INTENT**:双标签 busy 已签(项目 **6275**);不删 `sess-p143-u9`;项目 143 只读
|
||||
|
||||
@@ -13,6 +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 | 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 |
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
title: "多意图 HITL U1 契约冻结 checklist"
|
||||
status: in_progress
|
||||
created: 2026-09-15
|
||||
updated: 2026-09-15
|
||||
related_task: "2026-09-15-multi-intent-u1-contracts"
|
||||
---
|
||||
|
||||
# 多意图 HITL U1 契约冻结 checklist
|
||||
|
||||
## 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
|
||||
|
||||
## 完成定义
|
||||
|
||||
- [ ] 全部勾选且有证据链接
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
title: "多意图持久计划与 HITL(核心 U1–U8,扩面 U9–U12)"
|
||||
status: planned
|
||||
status: in_progress
|
||||
created: 2026-09-15
|
||||
updated: 2026-09-15
|
||||
owner: "-(待逐单元认领)"
|
||||
owner: Cursor(U1);其余单元待认领
|
||||
branch: feature/multi-intent-u1-contracts
|
||||
worktree: "-"
|
||||
mutex: architecture-docs
|
||||
@@ -51,7 +51,7 @@ mutex: architecture-docs
|
||||
|
||||
## 步骤
|
||||
|
||||
1. [ ] U1 冻结边界、状态机、批量策略、错误码、事件和默认 legacy tier;
|
||||
1. [ ] U1 冻结边界、状态机、批量策略、错误码、事件和默认 legacy tier([独立任务](./2026-09-15-multi-intent-u1-contracts.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,只投影状态事实;
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: "多意图 HITL U1:契约冻结"
|
||||
status: in_progress
|
||||
created: 2026-09-15
|
||||
updated: 2026-09-15
|
||||
owner: Cursor
|
||||
branch: feature/multi-intent-u1-contracts
|
||||
worktree: "-"
|
||||
mutex: architecture-docs
|
||||
---
|
||||
|
||||
# 多意图 HITL U1:契约冻结
|
||||
|
||||
## 目标
|
||||
|
||||
冻结 `app/intentflow` 边界、状态机、BatchActionPolicy、错误码、事件契约与默认 `legacy` tier;不改识别路由、不建表、不接 HTTP。
|
||||
|
||||
## 范围
|
||||
|
||||
- `module-boundaries.yaml`:`app/intentflow` allowlist、三表 owner、`unwrap_owners`、三条 `intent.plan.*` 事件
|
||||
- `events.StaticContracts` 与 YAML 对等;archtest 扫描 `intent.plan.*`
|
||||
- `internal/app/intentflow` 骨架:状态、错误码、Service 端口、政策、tier 开关
|
||||
- CSRF/认证结论:现有 Bearer + CORS 对 U5 足够,不是 blocker
|
||||
|
||||
## 非目标
|
||||
|
||||
- 不修改 `internal/intent` 业务类型或 `MULTI_INTENT_ENABLED`
|
||||
- 不建 Goose 表、不接线 `app.Assemble`、不改 chat/coordinator/Web
|
||||
- 不 Append 事件、不实施 U2–U12
|
||||
|
||||
## REST(U5 再挂路由)
|
||||
|
||||
- `GET /api/v1/intent-plans/active`
|
||||
- `GET /api/v1/intent-plans/{plan_id}`
|
||||
- `POST /api/v1/intent-plans/{plan_id}/decisions`
|
||||
- body:`expected_revision`、`decision_nonce`、`decision_digest`、`kind`、步骤选择
|
||||
|
||||
## CSRF / 认证(U5 前置结论,非 blocker)
|
||||
|
||||
现有认证是 `Authorization: Bearer` 或 `X-Session-Token` 请求头(`internal/server/auth_handlers.go`),无 cookie 会话,无独立 CSRF 中间件;另有 Origin allowlist CORS。
|
||||
|
||||
- 自定义头不会被浏览器跨站表单自动带上,现有模式对 U5 足够
|
||||
- `decision_nonce` / 幂等键只防重放与并发,**不替代** CSRF 或身份认证
|
||||
- U5 必须 `requireAuthenticatedUser` + 四元作用域(environment/project/session/user)
|
||||
- **禁止**为计划 API 改成 cookie 自动提交
|
||||
- 若未来改 cookie 认证,另立 auth 任务,不得在 intent-plan 端点发明弱 CSRF
|
||||
|
||||
## 步骤
|
||||
|
||||
1. [x] 从最新 `dev` 检出 `feature/multi-intent-u1-contracts` 并认领 CURRENT
|
||||
2. [ ] 登记边界 YAML、事件契约、archtest regex
|
||||
3. [ ] 落地 intentflow 骨架与 BatchActionPolicy
|
||||
4. [ ] arch/parity/short 测试与 U1 报告
|
||||
|
||||
## 验收标准
|
||||
|
||||
- [ ] `intent -> maturity` 保持;server/chat 不直写计划表
|
||||
- [ ] YAML ↔ StaticContracts parity 绿
|
||||
- [ ] 未知 action/policy key fail closed;ActionRegistry 无 batch/tier 字段
|
||||
- [ ] 默认 `MULTI_INTENT_PLAN_TIER=legacy`
|
||||
- [ ] 单意图生成策略不变(本单元无运行时改动)
|
||||
|
||||
## 相关链接
|
||||
|
||||
- 总览: [2026-09-15-multi-intent-hitl.md](./2026-09-15-multi-intent-hitl.md)
|
||||
- 设计: [../../system-design/2026-09-15-multi-intent-hitl-plan.md](../../system-design/2026-09-15-multi-intent-hitl-plan.md)
|
||||
- Checklist: [../checklists/2026-09-15-multi-intent-u1-contracts.md](../checklists/2026-09-15-multi-intent-u1-contracts.md)
|
||||
- Test report: [../../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md](../../test-reports/2026-09-15-multi-intent-u1-contracts-test-report.md)
|
||||
|
||||
## 证据 / 备注
|
||||
|
||||
- 事件登记窗口同时占用 `events` mutex;U1 不改 intent 代码。
|
||||
- 生产者含 `events`:StaticContracts 字面量落在 `internal/events/registry.go`,与现有 document.* 先例一致。
|
||||
Reference in New Issue
Block a user