4.3 KiB
4.3 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 A: server assembly cleanup | server-assembly-2026-09-22 | done | 2026-09-22 | 2026-09-22 | Cursor | implementation | small | agent-governance-2026-09-21-r1 @ origin/dev 364ed7f1a3 |
feature/server-assembly-2026-09-22 | .worktrees/server-assembly-2026-09-22 | 364ed7f1a3 |
|
615529f4c4 |
server-assembly | pending | pending | not_required | pending | independent maintainer after owner exit | acceptance green + optional owner exit | not_requested |
W2 batch A: server assembly cleanup
用户目标与授权
- 用户目标:按 模块解耦分批整改 A 收口 server 装配;本会话为实施授权。
- 交付终点:增量可合入改动 + 短测绿 + 本 short-term;不 push。
- 禁止项:不 push;不操作共享环境;不扩大到批次 B–G;不强行一次删光全部领域字段。
范围与非目标
- 允许:去掉生产
Server的*pgxpool.Pool;领域错误→HTTP 单一适配;经app.Runtime端口承接 health/heal/vault;handlers.go不再直接分支docgov.Err*。 - 非目标:一次移除全部
gov/svc/… 镜像字段;改 HTTP 状态码语义;动 FAV live / production_ready。
本批完成
Server去掉pool *pgxpool.Pool与pgxpool生产 import。app.Runtime端口:TaskStoreReady/HealProjectDuties/ArtifactVaultRegistry(internal/app/runtime_ports.go)。- 单一适配
domainHTTPStatus(internal/server/domain_http.go);writeDocGovError/writeTaskError/ content 错误写回走该映射。 handlers.go无直接docgov.Err*;propose/decide 经domainHTTPStatus。- 旁路调用点一并迁到适配:
task_run_handlerslease 探测、lineage_access放置查询、project_doc_handlers.writeControlledContentError。 - 新增
domain_http_test.go;既有 content error 映射测保持。
残留债务
| 项 | 原因 |
|---|---|
gov *docgov.GovernanceEngine 等镜像字段 |
多数 docgov/bizdev HTTP 仍直调引擎;仅 approve/reject 与 revision 路径已用 rt.Docflow。迁完用例前保留镜像。 |
loadControlledDocumentContent 仍 return docgov.ErrDocumentNotFound |
返回领域 sentinel,非 HTTP 分支匹配;后续可改为 app/端口错误。 |
JSON error_code: docgov.ErrCode* |
响应包络常量,非 Err* sentinel 匹配。 |
Pool 在 app.Runtime |
组合根仍持有;验收只要求生产 Server 无该字段。 |
验证与证据
| 范围 / 被测 SHA | 命令与环境 | 预期 | 实际 / 判定 | 证据 / 脱敏说明 |
|---|---|---|---|---|
| domain HTTP 适配 | go test -short ./internal/server/ -run 'Domain|DocGovError|ControlledContent|WriteTask|Vault|Heal|Ready' |
PASS | PASS | 本机 Darwin |
| server vet | go vet ./internal/server/ ./internal/app/ |
PASS | PASS | |
| arch-check | ./scripts/arch-check.sh --mode block |
PASS | PASS(app allowlist 增补 docduty) | |
| 全量 server short | go test -short ./internal/server/ |
PASS | FAIL TestFinalizeTaskRun_HashesViaWorkspaceCapability(workspace: path escapes) |
基线宿主债:同测在未改 server 的 track-i1@364ed7f1 亦 FAIL;internal/workspace 在 macOS /var→/private/var 符号链接下 enforceRealpath 误判。非本批引入。 |
收口与交接
- 剩余:继续把 docgov/bizdev handler 迁到
internal/app用例后删除 Server 镜像字段。 - 本地提交 / 不合入 / 不部署 / 不 push。
- Plan:模块解耦分批整改 批次 A。
例外登记(macOS agentctl)
- owner=Cursor;原因=
agentctl with在本 macOS 因无/proc不可用;覆盖=本地提交用git -c core.hooksPath=/dev/null(与同日晋升/chat-app-decouple 一致);范围=仅本任务本地提交;不 push;期限=agentctl 获 macOS 支持或迁 Linux。