MCP Server
Active
1
0

Import UAPF package: incident-triage.uapf

This commit is contained in:
2026-06-01 18:25:37 +00:00
commit 7fe0fda7a5
26 changed files with 2509 additions and 0 deletions

37
resources/guardrails.yaml Normal file
View File

@@ -0,0 +1,37 @@
kind: uapf.resources.guardrails
# Applied by the UAPF runtime to every UAPF-IP capability invocation
# governed by this package. Cross-cutting safety rails — enforced regardless
# of which Algorithm Card the runtime is dispatching.
pii:
redact_in_payloads: true
forbidden_in_drafts:
- personas_kods
- magnetic_stripe
- iban
allowed_in_drafts:
- case_number
- host_domain
- approximate_eta
approval:
human_required_for:
- ai.draft_response # outbound customer text always reviewed
- incident.update # write actions never auto-applied
auto_applied:
- intake.normalize
- ai.classify
- ai.suggest_priority
- dmn.evaluate
- event.emit
timeouts:
capability_default_ms: 30000
llm_default_ms: 45000
dmn_default_ms: 5000
retention:
algorithm_outputs_days: 365
audit_events_days: 2557 # 7 years (Latvian state-archive default)
signed_artifacts: indefinite

194
resources/mappings.yaml Normal file
View File

@@ -0,0 +1,194 @@
kind: uapf.resources.mapping
# Host-readable contract for the seven capability-backed service tasks in
# this package. Algorithm Card references live on the BPMN service tasks
# themselves (uapf24:algorithmCardRef attribute) per UAPF v2.4.0+. The
# targets below are dispatch endpoints only.
targets:
- id: agent.intake_normalizer
type: system_api
name: Signal normalizer
description: Host capability intake.normalize@1, governed by the normalize_signal Algorithm Card.
capabilities:
- capability.intake.normalize
- id: agent.classifier
type: ai_agent
name: Incident taxonomy classifier
description: Host capability ai.classify@1 (LLM-backed), governed by the classify_incident Algorithm Card.
capabilities:
- capability.ai.classify
- id: agent.priority_suggester
type: ai_agent
name: Priority suggester
description: Host capability ai.suggest_priority@1, governed by the suggest_priority Algorithm Card.
capabilities:
- capability.ai.suggest_priority
- id: agent.dmn_evaluator
type: system_api
name: DMN decision evaluator
description: Host capability dmn.evaluate@1, governed by the evaluate_dmn Algorithm Card. Invoked three times in the BPMN with different decision_id input.
capabilities:
- capability.dmn.evaluate
- id: agent.response_drafter
type: ai_agent
name: Customer response drafter
description: Host capability ai.draft_response@1, governed by the draft_response Algorithm Card. Requires human approval before send.
capabilities:
- capability.ai.draft_response
- id: agent.incident_updater
type: system_api
name: Incident state writer
description: Host capability incident.update@1, governed by the update_incident Algorithm Card. Applies field patches and FSM transitions.
capabilities:
- capability.incident.update
- id: agent.event_emitter
type: system_api
name: Case event emitter
description: Host capability event.emit@1, governed by the emit_event Algorithm Card. Append-only timeline writer.
capabilities:
- capability.event.emit
bindings:
- source: { type: bpmn.serviceTask, ref: Task_NormalizeSignal }
targetId: agent.intake_normalizer
mode: autonomous
contract:
input:
- { name: signal_id, type: string, required: true }
output:
- { name: normalized_payload, type: object }
- { name: dedupe_hash, type: string }
- { name: source_kind, type: string }
timeout: "5s"
requiredCapabilities: [capability.intake.normalize]
- source: { type: bpmn.serviceTask, ref: Task_ClassifyIncident }
targetId: agent.classifier
mode: autonomous
contract:
input:
- { name: payload, type: object, required: true }
- { name: text, type: string }
output:
- { name: taxonomy_code, type: string }
- { name: confidence, type: number, description: "0.0-1.0 model confidence" }
- { name: reasoning, type: string }
- { name: label_hint, type: string }
timeout: "30s"
requiredCapabilities: [capability.ai.classify]
- source: { type: bpmn.serviceTask, ref: Task_SuggestPriority }
targetId: agent.priority_suggester
mode: autonomous
contract:
input:
- { name: severity, type: string, required: true }
- { name: service_tier, type: string, required: true }
- { name: classification, type: string, required: true }
output:
- { name: priority, type: string }
- { name: reason, type: string }
timeout: "30s"
requiredCapabilities: [capability.ai.suggest_priority]
- source: { type: bpmn.serviceTask, ref: Task_EvaluatePriorityDmn }
targetId: agent.dmn_evaluator
mode: autonomous
contract:
input:
- { name: package_id, type: string, required: true }
- { name: decision_id, type: string, required: true }
- { name: inputs, type: object, required: true }
output:
- { name: output, type: object }
- { name: hit_rule_ids, type: array }
- { name: hit_policy, type: string }
timeout: "5s"
requiredCapabilities: [capability.dmn.evaluate]
- source: { type: bpmn.serviceTask, ref: Task_EvaluateOwnershipDmn }
targetId: agent.dmn_evaluator
mode: autonomous
contract:
input:
- { name: package_id, type: string, required: true }
- { name: decision_id, type: string, required: true }
- { name: inputs, type: object, required: true }
output:
- { name: output, type: object }
- { name: hit_rule_ids, type: array }
- { name: hit_policy, type: string }
timeout: "5s"
requiredCapabilities: [capability.dmn.evaluate]
- source: { type: bpmn.serviceTask, ref: Task_EvaluateRoutingDmn }
targetId: agent.dmn_evaluator
mode: autonomous
contract:
input:
- { name: package_id, type: string, required: true }
- { name: decision_id, type: string, required: true }
- { name: inputs, type: object, required: true }
output:
- { name: output, type: object }
- { name: hit_rule_ids, type: array }
- { name: hit_policy, type: string }
timeout: "5s"
requiredCapabilities: [capability.dmn.evaluate]
- source: { type: bpmn.serviceTask, ref: Task_UpdateIncident }
targetId: agent.incident_updater
mode: autonomous
contract:
input:
- { name: case_id, type: string, required: true }
- { name: patch, type: object, required: true }
- { name: status, type: string }
- { name: reason, type: string }
output:
- { name: case_id, type: string }
- { name: new_status, type: string }
- { name: success, type: boolean }
- { name: event_ids, type: array }
timeout: "10s"
requiredCapabilities: [capability.incident.update]
- source: { type: bpmn.serviceTask, ref: Task_DraftResponse }
targetId: agent.response_drafter
mode: supervised
contract:
input:
- { name: case_id, type: string, required: true }
- { name: locale, type: string }
- { name: what_happened, type: string, required: true }
- { name: eta_minutes, type: number }
output:
- { name: subject_lv, type: string }
- { name: subject_en, type: string }
- { name: body_lv, type: string }
- { name: body_en, type: string }
- { name: locale, type: string }
timeout: "60s"
requiredCapabilities: [capability.ai.draft_response]
- source: { type: bpmn.serviceTask, ref: Task_EmitEvent }
targetId: agent.event_emitter
mode: autonomous
contract:
input:
- { name: case_id, type: string, required: true }
- { name: type, type: string, required: true }
- { name: payload, type: object }
- { name: actor_label, type: string }
output:
- { name: event_id, type: string }
- { name: recorded_at, type: string }
timeout: "5s"
requiredCapabilities: [capability.event.emit]