You've already forked incident-triage
Import UAPF package
Import UAPF package: incident-triage.uapf
This commit is contained in:
123
algorithms/draft_response.card.yaml
Normal file
123
algorithms/draft_response.card.yaml
Normal file
@@ -0,0 +1,123 @@
|
||||
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"
|
||||
Reference in New Issue
Block a user