You've already forked incident-triage
Import UAPF package
124 lines
4.0 KiB
YAML
124 lines
4.0 KiB
YAML
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"
|