ck_finding
Record findings with governance decisions or disposition existing findings to clear audit trails and enforce policies.
Instructions
Record or disposition a governed finding. mode=create (default) persists a finding with a ruling decision (allow, warn, block, escalate_to_human); findings are the durable audit trail in ControlKeel. mode=resolve|dismiss|escalate disposition EXISTING findings so the agent that created them can also clear them: pass finding_id for a single finding, or rule_id/category/status to bulk-disposition all matching active findings in the session (resolve->approved, dismiss->rejected, escalate->escalated). Write operation. For create, required fields are session_id, category, severity, rule_id, plain_message; decision defaults to warn, use allow for an approved exception (which also auto-resolves matching open/blocked findings). Returns finding_id + status for create, or disposed_count + disposed_finding_ids for disposition. Use ck_finding to record and clear policy findings; use ck_memory_record for general knowledge not tied to a policy rule.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Finding category (e.g., security, compliance, performance). | |
| decision | No | Governance decision: allow, warn, block, or escalate to human. | |
| finding_id | No | Target finding id for single disposition (resolve/dismiss/escalate modes). | |
| metadata | No | ||
| mode | No | create (default) records a finding. resolve/dismiss/escalate disposition existing findings, by `finding_id` (single) or `rule_id`/`category`/`status` (bulk). | |
| plain_message | No | Human-readable finding description. | |
| reason | No | Reason recorded on the finding(s) when dismissing. | |
| rule_id | No | Policy rule identifier that triggered this finding. | |
| session_id | Yes | Unique session identifier for correlating findings, proofs, budget, and audit trail. | |
| severity | No | Severity level (e.g., critical, high, medium, low). | |
| status | No | Bulk disposition filter: only findings currently in this status are dispositioned (e.g. blocked, open, escalated). | |
| task_id | No | Task identifier within the session for scoped operations. | |
| title | No | Human-readable title for display and search. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| contradicts_finding_id | No | ||
| disposed_count | No | ||
| disposed_finding_ids | No | ||
| extends_finding_id | No | ||
| finding_id | No | ||
| mode | No | ||
| precedent | No | ||
| requires_human | No | ||
| resolved_finding_ids | No | ||
| resolved_findings_count | No | ||
| status | No | ||
| summary | No |