kind: uapf.algorithm.card id: algo.incident_triage.draft_response version: 1.0.0 name: Customer response drafter intent: | Drafts a customer-facing incident notification in parallel Latvian and English on behalf of LVRTC. Output is a PROPOSED AIDecision — never auto-sent. Operator approval in the GUI is required before any message leaves the system (guardrail approval.human_required_for enforces this at runtime). Tone: professional, calm, factual. Acknowledges the problem, states that the team is investigating, gives an ETA only if known. Does NOT promise specific resolutions. Uses proper Latvian diacritics. Bodies capped at ~90 words each. algorithm_kind: transformer io: inputs: - id: case_id type: string cardinality: single constraints: pattern: "^[0-9a-fA-F-]{36}$" - id: locale type: string constraints: enum: [lv, en, auto] documentation: | 'lv' or 'en' forces a single primary locale; 'auto' produces both bodies and lets the operator choose. Default 'lv' for LVRTC. - id: what_happened type: string documentation: One-line summary of the incident (used in subject + opening). - id: eta_minutes type: integer cardinality: single constraints: minimum: 0 documentation: 'Optional. When provided, surfaced in body as \"Aptuvenais risināšanas laiks: X min\".' outputs: - id: subject_lv type: string - id: subject_en type: string - id: body_lv type: string documentation: Latvian body, proper diacritics, <=~90 words. - id: body_en type: string documentation: English body, <=~90 words. - id: locale type: string documentation: The locale code echoed back; informational. implementation: type: external medium: mcp_tool uri: uapf-ip://capability/ai.draft_response@1 hash: sha256:0000000000000000000000000000000000000000000000000000000000000000 runtime: capability: ai.draft_response@1 note: | Host-fulfilled UAPF-IP capability backed by the LLM gateway with Anthropic as the default provider. The host enforces that the resulting AIDecision row is PROPOSED (never AUTO_APPLIED) for this capability. Operator approval moves it to APPROVED before any outbound transport adapter is invoked. determinism: stochastic side_effects: pure complexity: typical_latency_ms: 1500 max_latency_ms: 60000 failure_mode: | Returns deterministic stub drafts ("Mūsu komanda ir saņēmusi paziņojumu...") with locale='lv' and a flag indicating LLM unavailability. Operator can edit before approving. reference: legal: | GDPR 2016/679 Article 13 — information to data subjects; LVRTC customer-communication standards. standard: | ITIL 4 — Communication and Awareness practice during major incidents. limitations: - Cap of ~90 words per body — long incident narratives are truncated. - Does not yet support Russian or other locales beyond lv/en. owners: - type: team id: openitsm-stewards contact: stewards@openitsm.algomation.io lifecycle: status: draft tests: - name: link-down-with-eta description: | Edge link down with an ETA of 30 minutes. Both bodies should acknowledge the outage and surface the ETA. inputs: case_id: "33333333-3333-3333-3333-333333333333" locale: "auto" what_happened: "Tīkla pārtraukums rtr-r1" eta_minutes: 30 expected_outputs: locale: "lv" subject_lv: "[LVRTC] Informējam par incidentu" subject_en: "[LVRTC] Incident notification" - name: customer-request-no-eta description: | Customer-initiated request acknowledgement without an ETA. inputs: case_id: "44444444-4444-4444-4444-444444444444" locale: "auto" what_happened: "Klienta pieprasījums par joslas platumu" expected_outputs: locale: "lv" subject_lv: "[LVRTC] Informējam par incidentu" subject_en: "[LVRTC] Incident notification"