feat(capability): Master Capability Registry v0 (Phase 2C, Compliance Execution domain)

Third instance of the identity-machine pattern (after Master Controls and Master
Obligations). New compliance/capability/ package: MasterCapability with stable MCAP
ids, CapabilityCandidate minting, seven typed relation types, a VERSIONED derivation
policy, and identity lifecycle (merge/split/deprecate/redirect with provenance).

Stored: identities, sources, relationship types, policy versions, lifecycle events,
provenance. Derived (never stored): confidence/status via evaluate_relation under a
policy version. Hard rule (structurally guarded): a certification alone can never
yield CONFIRMED — only CONFIRMS + concrete artifact (or expert) does.

Built from the Reasoning session per user directive but this IS the Compliance
Execution model (Execution owns Capability) — handed off via the board. Metadata-first:
CapabilityRelation is registry metadata, NOT a new meta-model class (freeze v1.0
untouched). No Company-Gap, no real ISO/cert mappings, no UI/RAG, no generic
canonicalization engine. 11 tests; mypy --strict clean; LOC ok.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-06-26 21:35:12 +02:00
parent 7eb7f61483
commit 6ccc6c87c1
5 changed files with 629 additions and 0 deletions
@@ -0,0 +1,70 @@
"""Master Capability Registry v0 (Phase 2C) — Compliance Execution domain.
Registry + minting layer for Master Capabilities — the third instance of the
identity-machine pattern (Master Controls, Master Obligations, Master Capabilities).
STORED: identities, sources, relationship types, policy versions, lifecycle events,
provenance. DERIVED (never stored): confidence, coverage, gap.
v0 scope: types + minting + typed relations + versioned policy + identity lifecycle.
NOT here: Company-Gap, real ISO/cert mappings, certification derivations, UI, RAG,
new meta-model class, generic canonicalization engine.
"""
from __future__ import annotations
from .engine import (
CapabilityRegistry,
deprecate_capability,
evaluate_relation,
merge_capabilities,
mint_capability,
resolve,
split_capability,
)
from .policy import DEFAULT_POLICY, assert_no_certification_confirms
from .schemas import (
AssertionStatus,
CapabilityCandidate,
CapabilityRelation,
Confidence,
DerivedAssessment,
EvidenceKind,
IdentityLifecycleEvent,
LifecycleEventType,
LifecycleState,
MasterCapability,
PolicyRule,
PolicyVersion,
Provenance,
RelationType,
)
__all__ = [
# engine
"CapabilityRegistry",
"mint_capability",
"evaluate_relation",
"resolve",
"deprecate_capability",
"merge_capabilities",
"split_capability",
# policy
"DEFAULT_POLICY",
"assert_no_certification_confirms",
# schemas
"MasterCapability",
"CapabilityCandidate",
"CapabilityRelation",
"RelationType",
"EvidenceKind",
"AssertionStatus",
"Confidence",
"PolicyRule",
"PolicyVersion",
"IdentityLifecycleEvent",
"LifecycleEventType",
"LifecycleState",
"Provenance",
"DerivedAssessment",
]