Serveur MCP

Decision Log

ai.decisionlog/mcp

Ce que fait ce MCP

Records append-only decisions with provenance, supersession tracking, retrieval, and audited actions.

decision_log_approve_decision_action
Sign off on a decision action
Record one immutable approval or rejection attestation.
Schéma d’entrée
{'type': 'object', 'required': ['approvalRequestId', 'approvalGroupId', 'decision'], 'properties': {'comment': {'type': 'string', 'description': 'Optional approval comment.'}, 'decision': {'enum': ['approve', 'reject'], 'type': 'string'}, 'approvalGroupId': {'type': 'string', 'description': 'Approval group identifier.'}, 'approvalRequestId': {'type': 'string', 'format': 'uuid', 'description': 'Approval request identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_convert_candidate_to_supersession
Convert a candidate to a supersession
Approve a pending DecisionCandidate as the immutable replacement for one current Decision, preserving provenance and supersession history.
Destructif
Schéma d’entrée
{'type': 'object', 'required': ['candidateId', 'replacesDecisionId'], 'properties': {'reason': {'type': 'string', 'description': 'Optional reason for the supersession.'}, 'candidateId': {'type': 'string', 'format': 'uuid', 'description': 'Pending DecisionCandidate identifier.'}, 'replacesDecisionId': {'type': 'string', 'format': 'uuid', 'description': 'Current Decision identifier that the candidate replaces.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_create_candidate
Create a decision candidate
Create a reviewable DecisionCandidate.
Schéma d’entrée
{'type': 'object', 'required': ['title', 'decisionText', 'rationale', 'decisionType'], 'properties': {'title': {'type': 'string', 'description': 'Concise direct-action title without speaker wrappers or ellipses.'}, 'summary': {'type': 'string', 'description': 'Optional summary.'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'rationale': {'type': 'string', 'description': 'Why the decision was made.'}, 'sourceIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'confidence': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'decisionText': {'type': 'string', 'description': 'The immutable meaning of the decision.'}, 'decisionType': {'enum': ['policy', 'technical', 'product', 'vendor', 'security', 'financial', 'legal', 'operational', 'architecture', 'process', 'personnel', 'other'], 'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_create_decision
Record a decision
Create an immutable Decision when permitted, otherwise create a reviewable DecisionCandidate.
Schéma d’entrée
{'type': 'object', 'required': ['title', 'decisionText', 'rationale', 'decisionType'], 'properties': {'title': {'type': 'string', 'description': 'Concise direct-action title without speaker wrappers or ellipses.'}, 'summary': {'type': 'string', 'description': 'Optional summary.'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'rationale': {'type': 'string', 'description': 'Why the decision was made.'}, 'sourceIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'decisionText': {'type': 'string', 'description': 'The immutable meaning of the decision.'}, 'decisionType': {'enum': ['policy', 'technical', 'product', 'vendor', 'security', 'financial', 'legal', 'operational', 'architecture', 'process', 'personnel', 'other'], 'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_get_candidate
Get a decision candidate
Get the complete visible review context for one DecisionCandidate before approving, rejecting, or converting it.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['candidateId'], 'properties': {'candidateId': {'type': 'string', 'format': 'uuid', 'description': 'DecisionCandidate identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'description': 'The complete visible DecisionCandidate review model, including classification, alternatives, criteria, and source identifiers.', 'additionalProperties': True}}, 'additionalProperties': False}
decision_log_get_current_decision
Get the current decision
Get the newest active decision in a domain.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain slug.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_get_decision
Get a decision
Retrieve one decision by ID.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['decisionId'], 'properties': {'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_get_decision_governance
Get decision governance
Retrieve lock, authority snapshot, and approval state for a Decision.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['decisionId'], 'properties': {'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_get_decision_sources
Get decision sources
Retrieve retention-safe provenance links for one visible Decision, including relationship, source lifecycle, and submitter metadata.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['decisionId'], 'properties': {'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'required': ['link', 'source'], 'properties': {'link': {'type': 'object', 'required': ['id', 'decisionId', 'sourceContentId', 'relationshipType', 'createdAt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'DecisionSource identifier.'}, 'createdAt': {'type': 'string', 'description': 'Timestamp when the source was linked.'}, 'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Linked Decision identifier.'}, 'sourceContentId': {'type': 'string', 'format': 'uuid', 'description': 'Linked SourceContent identifier.'}, 'relationshipType': {'type': 'string', 'description': 'Provenance relationship type.'}}, 'additionalProperties': False}, 'source': {'type': 'object', 'required': ['id', 'sourceType', 'title', 'contentExcerpt', 'retentionState', 'createdAt', 'submittedByActorId', 'externalId', 'externalUrl', 'integrationId'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'SourceContent identifier.'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Source title, or null when retention policy hides it.'}, 'createdAt': {'type': 'string', 'description': 'Source creation timestamp.'}, 'externalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider source identifier.'}, 'sourceType': {'type': 'string', 'description': 'Source type.'}, 'externalUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider source URL.'}, 'integrationId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Integration identifier.'}, 'contentExcerpt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Bounded source excerpt, or null when unavailable or hidden.'}, 'retentionState': {'type': 'string', 'description': 'Source retention lifecycle state.'}, 'submittedByActorId': {'type': 'string', 'format': 'uuid', 'description': 'Submitting Actor identifier.'}}, 'additionalProperties': False}}, 'additionalProperties': False}}}, 'additionalProperties': False}
decision_log_get_source
Get a source
Retrieve one visible SourceContent detail projection. Redacted, purged, and unknown retention states never return stored title, content, blob URL, or metadata.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['sourceId'], 'properties': {'sourceId': {'type': 'string', 'format': 'uuid', 'description': 'SourceContent identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['id', 'organizationId', 'workspaceId', 'sourceType', 'title', 'contentText', 'contentBlobUrl', 'externalId', 'externalUrl', 'externalCreatedAt', 'externalUpdatedAt', 'submittedByActorId', 'integrationId', 'retentionState', 'metadata', 'createdAt', 'updatedAt', 'archivedAt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'SourceContent identifier.'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Source title, or null when retention policy hides it.'}, 'metadata': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'description': 'Retained source metadata, or null when absent or retention-hidden.'}, 'createdAt': {'type': 'string', 'description': 'Source creation timestamp.'}, 'updatedAt': {'type': 'string', 'description': 'Source update timestamp.'}, 'archivedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Source archive timestamp.'}, 'externalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider source identifier.'}, 'sourceType': {'type': 'string', 'description': 'Source type.'}, 'contentText': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Retained source text, or null when absent or retention-hidden.'}, 'externalUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider source URL.'}, 'workspaceId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Owning Workspace identifier.'}, 'integrationId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Integration identifier.'}, 'contentBlobUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Retained source blob URL, or null when absent or retention-hidden.'}, 'organizationId': {'type': 'string', 'format': 'uuid', 'description': 'Owning Organization identifier.'}, 'retentionState': {'type': 'string', 'description': 'Source retention lifecycle state.'}, 'externalCreatedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider creation timestamp.'}, 'externalUpdatedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider update timestamp.'}, 'submittedByActorId': {'type': 'string', 'format': 'uuid', 'description': 'Submitting Actor identifier.'}}, 'additionalProperties': False}}, 'additionalProperties': False}
decision_log_get_source_decisions
Get decisions for a source
Retrieve visible DecisionSource links for one SourceContent record with each linked Decision's lifecycle, authoritative current-state, and supersession identity.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['sourceId'], 'properties': {'sourceId': {'type': 'string', 'format': 'uuid', 'description': 'SourceContent identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'required': ['link', 'decision'], 'properties': {'link': {'type': 'object', 'required': ['id', 'decisionId', 'sourceContentId', 'relationshipType', 'createdAt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'DecisionSource identifier.'}, 'createdAt': {'type': 'string', 'description': 'Timestamp when the source was linked.'}, 'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Linked Decision identifier.'}, 'sourceContentId': {'type': 'string', 'format': 'uuid', 'description': 'Linked SourceContent identifier.'}, 'relationshipType': {'type': 'string', 'description': 'Provenance relationship type.'}}, 'additionalProperties': False}, 'decision': {'type': 'object', 'required': ['id', 'decisionKey', 'title', 'decisionType', 'status', 'isCurrent', 'effectiveAt', 'decidedAt', 'recordedAt', 'supersededByDecisionId', 'archivedAt', 'retractedAt'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Decision identifier.'}, 'title': {'type': 'string', 'description': 'Decision title.'}, 'status': {'type': 'string', 'description': 'Decision lifecycle status. Use isCurrent for the authoritative current-state signal.'}, 'decidedAt': {'type': 'string', 'description': 'Timestamp when the Decision was decided.'}, 'isCurrent': {'type': 'boolean', 'description': 'Whether this is the authoritative current Decision after lifecycle and supersession evaluation.'}, 'archivedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Decision archive timestamp, or null when not archived.'}, 'recordedAt': {'type': 'string', 'description': 'Timestamp when the Decision was recorded.'}, 'decisionKey': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Stable Decision key, or null when no key was recorded.'}, 'effectiveAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Decision effective timestamp, or null when unspecified.'}, 'retractedAt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Decision retraction timestamp, or null when not retracted.'}, 'decisionType': {'type': 'string', 'description': 'Decision type.'}, 'supersededByDecisionId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Replacement Decision identifier, or null when this Decision has no recorded replacement.'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'description': 'Visible DecisionSource links for one SourceContent record, paired with the minimal Decision lifecycle projection.'}}, 'additionalProperties': False}
decision_log_get_supersession_history
Get supersession history
Retrieve the complete visible Decision supersession chain in oldest-to-newest order. Malformed chains fail closed and never claim a current Decision.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['decisionId'], 'properties': {'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision identifier from any point in the chain.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['requestedDecisionId', 'status', 'chain', 'relationships', 'currentDecision', 'cycleDetected', 'depthExceeded', 'ambiguous', 'maxDepth'], 'properties': {'chain': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Visible Decisions ordered oldest to newest.'}, 'status': {'enum': ['resolved', 'not_found', 'cycle_detected', 'depth_exceeded', 'ambiguous', 'broken_chain'], 'type': 'string'}, 'maxDepth': {'type': 'integer', 'minimum': 1}, 'ambiguous': {'type': 'boolean'}, 'cycleDetected': {'type': 'boolean'}, 'depthExceeded': {'type': 'boolean'}, 'relationships': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Visible DecisionSupersession relationships in chain order.'}, 'currentDecision': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'description': 'Canonical current Decision when status is resolved; otherwise null.'}, 'requestedDecisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision identifier used to start traversal.'}}, 'additionalProperties': False}}, 'additionalProperties': False}
decision_log_list_audit_events
List audit events
List the visible append-only audit events for the current Organization using the canonical permission-aware, attribution-safe projection.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'sort': {'enum': ['newest', 'oldest'], 'type': 'string', 'default': 'newest'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Optional actor, action, resource, or identifier search.'}, 'action': {'type': 'string', 'description': 'Optional exact AuditEvent action.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'actorType': {'type': 'string', 'description': 'Optional exact actor type.'}, 'resourceType': {'type': 'string', 'description': 'Optional exact resource type.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}, 'additionalProperties': False}
decision_log_list_candidates
List decision candidates
List reviewable DecisionCandidates visible in the current Organization and Workspace before taking a resolution action.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'sort': {'enum': ['newest', 'oldest', 'confidence'], 'type': 'string', 'default': 'newest'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Optional title, summary, decision text, or rationale search.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'status': {'type': 'string', 'description': 'Optional exact candidate review status.'}, 'decisionType': {'type': 'string', 'description': 'Optional exact decision type.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Visible DecisionCandidates in the current Organization and Workspace.'}}, 'additionalProperties': False}
decision_log_list_decisions_by_domain
List decisions by domain
List decisions related to an exact domain slug.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'Domain slug.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_list_decisions_by_tag
List decisions by tag
List decisions related to an exact tag slug.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['tag'], 'properties': {'tag': {'type': 'string', 'description': 'Tag slug.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_list_recent_decisions
List recent decisions
List the most recent decisions in the authenticated workspace.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 100, 'minimum': 1}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_list_sources
List sources
List visible SourceContent using bounded excerpts and canonical retention redaction.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'sort': {'enum': ['newest', 'oldest', 'title'], 'type': 'string', 'default': 'newest'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Optional title, content, or external identifier search.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'sourceType': {'type': 'string', 'description': 'Optional exact source type.'}, 'retentionState': {'type': 'string', 'description': 'Optional exact retention lifecycle state.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'sourceType', 'title', 'contentExcerpt', 'retentionState', 'createdAt', 'submittedByActorId', 'externalId', 'externalUrl', 'integrationId'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'SourceContent identifier.'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Source title, or null when retention policy hides it.'}, 'createdAt': {'type': 'string', 'description': 'Source creation timestamp.'}, 'externalId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider source identifier.'}, 'sourceType': {'type': 'string', 'description': 'Source type.'}, 'externalUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Provider source URL.'}, 'integrationId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Integration identifier.'}, 'contentExcerpt': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Bounded source excerpt, or null when unavailable or hidden.'}, 'retentionState': {'type': 'string', 'description': 'Source retention lifecycle state.'}, 'submittedByActorId': {'type': 'string', 'format': 'uuid', 'description': 'Submitting Actor identifier.'}}, 'additionalProperties': False}, 'description': 'Visible SourceContent summaries with bounded excerpts and retention redaction applied.'}}, 'additionalProperties': False}
decision_log_lock_decision
Permanently lock a decision
Irreversibly prevent a current Decision from ever being superseded; may create an approval request.
Destructif
Schéma d’entrée
{'type': 'object', 'required': ['decisionId', 'rationale'], 'properties': {'rationale': {'type': 'string', 'description': 'Why permanent finality is required.'}, 'sourceIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision to lock.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_render_audit_explorer
Show audit explorer
Use this when the user wants to visually inspect attributable, append-only audit events with filtering and pagination.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Optional audit event filter.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['surface', 'events'], 'properties': {'actors': {}, 'events': {}, 'surface': {'type': 'string', 'description': 'Workflow surface.'}}, 'additionalProperties': False}
decision_log_render_candidate_review
Show candidate review
Use this when the user wants to inspect and disposition one known DecisionCandidate in a visual review workbench.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['candidateId'], 'properties': {'candidateId': {'type': 'string', 'format': 'uuid', 'description': 'DecisionCandidate identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['surface', 'candidate'], 'properties': {'actors': {}, 'surface': {'type': 'string', 'description': 'Workflow surface.'}, 'candidate': {}}, 'additionalProperties': False}
decision_log_render_decision
Show a decision card
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.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['decisionId'], 'properties': {'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision identifier returned by a retrieval tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['decision'], 'properties': {'decision': {}}, 'additionalProperties': False}
decision_log_render_decision_explorer
Show decision explorer
Use this when the user wants to browse the five most recent Decisions and optionally inspect one in detail.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Optional Decision identifier to open immediately.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['surface', 'decisions'], 'properties': {'actors': {}, 'surface': {'type': 'string', 'description': 'Workflow surface.'}, 'selected': {}, 'decisions': {}}, 'additionalProperties': False}
decision_log_render_source_pipeline
Show source pipeline
Use this when the user wants to inspect one known source, its provenance lifecycle, and extracted candidates.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['sourceId'], 'properties': {'sourceId': {'type': 'string', 'format': 'uuid', 'description': 'DecisionSource identifier.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['surface', 'source', 'candidates'], 'properties': {'actors': {}, 'source': {}, 'surface': {'type': 'string', 'description': 'Workflow surface.'}, 'candidates': {}}, 'additionalProperties': False}
decision_log_render_supersession_composer
Show supersession composer
Use this when the user has a known active Decision and complete replacement meaning to review before supersession.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['decisionId', 'title', 'decisionText', 'rationale', 'decisionType', 'reason'], 'properties': {'title': {'type': 'string', 'description': 'Concise direct-action title without speaker wrappers or ellipses.'}, 'reason': {'type': 'string', 'description': 'Reason for supersession.'}, 'summary': {'type': 'string', 'description': 'Optional summary.'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'rationale': {'type': 'string', 'description': 'Why the decision was made.'}, 'sourceIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision being superseded.'}, 'decisionText': {'type': 'string', 'description': 'The immutable meaning of the decision.'}, 'decisionType': {'enum': ['policy', 'technical', 'product', 'vendor', 'security', 'financial', 'legal', 'operational', 'architecture', 'process', 'personnel', 'other'], 'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['surface', 'current', 'replacement', 'reason'], 'properties': {'actors': {}, 'reason': {'type': 'string', 'description': 'Reason for supersession.'}, 'current': {}, 'surface': {'type': 'string', 'description': 'Workflow surface.'}, 'replacement': {}}, 'additionalProperties': False}
decision_log_render_workspace_brief
Show workspace brief
Use this when the user wants a visual briefing of recent decisions, pending candidates, and source activity.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['surface', 'decisions', 'candidates', 'sources'], 'properties': {'actors': {}, 'sources': {}, 'surface': {'type': 'string', 'description': 'Workflow surface.'}, 'decisions': {}, 'candidates': {}}, 'additionalProperties': False}
decision_log_resolve_candidate
Resolve a decision candidate
Approve or reject a pending DecisionCandidate.
Destructif
Schéma d’entrée
{'type': 'object', 'required': ['candidateId', 'resolution'], 'properties': {'title': {'type': 'string', 'description': 'Concise direct-action title without speaker wrappers or ellipses.'}, 'reason': {'type': 'string', 'description': 'Optional rejection reason.'}, 'summary': {'type': 'string', 'description': 'Optional summary.'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'rationale': {'type': 'string', 'description': 'Why the decision was made.'}, 'sourceIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'resolution': {'enum': ['approve', 'reject'], 'type': 'string'}, 'candidateId': {'type': 'string', 'format': 'uuid', 'description': 'Candidate identifier.'}, 'decisionText': {'type': 'string', 'description': 'The immutable meaning of the decision.'}, 'decisionType': {'enum': ['policy', 'technical', 'product', 'vendor', 'security', 'financial', 'legal', 'operational', 'architecture', 'process', 'personnel', 'other'], 'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_search_decisions
Search decisions
Search decisions in the authenticated workspace.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'tag': {'type': 'string', 'description': 'Optional Tag slug filter.'}, 'sort': {'enum': ['newest', 'oldest', 'title'], 'type': 'string', 'default': 'newest'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'query': {'type': 'string', 'description': 'Search text.'}, 'domain': {'type': 'string', 'description': 'Optional Domain slug filter.'}, 'offset': {'type': 'integer', 'default': 0, 'minimum': 0}, 'status': {'type': 'string', 'description': 'Optional Decision status filter.'}, 'projectId': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Optional Project identifier filter.'}, 'currentOnly': {'type': 'boolean'}, 'decisionKey': {'type': 'string', 'description': 'Optional stable Decision key filter.'}, 'decisionType': {'type': 'string', 'description': 'Optional Decision type filter.'}, 'includeSuperseded': {'type': 'boolean', 'default': False}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'object', 'required': ['results', 'totalCount', 'limit', 'offset', 'hasNext'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'offset': {'type': 'integer', 'minimum': 0}, 'hasNext': {'type': 'boolean', 'description': 'Whether another page exists after this page.'}, 'results': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Decisions matched by the current page and filters.'}, 'totalCount': {'type': 'integer', 'minimum': 0, 'description': 'Exact number of matching Decisions across all pages.'}}, 'additionalProperties': False}}, 'additionalProperties': False}
decision_log_submit_source
Submit a source
Submit source content for ingestion and later provenance links.
Schéma d’entrée
{'type': 'object', 'properties': {'title': {'type': 'string', 'description': 'Optional source title.'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'externalId': {'type': 'string', 'description': 'External provider identifier.'}, 'sourceType': {'type': 'string', 'description': 'Source type; defaults to mcp.'}, 'contentText': {'type': 'string', 'description': 'Inline source text.'}, 'externalUrl': {'type': 'string', 'format': 'uri'}, 'contentBlobUrl': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
decision_log_supersede_decision
Supersede a decision
Create a replacement Decision and supersession relationship for an existing Decision.
Destructif
Schéma d’entrée
{'type': 'object', 'required': ['decisionId', 'title', 'decisionText', 'rationale', 'decisionType', 'reason'], 'properties': {'title': {'type': 'string', 'description': 'Concise direct-action title without speaker wrappers or ellipses.'}, 'reason': {'type': 'string', 'description': 'Reason for supersession.'}, 'summary': {'type': 'string', 'description': 'Optional summary.'}, 'metadata': {'type': 'object', 'additionalProperties': True}, 'rationale': {'type': 'string', 'description': 'Why the decision was made.'}, 'sourceIds': {'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, 'decisionId': {'type': 'string', 'format': 'uuid', 'description': 'Decision being superseded.'}, 'decisionText': {'type': 'string', 'description': 'The immutable meaning of the decision.'}, 'decisionType': {'enum': ['policy', 'technical', 'product', 'vendor', 'security', 'financial', 'legal', 'operational', 'architecture', 'process', 'personnel', 'other'], 'type': 'string'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
Ajouté
decision_log_render_audit_explorer
17 September 2026 07:56
Ajouté
decision_log_render_source_pipeline
17 September 2026 07:56
Ajouté
decision_log_render_supersession_composer
17 September 2026 07:56
Ajouté
decision_log_render_candidate_review
17 September 2026 07:56
Ajouté
decision_log_render_decision_explorer
17 September 2026 07:56
Ajouté
decision_log_render_workspace_brief
17 September 2026 07:56
Ajouté
decision_log_render_decision
17 September 2026 07:56
Ajouté
decision_log_list_decisions_by_domain
17 September 2026 07:56
Ajouté
decision_log_list_decisions_by_tag
17 September 2026 07:56
Ajouté
decision_log_list_audit_events
17 September 2026 07:56
Ajouté
decision_log_get_decision_sources
17 September 2026 07:56
Ajouté
decision_log_get_supersession_history
17 September 2026 07:56
Ajouté
decision_log_get_current_decision
17 September 2026 07:56
Ajouté
decision_log_convert_candidate_to_supersession
17 September 2026 07:56
Ajouté
decision_log_resolve_candidate
17 September 2026 07:56
Ajouté
decision_log_create_candidate
17 September 2026 07:56
Ajouté
decision_log_get_candidate
17 September 2026 07:56
Ajouté
decision_log_list_candidates
17 September 2026 07:56
Ajouté
decision_log_get_source_decisions
17 September 2026 07:56
Ajouté
decision_log_get_source
17 September 2026 07:56
Ajouté
decision_log_list_sources
17 September 2026 07:56
Ajouté
decision_log_submit_source
17 September 2026 07:56
Ajouté
decision_log_list_recent_decisions
17 September 2026 07:56
Ajouté
decision_log_get_decision_governance
17 September 2026 07:56
Ajouté
decision_log_approve_decision_action
17 September 2026 07:56
Ajouté
decision_log_lock_decision
17 September 2026 07:56
Ajouté
decision_log_supersede_decision
17 September 2026 07:56
Ajouté
decision_log_get_decision
17 September 2026 07:56
Ajouté
decision_log_search_decisions
17 September 2026 07:56
Ajouté
decision_log_create_decision
17 September 2026 07:56