CtrlK
BlogDocsLog inGet started
Tessl Logo

policy

Define and enforce decision policies, compliance rules, and exceptions over Semantica graphs. Uses ContextGraph.check_decision_rules/enforce_decision_policy and context.PolicyEngine.

56

Quality

63%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/skills/policy/SKILL.md
SKILL.md
Quality
Evals
Security

/semantica:policy

Policy governance over recorded decisions. Usage: /semantica:policy <task> [args]

PolicyEngine lives in semantica.context. For most cases the two policy methods on ContextGraph itself are enough.


check <decision> — the simple path

No 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)

Managed policies — the full path

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.

Repository
semantica-agi/semantica
Last updated
First committed

Is this your skill?

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.