Decision Log
Append-only decisions with provenance, supersession, retrieval, and audited MCP actions.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (18)
- LOWen decision_log_render_workspace_brief
- LOWen decision_log_supersede_decision
- LOWen decision_log_approve_decision_action
- LOWen decision_log_get_decision_governance
- LOWen decision_log_list_recent_decisions
- LOWen decision_log_get_source_decisions
- LOWen decision_log_convert_candidate_to_supersession
- LOWen decision_log_get_current_decision
- LOWen decision_log_get_supersession_history
- LOWen decision_log_get_decision_sources
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp": {
"url": "https://www.decisionlog.ai/api/mcp"
}
}
}Puntos de conexión remotos
https://www.decisionlog.ai/api/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (30)
🟡decision_log_create_decision(title, summary, decisionText, rationale, decisionType, ...)
Create an immutable Decision when permitted, otherwise create a reviewable DecisionCandidate.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Concise direct-action title without speaker wrappers or ellipses."
},
"summary": {
"type": "string",
"description": "Optional summary."
},
"decisionText": {
"type": "string",
"description": "The immutable meaning of the decision."
},
"rationale": {
"type": "string",
"description": "Why the decision was made."
},
"decisionType": {
"type": "string",
"enum": [
"policy",
"technical",
"product",
"vendor",
"security",
"financial",
"legal",
"operational",
"architecture",
"process",
"personnel",
"other"
]
},
"sourceIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"metadata": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"title",
"decisionText",
"rationale",
"decisionType"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_search_decisions(query, status, decisionType, decisionKey, projectId, ...)
Search decisions in the authenticated workspace.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search text."
},
"status": {
"type": "string",
"description": "Optional Decision status filter."
},
"decisionType": {
"type": "string",
"description": "Optional Decision type filter."
},
"decisionKey": {
"type": "string",
"description": "Optional stable Decision key filter."
},
"projectId": {
"description": "Optional Project identifier filter.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tag": {
"type": "string",
"description": "Optional Tag slug filter."
},
"domain": {
"type": "string",
"description": "Optional Domain slug filter."
},
"includeSuperseded": {
"type": "boolean",
"default": false
},
"currentOnly": {
"type": "boolean"
},
"sort": {
"type": "string",
"enum": [
"newest",
"oldest",
"title"
],
"default": "newest"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "object",
"properties": {
"results": {
"type": "array",
"description": "Decisions matched by the current page and filters.",
"items": {
"type": "object",
"additionalProperties": true
}
},
"totalCount": {
"type": "integer",
"minimum": 0,
"description": "Exact number of matching Decisions across all pages."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0
},
"hasNext": {
"type": "boolean",
"description": "Whether another page exists after this page."
}
},
"required": [
"results",
"totalCount",
"limit",
"offset",
"hasNext"
],
"additionalProperties": false
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_decision(decisionId)
Retrieve one decision by ID.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision identifier.",
"format": "uuid"
}
},
"required": [
"decisionId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🔴decision_log_supersede_decision(decisionId, title, summary, decisionText, rationale, ...)
Create a replacement Decision and supersession relationship for an existing Decision.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision being superseded.",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Concise direct-action title without speaker wrappers or ellipses."
},
"summary": {
"type": "string",
"description": "Optional summary."
},
"decisionText": {
"type": "string",
"description": "The immutable meaning of the decision."
},
"rationale": {
"type": "string",
"description": "Why the decision was made."
},
"decisionType": {
"type": "string",
"enum": [
"policy",
"technical",
"product",
"vendor",
"security",
"financial",
"legal",
"operational",
"architecture",
"process",
"personnel",
"other"
]
},
"sourceIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"metadata": {
"type": "object",
"additionalProperties": true
},
"reason": {
"type": "string",
"description": "Reason for supersession."
}
},
"required": [
"decisionId",
"title",
"decisionText",
"rationale",
"decisionType",
"reason"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🔴decision_log_lock_decision(decisionId, rationale, sourceIds)
Irreversibly prevent a current Decision from ever being superseded; may create an approval request.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision to lock.",
"format": "uuid"
},
"rationale": {
"type": "string",
"description": "Why permanent finality is required."
},
"sourceIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"decisionId",
"rationale"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}⚪decision_log_approve_decision_action(approvalRequestId, approvalGroupId, decision, comment)
Record one immutable approval or rejection attestation.
Esquema de entrada
{
"type": "object",
"properties": {
"approvalRequestId": {
"type": "string",
"description": "Approval request identifier.",
"format": "uuid"
},
"approvalGroupId": {
"type": "string",
"description": "Approval group identifier."
},
"decision": {
"type": "string",
"enum": [
"approve",
"reject"
]
},
"comment": {
"type": "string",
"description": "Optional approval comment."
}
},
"required": [
"approvalRequestId",
"approvalGroupId",
"decision"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_decision_governance(decisionId)
Retrieve lock, authority snapshot, and approval state for a Decision.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision identifier.",
"format": "uuid"
}
},
"required": [
"decisionId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_list_recent_decisions(limit)
List the most recent decisions in the authenticated workspace.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 10
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟡decision_log_submit_source(title, contentText, contentBlobUrl, externalId, externalUrl, ...)
Submit source content for ingestion and later provenance links.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Optional source title."
},
"contentText": {
"type": "string",
"description": "Inline source text."
},
"contentBlobUrl": {
"type": "string",
"format": "uri"
},
"externalId": {
"type": "string",
"description": "External provider identifier."
},
"externalUrl": {
"type": "string",
"format": "uri"
},
"sourceType": {
"type": "string",
"description": "Source type; defaults to mcp."
},
"metadata": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_list_sources(query, sourceType, retentionState, sort, limit, ...)
List visible SourceContent using bounded excerpts and canonical retention redaction.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional title, content, or external identifier search."
},
"sourceType": {
"type": "string",
"description": "Optional exact source type."
},
"retentionState": {
"type": "string",
"description": "Optional exact retention lifecycle state."
},
"sort": {
"type": "string",
"enum": [
"newest",
"oldest",
"title"
],
"default": "newest"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "array",
"description": "Visible SourceContent summaries with bounded excerpts and retention redaction applied.",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "SourceContent identifier.",
"format": "uuid"
},
"sourceType": {
"type": "string",
"description": "Source type."
},
"title": {
"description": "Source title, or null when retention policy hides it.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"contentExcerpt": {
"description": "Bounded source excerpt, or null when unavailable or hidden.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"retentionState": {
"type": "string",
"description": "Source retention lifecycle state."
},
"createdAt": {
"type": "string",
"description": "Source creation timestamp."
},
"submittedByActorId": {
"type": "string",
"description": "Submitting Actor identifier.",
"format": "uuid"
},
"externalId": {
"description": "Provider source identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalUrl": {
"description": "Provider source URL.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"integrationId": {
"description": "Integration identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"sourceType",
"title",
"contentExcerpt",
"retentionState",
"createdAt",
"submittedByActorId",
"externalId",
"externalUrl",
"integrationId"
],
"additionalProperties": false
}
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_source(sourceId)
Retrieve one visible SourceContent detail projection. Redacted, purged, and unknown retention states never return stored title, content, blob URL, or metadata.
Esquema de entrada
{
"type": "object",
"properties": {
"sourceId": {
"type": "string",
"description": "SourceContent identifier.",
"format": "uuid"
}
},
"required": [
"sourceId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "SourceContent identifier.",
"format": "uuid"
},
"organizationId": {
"type": "string",
"description": "Owning Organization identifier.",
"format": "uuid"
},
"workspaceId": {
"description": "Owning Workspace identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sourceType": {
"type": "string",
"description": "Source type."
},
"title": {
"description": "Source title, or null when retention policy hides it.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"contentText": {
"description": "Retained source text, or null when absent or retention-hidden.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"contentBlobUrl": {
"description": "Retained source blob URL, or null when absent or retention-hidden.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalId": {
"description": "Provider source identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalUrl": {
"description": "Provider source URL.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalCreatedAt": {
"description": "Provider creation timestamp.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalUpdatedAt": {
"description": "Provider update timestamp.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"submittedByActorId": {
"type": "string",
"description": "Submitting Actor identifier.",
"format": "uuid"
},
"integrationId": {
"description": "Integration identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"retentionState": {
"type": "string",
"description": "Source retention lifecycle state."
},
"metadata": {
"description": "Retained source metadata, or null when absent or retention-hidden.",
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
},
"createdAt": {
"type": "string",
"description": "Source creation timestamp."
},
"updatedAt": {
"type": "string",
"description": "Source update timestamp."
},
"archivedAt": {
"description": "Source archive timestamp.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"organizationId",
"workspaceId",
"sourceType",
"title",
"contentText",
"contentBlobUrl",
"externalId",
"externalUrl",
"externalCreatedAt",
"externalUpdatedAt",
"submittedByActorId",
"integrationId",
"retentionState",
"metadata",
"createdAt",
"updatedAt",
"archivedAt"
],
"additionalProperties": false
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_source_decisions(sourceId)
Retrieve visible DecisionSource links for one SourceContent record with each linked Decision's lifecycle, authoritative current-state, and supersession identity.
Esquema de entrada
{
"type": "object",
"properties": {
"sourceId": {
"type": "string",
"description": "SourceContent identifier.",
"format": "uuid"
}
},
"required": [
"sourceId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "array",
"description": "Visible DecisionSource links for one SourceContent record, paired with the minimal Decision lifecycle projection.",
"items": {
"type": "object",
"properties": {
"link": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "DecisionSource identifier.",
"format": "uuid"
},
"decisionId": {
"type": "string",
"description": "Linked Decision identifier.",
"format": "uuid"
},
"sourceContentId": {
"type": "string",
"description": "Linked SourceContent identifier.",
"format": "uuid"
},
"relationshipType": {
"type": "string",
"description": "Provenance relationship type."
},
"createdAt": {
"type": "string",
"description": "Timestamp when the source was linked."
}
},
"required": [
"id",
"decisionId",
"sourceContentId",
"relationshipType",
"createdAt"
],
"additionalProperties": false
},
"decision": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Decision identifier.",
"format": "uuid"
},
"decisionKey": {
"description": "Stable Decision key, or null when no key was recorded.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"type": "string",
"description": "Decision title."
},
"decisionType": {
"type": "string",
"description": "Decision type."
},
"status": {
"type": "string",
"description": "Decision lifecycle status. Use isCurrent for the authoritative current-state signal."
},
"isCurrent": {
"type": "boolean",
"description": "Whether this is the authoritative current Decision after lifecycle and supersession evaluation."
},
"effectiveAt": {
"description": "Decision effective timestamp, or null when unspecified.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"decidedAt": {
"type": "string",
"description": "Timestamp when the Decision was decided."
},
"recordedAt": {
"type": "string",
"description": "Timestamp when the Decision was recorded."
},
"supersededByDecisionId": {
"description": "Replacement Decision identifier, or null when this Decision has no recorded replacement.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"archivedAt": {
"description": "Decision archive timestamp, or null when not archived.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"retractedAt": {
"description": "Decision retraction timestamp, or null when not retracted.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"decisionKey",
"title",
"decisionType",
"status",
"isCurrent",
"effectiveAt",
"decidedAt",
"recordedAt",
"supersededByDecisionId",
"archivedAt",
"retractedAt"
],
"additionalProperties": false
}
},
"required": [
"link",
"decision"
],
"additionalProperties": false
}
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_list_candidates(query, status, decisionType, sort, limit, ...)
List reviewable DecisionCandidates visible in the current Organization and Workspace before taking a resolution action.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional title, summary, decision text, or rationale search."
},
"status": {
"type": "string",
"description": "Optional exact candidate review status."
},
"decisionType": {
"type": "string",
"description": "Optional exact decision type."
},
"sort": {
"type": "string",
"enum": [
"newest",
"oldest",
"confidence"
],
"default": "newest"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "array",
"description": "Visible DecisionCandidates in the current Organization and Workspace.",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_candidate(candidateId)
Get the complete visible review context for one DecisionCandidate before approving, rejecting, or converting it.
Esquema de entrada
{
"type": "object",
"properties": {
"candidateId": {
"type": "string",
"description": "DecisionCandidate identifier.",
"format": "uuid"
}
},
"required": [
"candidateId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "object",
"description": "The complete visible DecisionCandidate review model, including classification, alternatives, criteria, and source identifiers.",
"additionalProperties": true
}
},
"required": [
"result"
],
"additionalProperties": false
}🟡decision_log_create_candidate(title, summary, decisionText, rationale, decisionType, ...)
Create a reviewable DecisionCandidate.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Concise direct-action title without speaker wrappers or ellipses."
},
"summary": {
"type": "string",
"description": "Optional summary."
},
"decisionText": {
"type": "string",
"description": "The immutable meaning of the decision."
},
"rationale": {
"type": "string",
"description": "Why the decision was made."
},
"decisionType": {
"type": "string",
"enum": [
"policy",
"technical",
"product",
"vendor",
"security",
"financial",
"legal",
"operational",
"architecture",
"process",
"personnel",
"other"
]
},
"sourceIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"metadata": {
"type": "object",
"additionalProperties": true
},
"confidence": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"required": [
"title",
"decisionText",
"rationale",
"decisionType"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🔴decision_log_resolve_candidate(candidateId, resolution, reason, title, summary, ...)
Approve or reject a pending DecisionCandidate.
Esquema de entrada
{
"type": "object",
"properties": {
"candidateId": {
"type": "string",
"description": "Candidate identifier.",
"format": "uuid"
},
"resolution": {
"type": "string",
"enum": [
"approve",
"reject"
]
},
"reason": {
"type": "string",
"description": "Optional rejection reason."
},
"title": {
"type": "string",
"description": "Concise direct-action title without speaker wrappers or ellipses."
},
"summary": {
"type": "string",
"description": "Optional summary."
},
"decisionText": {
"type": "string",
"description": "The immutable meaning of the decision."
},
"rationale": {
"type": "string",
"description": "Why the decision was made."
},
"decisionType": {
"type": "string",
"enum": [
"policy",
"technical",
"product",
"vendor",
"security",
"financial",
"legal",
"operational",
"architecture",
"process",
"personnel",
"other"
]
},
"sourceIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"metadata": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"candidateId",
"resolution"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🔴decision_log_convert_candidate_to_supersession(candidateId, replacesDecisionId, reason)
Approve a pending DecisionCandidate as the immutable replacement for one current Decision, preserving provenance and supersession history.
Esquema de entrada
{
"type": "object",
"properties": {
"candidateId": {
"type": "string",
"description": "Pending DecisionCandidate identifier.",
"format": "uuid"
},
"replacesDecisionId": {
"type": "string",
"description": "Current Decision identifier that the candidate replaces.",
"format": "uuid"
},
"reason": {
"type": "string",
"description": "Optional reason for the supersession."
}
},
"required": [
"candidateId",
"replacesDecisionId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_current_decision(domain)
Get the newest active decision in a domain.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain slug."
}
},
"required": [
"domain"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_supersession_history(decisionId)
Retrieve the complete visible Decision supersession chain in oldest-to-newest order. Malformed chains fail closed and never claim a current Decision.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision identifier from any point in the chain.",
"format": "uuid"
}
},
"required": [
"decisionId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "object",
"properties": {
"requestedDecisionId": {
"type": "string",
"description": "Decision identifier used to start traversal.",
"format": "uuid"
},
"status": {
"type": "string",
"enum": [
"resolved",
"not_found",
"cycle_detected",
"depth_exceeded",
"ambiguous",
"broken_chain"
]
},
"chain": {
"type": "array",
"description": "Visible Decisions ordered oldest to newest.",
"items": {
"type": "object",
"additionalProperties": true
}
},
"relationships": {
"type": "array",
"description": "Visible DecisionSupersession relationships in chain order.",
"items": {
"type": "object",
"additionalProperties": true
}
},
"currentDecision": {
"description": "Canonical current Decision when status is resolved; otherwise null.",
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
]
},
"cycleDetected": {
"type": "boolean"
},
"depthExceeded": {
"type": "boolean"
},
"ambiguous": {
"type": "boolean"
},
"maxDepth": {
"type": "integer",
"minimum": 1
}
},
"required": [
"requestedDecisionId",
"status",
"chain",
"relationships",
"currentDecision",
"cycleDetected",
"depthExceeded",
"ambiguous",
"maxDepth"
],
"additionalProperties": false
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_get_decision_sources(decisionId)
Retrieve retention-safe provenance links for one visible Decision, including relationship, source lifecycle, and submitter metadata.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision identifier.",
"format": "uuid"
}
},
"required": [
"decisionId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"type": "object",
"properties": {
"link": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "DecisionSource identifier.",
"format": "uuid"
},
"decisionId": {
"type": "string",
"description": "Linked Decision identifier.",
"format": "uuid"
},
"sourceContentId": {
"type": "string",
"description": "Linked SourceContent identifier.",
"format": "uuid"
},
"relationshipType": {
"type": "string",
"description": "Provenance relationship type."
},
"createdAt": {
"type": "string",
"description": "Timestamp when the source was linked."
}
},
"required": [
"id",
"decisionId",
"sourceContentId",
"relationshipType",
"createdAt"
],
"additionalProperties": false
},
"source": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "SourceContent identifier.",
"format": "uuid"
},
"sourceType": {
"type": "string",
"description": "Source type."
},
"title": {
"description": "Source title, or null when retention policy hides it.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"contentExcerpt": {
"description": "Bounded source excerpt, or null when unavailable or hidden.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"retentionState": {
"type": "string",
"description": "Source retention lifecycle state."
},
"createdAt": {
"type": "string",
"description": "Source creation timestamp."
},
"submittedByActorId": {
"type": "string",
"description": "Submitting Actor identifier.",
"format": "uuid"
},
"externalId": {
"description": "Provider source identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"externalUrl": {
"description": "Provider source URL.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"integrationId": {
"description": "Integration identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"sourceType",
"title",
"contentExcerpt",
"retentionState",
"createdAt",
"submittedByActorId",
"externalId",
"externalUrl",
"integrationId"
],
"additionalProperties": false
}
},
"required": [
"link",
"source"
],
"additionalProperties": false
}
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_list_audit_events(query, action, resourceType, actorType, sort, ...)
List the visible append-only audit events for the current Organization using the canonical permission-aware, attribution-safe projection.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional actor, action, resource, or identifier search."
},
"action": {
"type": "string",
"description": "Optional exact AuditEvent action."
},
"resourceType": {
"type": "string",
"description": "Optional exact resource type."
},
"actorType": {
"type": "string",
"description": "Optional exact actor type."
},
"sort": {
"type": "string",
"enum": [
"newest",
"oldest"
],
"default": "newest"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 50
},
"offset": {
"type": "integer",
"minimum": 0,
"default": 0
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_list_decisions_by_tag(tag)
List decisions related to an exact tag slug.
Esquema de entrada
{
"type": "object",
"properties": {
"tag": {
"type": "string",
"description": "Tag slug."
}
},
"required": [
"tag"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_list_decisions_by_domain(domain)
List decisions related to an exact domain slug.
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain slug."
}
},
"required": [
"domain"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"result": {}
},
"required": [
"result"
],
"additionalProperties": false
}🟢decision_log_render_decision(decisionId)
Use this when the user wants to inspect one known Decision in a visual card. Call a data retrieval tool first when the Decision ID is unknown.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision identifier returned by a retrieval tool.",
"format": "uuid"
}
},
"required": [
"decisionId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"decision": {}
},
"required": [
"decision"
],
"additionalProperties": false
}🟢decision_log_render_workspace_brief
Use this when the user wants a visual briefing of recent decisions, pending candidates, and source activity.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"description": "Workflow surface."
},
"decisions": {},
"candidates": {},
"sources": {},
"actors": {}
},
"required": [
"surface",
"decisions",
"candidates",
"sources"
],
"additionalProperties": false
}🟢decision_log_render_decision_explorer(decisionId)
Use this when the user wants to browse the five most recent Decisions and optionally inspect one in detail.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Optional Decision identifier to open immediately.",
"format": "uuid"
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"description": "Workflow surface."
},
"decisions": {},
"selected": {},
"actors": {}
},
"required": [
"surface",
"decisions"
],
"additionalProperties": false
}🟢decision_log_render_candidate_review(candidateId)
Use this when the user wants to inspect and disposition one known DecisionCandidate in a visual review workbench.
Esquema de entrada
{
"type": "object",
"properties": {
"candidateId": {
"type": "string",
"description": "DecisionCandidate identifier.",
"format": "uuid"
}
},
"required": [
"candidateId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"description": "Workflow surface."
},
"candidate": {},
"actors": {}
},
"required": [
"surface",
"candidate"
],
"additionalProperties": false
}🟢decision_log_render_supersession_composer(decisionId, title, summary, decisionText, rationale, ...)
Use this when the user has a known active Decision and complete replacement meaning to review before supersession.
Esquema de entrada
{
"type": "object",
"properties": {
"decisionId": {
"type": "string",
"description": "Decision being superseded.",
"format": "uuid"
},
"title": {
"type": "string",
"description": "Concise direct-action title without speaker wrappers or ellipses."
},
"summary": {
"type": "string",
"description": "Optional summary."
},
"decisionText": {
"type": "string",
"description": "The immutable meaning of the decision."
},
"rationale": {
"type": "string",
"description": "Why the decision was made."
},
"decisionType": {
"type": "string",
"enum": [
"policy",
"technical",
"product",
"vendor",
"security",
"financial",
"legal",
"operational",
"architecture",
"process",
"personnel",
"other"
]
},
"sourceIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"metadata": {
"type": "object",
"additionalProperties": true
},
"reason": {
"type": "string",
"description": "Reason for supersession."
}
},
"required": [
"decisionId",
"title",
"decisionText",
"rationale",
"decisionType",
"reason"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"description": "Workflow surface."
},
"current": {},
"replacement": {},
"reason": {
"type": "string",
"description": "Reason for supersession."
},
"actors": {}
},
"required": [
"surface",
"current",
"replacement",
"reason"
],
"additionalProperties": false
}🟢decision_log_render_source_pipeline(sourceId)
Use this when the user wants to inspect one known source, its provenance lifecycle, and extracted candidates.
Esquema de entrada
{
"type": "object",
"properties": {
"sourceId": {
"type": "string",
"description": "DecisionSource identifier.",
"format": "uuid"
}
},
"required": [
"sourceId"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"description": "Workflow surface."
},
"source": {},
"candidates": {},
"actors": {}
},
"required": [
"surface",
"source",
"candidates"
],
"additionalProperties": false
}🟢decision_log_render_audit_explorer(query, limit)
Use this when the user wants to visually inspect attributable, append-only audit events with filtering and pagination.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional audit event filter."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"surface": {
"type": "string",
"description": "Workflow surface."
},
"events": {},
"actors": {}
},
"required": [
"surface",
"events"
],
"additionalProperties": false
}Prompts recomendados
decision_log_search_decisionsdecision_log_search_decisionsdecision_log_get_decisiondecision_log_get_decisiondecision_log_list_recent_decisionsComunidad
Evidencia