Skip to content

ai-triage

Enterprise Part of the commercial Kumiko Enterprise offering — not in the open framework.

Query handler (ai-triage:query:triage) that classifies an inbound message (subject, sender, body) against a caller-supplied list of action types and returns a category and proposed next actions. The system prompt is editable per-tenant via the prompt-store or a config-key so operators can tune classification rules without a deploy; the caller applies the result in a separate action. Model, effort and token budget come from the prompt revision in the prompt-store, falling back to the tenant defaults.

This Enterprise implementation is optional. If you need a narrower or domain-specific version, you can build an app-owned feature, handler, or job with Kumiko’s public extension points.

Use this package when you want the maintained implementation, its existing contracts, and the surrounding operational behavior. A custom implementation is not drop-in compatible automatically: your app owns its authorization, validation, integrations, tests, security review, and production operations.

Start with Features and composition and Custom write handlers.

What this feature needs to run (Requires).

flowchart TB
  n_ai_triage["ai-triage"]
  subgraph how_reqs["Requires"]
    n_ai_foundation["ai-foundation"]
    n_config["config"]
    n_prompt_store["prompt-store"]
  end
  n_ai_foundation --> n_ai_triage
  n_config --> n_ai_triage
  n_prompt_store --> n_ai_triage

Per-tenant config keys, set via the tenant-admin UI or a seed. 🔒 = encrypted at rest.

KeyTypeDefaultScopeWho can writeWho can read
triage-system-prompttextYou triage an inbound message for a business application.\n\n1. Classify it into a short lowercase category (e.g. "maintenance", "billing", "complaint").\n2. Rate how the sender comes across (sentiment) and how fast they need an answer (urgency).\n Judge the message as written — a deadline the sender names is urgency, your own opinion of\n its importance is not.\n3. Summarise in one short sentence, in the message's language, what the sender wants.\n4. Propose 0–7 next actions, choosing ONLY action types from the provided catalogue — never invent a type.\n For each: a confidence in [0,1] and a one-sentence rationale.\n\nIf the message is too ambiguous to classify, call clarify_request instead of triage_message.\nCall exactly one tool.tenantTenantAdmin, SystemAdminTenantAdmin, SystemAdmin