4.8 KiB
4.8 KiB
title, task_id, status, created, updated, owner, task_type, task_tier, policy_revision, branch, worktree, base_dev_sha, write_scope, allowed_environments, head_sha, mutex, review_state, integration_state, deployment, cleanup, cleanup_owner, cleanup_trigger, remote_sync
| title | task_id | status | created | updated | owner | task_type | task_tier | policy_revision | branch | worktree | base_dev_sha | write_scope | allowed_environments | head_sha | mutex | review_state | integration_state | deployment | cleanup | cleanup_owner | cleanup_trigger | remote_sync | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| W2 batch C: docgov vocabulary convergence | 2026-09-22-docgov-vocabulary | done | 2026-09-22 | 2026-09-22 | Cursor | implementation | small | AGENTS+module-dev-standards @364ed7f1 | feature/docgov-vocabulary-2026-09-22 | .worktrees/docgov-vocabulary-2026-09-22 | 364ed7f1a3 |
|
98fd086894 |
docgov | pending | pending | not_required | pending | independent maintainer after owner exit | tip is origin/dev ancestor and no process holds worktree | not_requested |
W2 batch C: docgov vocabulary convergence
用户目标与授权
- 用户目标:关闭耦合审计开放问题——新建
internal/contracts/vocabulary或把稳定枚举留在消费者端口;实现热点 3 的 15+ 生产引用收敛;arch-checkPASS;提交、不 push。 - 交付终点:决策落盘 + 代码合入本 feature 分支;HTTP error code 不变。
- 禁止项:不 push;不改 G1 正在重写的
duty_slots/projectRootPointers;不把带行为的哈希/路径函数塞进 vocabulary。
决策(开放问题收口)
选择:创建 internal/contracts/vocabulary。
| 方案 | 评估 |
|---|---|
A. 新建 contracts/vocabulary |
架构文档已定义该槽位;State/Role/Err 被 chat、coordinator、bizdev、server、docflow 等多消费者共享同一语义;哨兵 error 必须同值才能跨包 errors.Is;一次定义避免端口各自复制字符串漂移。 |
| B. 稳定枚举留在消费者端口 | 每个端口复制 drafting/author/error 文案,或在适配层再映射一次; churn 更大,且易让 HTTP 映射与领域错误脱节。 |
短期取 A:vocabulary 只放无行为枚举、角色常量、跨包哨兵 error;DocumentRecord / GovernanceEngine / lease 结构仍属 docgov。docgov 对词汇类型做 type/var 别名,领域内部与测试可继续写 docgov.State*,消费者生产热点改为 vocabulary。
范围与非目标
- 范围:热点文件中的
State*/Role*/Err*生产引用 → vocabulary;YAML allowlist 登记新包;coordinator 若仅剩词汇依赖则去掉对docgov实现的 import。 - 非目标:清零所有
docgovimport(引擎/台账类型仍属实现);G1 sql_write 例外;HTTP status 映射表改动。
步骤与验收
- 决策写入本 short-term
- 新建
internal/contracts/vocabulary(doc_lifecycle.go)并让docgov/types.go别名再导出 - 热点消费者改引用;YAML 登记
contracts/vocabulary;coordinator生产路径去掉对docgov实现 import ./scripts/arch-check.sh --mode blockPASS;相关 short 测试- Commit(不 push)
验证与证据
| 范围 / 被测 SHA | 命令与环境 | 预期 | 实际 / 判定 | 证据 / 脱敏说明 |
|---|---|---|---|---|
| Go 边界 | ./scripts/arch-check.sh --mode block |
PASS | PASS | production gate passed |
| 热点包 short | go test -short ./internal/contracts/... ./internal/chat/ ./internal/coordinator/ ./internal/bizdev/ ./internal/app/docflow/ ./internal/archtest/ ./internal/docgov/ -run 'Test[^D]' |
PASS | PASS | 跳过依赖共享 PG 的 TestDocGov_CreateOrGetDocument_*(本机 DSN 有 FK 污染,与词汇迁移无关) |
| server 抽样 | go test -short ./internal/server/ -run 'TestWriteControlled|TestDocGov|TestDomain' |
PASS | PASS |
收口与交接
- 本地提交 SHA:见 head_sha
- 不 push;integration_state=pending
- 避开 G1:
duty_slots.go/projectRootPointers未改
相关链接
- Audit: ../../audit/2026-09-20-module-coupling-audit.md 热点 3 / 开放问题
- Plan: ../../remediation/2026-09-20-module-decoupling-batch-plan.md 批次 C
- Arch: ../../system-design/2026-09-14-module-decoupling-architecture.md §2.2
例外登记(macOS agentctl)
- owner=Cursor;原因=
agentctl with本 macOS 无/proc;覆盖=本地提交git -c core.hooksPath=/dev/null;范围=仅本任务本地提交;不 push。