Define and enforce decision policies, compliance rules, and exceptions over Semantica graphs. Uses ContextGraph.check_decision_rules/enforce_decision_policy and context.PolicyEngine.
56
63%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./plugins/skills/policy/SKILL.mdPolicy governance over recorded decisions. Usage: /semantica:policy <task> [args]
PolicyEnginelives insemantica.context. For most cases the two policy methods onContextGraphitself are enough.
check <decision> — the simple pathNo policy store needed; rules default to a built-in policy set.
from semantica.context import ContextGraph
graph = ContextGraph()
result = graph.check_decision_rules({
"category": "vendor_selection",
"outcome": "approved",
"confidence": 0.93,
"decision_maker": "gyro",
})
# {'compliant': bool, 'violations': [...], 'warnings': [...], 'policy_rules': {...}}Default rules: min_confidence=0.7, required_outcomes=['approved','rejected','flagged'],
required_metadata=['decision_maker'], max_reasoning_length=1000. Override by
passing your own rules= dict.
enforce <decision> [--rules <dict>]verdict = graph.enforce_decision_policy(decision_data, policy_rules=None)PolicyEngine requires a graph store and versioned Policy objects.
from semantica.context import PolicyEngine
from semantica.context.decision_models import Policy
engine = PolicyEngine(graph_store)
policy_id = engine.add_policy(Policy(...))
policies = engine.get_applicable_policies(category="vendor_selection", entities=[...])
ok = engine.check_compliance(decision, policy_id)
history = engine.get_policy_history(policy_id)
engine.update_policy(policy_id, rules={...}, change_reason="tightened threshold")
engine.record_exception(decision_id, policy_id, reason="...", approver="...")
impact = engine.analyze_policy_impact(policy_id, proposed_rules={...})
affected = engine.get_affected_decisions(policy_id, from_version, to_version)Note check_compliance takes a Decision object, not a dict — fetch it from the
graph rather than constructing one by hand.
05aec19
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.