Files
Agent-System/.doc/ops/2026-09-24-governance-catalog-plan.md
T
weichen 28ed7005dd feat(tooling): add governance catalog and requirement overlap gates
Extend agentctl SQLite with catalog tables, CJK FTS5 recall, hard/soft
overlap gates, fail-open embeddings, backfill, and MCP/skills hooks so
cross-conversation designs cannot silently conflict.
2026-09-24 09:21:57 +00:00

2.0 KiB
Raw Blame History

治理目录库与跨对话需求重叠检测(方案)

修订 ID:governance-catalog-2026-09-24-r1
state:proposed → 实施后随合入升 active
owner:Cursor
工具能力:schema/CRUD/门禁 enforced(落地后);向量层 fail-open
任务:short-term

问题

跨对话新设计与既有功能/需求重叠时,现有 agentctl 仅做路径级 overlaps() 互斥,无需求语义比对。CURRENT/ISSUES/test-reports 为 Markdown 台账,机器无法强制开工前探测。

方案摘要

在既有 .locks/state.sqlite(与业务 PG 物理隔离)上 additive 扩展 Catalog 表:

表 用途
catalog_requirements R-ID 需求条目
catalog_features 对齐 FEATURE-MATRIX record_id
catalog_req_text FTS5 CJK 逐字索引(禁用 trigram)
catalog_overlaps / catalog_decisions 检测结果与裁决留痕
catalog_issues / catalog_tests / catalog_releases 缺陷/测试/发布投影
catalog_embeddings 可降级向量增强

分级门禁

  1. L1 结构化:same_mutex / same_feature / same_scope / same_req_id → hard deny
  2. L2 语义:FTS5 bm25 软门,须 catalog overlap ack 显式裁决后才可编码
  3. L3 向量:读 EMBEDDING_*;401/超时/缺钥 → vector_layer=degraded,不阻断

策略

catalog_gate / catalog_vector 为可选键(不得加入 shared_docs 等集合相等校验字段)。

权威关系

.doc Markdown 仍为事实来源;Catalog 为可检索投影 + 门禁依据;冲突时 catalog drift 告警,不自动改文档。

边界

不新建第二库/容器;不读写业务 PostgreSQL;不改 overlaps() 既有语义;不做跨机权威。

CLI / MCP

agentctl catalog {add,list,show,search,overlap,ack,status,drift};MCP:catalog_requirement_add / catalog_overlap_probe / catalog_overlap_ack / catalog_search / catalog_status。