跳转至

Ontology Tool Gateway

结论

本轮把 domain-topology.json 里的 ontology action 接到 Tool Gateway 前置治理层,验证 action 是否允许不再只看工具 scope。

当前结果:

  • Case 数:10。
  • 通过数:10。
  • 通过率:100%。
  • 覆盖检查:ToolPolicy 映射、required scopes、rule 覆盖、按 action type 判断对象 lifecycle、writeback 审计。

运行命令:

bash python scripts/ontology_tool_gateway_conformance.py --write-report

结果文件:

  • vault/50-outputs/ontology-tool-gateway-results.json
  • vault/50-outputs/ontology-tool-gateway-analysis.md

验证边界

OntologyToolGateway 不替代通用 ToolGateway,而是在工具调用前增加领域语义检查:

text ontology action -> tool_id / action_type 映射到 ToolPolicy -> required_scopes 必须是 user_scopes 子集 -> object_ids 必须被允许该 action 的 rule 覆盖 -> object lifecycle 必须适配 action type:pending 可以 review,但不能 promote 或 reindex -> writeback_event_type 必须存在并要求 audit_required=true -> ToolGateway schema / scope / audit 检查

这让 ontology 不只是“业务对象目录”,而是真正参与工具调用决策。

当前它已经接入 personal、department、project 三类 Ask Router route、Knowledge Card review、promote 和 reindex queue 的本地执行路径。Ask route 和队列 worker 运行前会先验证 action、rule、scope、registry lifecycle 和 writeback。

Case 明细

Case 目的 结果
policy_catalog_covers_ontology_actions 每个 ontology action 都能映射到 ToolPolicy pass
allows_personal_ask_action personal ask action 可以在 Ask Router 执行前通过 ontology action policy pass
allows_department_ask_action department ask action 可以在缺少 personal/project scope 时通过 ontology action policy pass
allows_project_ask_action_with_pending_artifact project ask action 可以作用于 pending 项目知识对象,用于补上下文 pass
allows_reviewed_reindex_action reviewed knowledge card + ready queue 可以触发 reindex action pass
allows_pending_project_card_review_action pending project knowledge card 可以触发 review action pass
allows_reviewed_project_card_promote_action reviewed project knowledge card 可以触发 promote action pass
denies_missing_required_scope 缺少 dept:agent-infra 时拒绝 reindex pass
denies_pending_lifecycle pending knowledge card 不能 reindex pass
denies_object_not_covered_by_rule rule 未覆盖的对象不能借用 reindex action pass

得到的 Insight

  1. 只做 allowed_scopes 不够。对组织私域动作来说,scope 只能证明“这个人有一类权限”,不能证明“这个动作可以作用在这个对象上”。
  2. 对象 lifecycle 必须按 action type 判断:pending knowledge card 可以 review,但不能 promote 或 reindex。
  3. writeback event type 必须要求审计,否则 action 结果不会沉淀回研用测闭环。
  4. personal、department、project 三类 Ask Router route、Knowledge Card review、promote 和 reindex queue 已走过 OntologyToolGateway;缺少 ontology required_scopes 时不会执行 route 或运行 worker。
  5. Ask Router 对应对象状态、review/promote 与 reindex queue worker 前后态已经写入 ontology-object-registry.json;Tool Gateway safe output 只暴露 registry 计数,不暴露 object id。
  6. Ask Router 的 owner 来源已收敛为 load_owner_registry():显式目录优先,缺失时从 Domain Topology 派生 owner profiles;真实企微通讯录后续应替换 registry 来源,而不是绕过 ontology gate。

下一步

  • 把 ontology registry 扩展到外部 Connector action,并把企微通讯录、真实投递和回调 adapter 接到当前 Ask Router topology binding 与 owner registry contract 后面。
  • 把 ontology action audit event 与统一审计日志、worker retry 和 human review 事件串起来。
  • 把 registry safe output 的泄漏检查扩展到真实 adapter 失败、重试和回放状态。