定义与身份
可用specification 可整体省略;提供时必须包含非空 specificationId、version 和非空 documents。每篇 Document 的 role 固定为 specification;appliesTo 及其 software、versionRange、conditions 均可选。Core 仅在显式 readSpecification() 时读取正文,不把正文当作执行规则,也不判断当前项目版本。
文件 Authority 的 provider.json 必须与配置中的 providerId 一致。每个有效启用 Provider 必须恰有一个 Authority。
可执行验证用例
这些用例由 Reference 校验器通过公开 CapabilityGraph.open() 执行,不依赖内部校验函数。
Capability 定义
跨字段约束:关系端点必须存在于同一 Provider,重复端点拒绝;完整收集全部能力后,分别检查 parents、specializes 和 requires 无环;同一 Provider 的 knowledgeId 映射身份必须完全一致,Collection 内重复成员拒绝,合法成员排序后判等;单个定义文件最大 262,144 UTF-8 字节。
Capability 可执行验证用例
这些用例同样通过公开 CapabilityGraph.open() 执行。
身份模型
QualifiedCapabilityId 是显示字符串,正式分隔符 QUALIFIED_SEPARATOR 为 ::。导出的身份辅助函数包括 isId()、isKnowledgeId()、formatQualifiedId()、parseQualifiedId()、equalId() 和 idKey()。
不绑定 Provider 的查询必须使用完整二元身份。{ capabilityId } 短形式只在 BoundProviderGraph 中合法。Provider 版本不是身份的一部分。