Governance¶
Cluster: Uncategorised | Type: component | MCP Tools: None
Overview¶
Public API¶
ApprovalDecision(BaseModel)¶
| Field | Type | Default |
|---|---|---|
allowed | bool | required |
required_human_decision | str | '' |
categories | list[str] | Field(default_factory=list) |
risk_level | str | 'low' |
ApprovalEnforcer¶
Constructor:
| Parameter | Type | Default |
|---|---|---|
contract | FriendlinessContract \| None | None |
Methods:
check(action: str, touched_paths: list[str], approval: bool = False, preference: Preference | None = None) -> ApprovalDecision¶
FriendlinessContract(BaseModel)¶
| Field | Type | Default |
|---|---|---|
purpose | str | required |
protected_values | list[str] | Field(default_factory=list) |
prohibited_behaviors | list[str] | Field(default_factory=list) |
approval_required_for | list[str] | Field(default_factory=list) |
required_evidence_for_success | list[str] | Field(default_factory=list) |
self_modification_policy | dict[str, str] | Field(default_factory=dict) |
GovernanceContract¶
Read-only facade over the existing deterministic governance core.
Methods:
classify_risk(action: str = '', touched_paths: list[str] | None = None, diff: str = '') -> FriendlinessRisk¶
check_approval(action: str, touched_paths: list[str], approval: bool = False) -> ApprovalDecision¶
review_patch(touched_paths: list[str], diff: str, approval: bool = False) -> FriendlinessPatchReview¶
load_contract(path: str = 'friendliness_contract.yaml') -> FriendlinessContract¶
FriendlinessPatchReview(BaseModel)¶
| Field | Type | Default |
|---|---|---|
user_benefit | str | '' |
affected_invariants | list[str] | Field(default_factory=list) |
risk_level | str | required |
permission_check | str | required |
protected_files_touched | list[str] | Field(default_factory=list) |
approval_required | bool | False |
deception_or_misreporting_risk | bool | False |
rollback_available | bool | False |
tests_added_or_updated | bool | False |
meta_evals_added_or_updated | bool | False |
docs_updated | bool | False |
license_check | str | 'not_applicable' |
security_check | str | 'not_applicable' |
secrets_check | str | 'not_applicable' |
deployment_impact | bool | False |
user_workload_impact | str | 'unchanged' |
known_failure_modes | list[str] | Field(default_factory=list) |
residual_risk | str | '' |
ProtectedFilesPolicy¶
| Field | Type | Default |
|---|---|---|
protected | tuple[str, ...] | required |
exempt | tuple[str, ...] | () |
FriendlinessRiskClassifier¶
Methods:
classify(action: str = '', touched_paths: list[str] | None = None, diff: str = '') -> FriendlinessRisk¶
T3PolicyRegistry¶
Constructor:
| Parameter | Type | Default |
|---|---|---|
policies | list[T3Policy] \| None | None |
Methods: