{"id":"automations","type":"module","title":"Automations (Process Engine Console)","status":"ga","audience":["org-admin","bid-manager","consultant"],"scope":"both","tier_min":"business","aliases":["11","processes","process-engine"],"summary":"The console over Klarum's process engine: declarative multi-step processes with a narrow auditable DSL, pluggable compute backends, per-step budget envelopes and a live runs ledger.","keywords":["process-engine","runs","steps","backends","budget-envelope","scheduler","dsl"],"body":{"what_it_is":"The user-facing surface over Klarum's **process engine**: a small, typed\nworkflow orchestrator that runs declarative multi-step \"processes\" against\ntender/bid data. Each automation is a **process definition** (`process_defs`:\nslug, version, kind, JSONB `spec`); each firing is a **run** (`process_runs`)\nmade of ordered **steps** (`process_steps`). The page presents a **Catalog**\n(Standard, `org_id IS NULL`, vs Custom, firm-owned) plus a live **Runs**\nledger. The engine (`klarum_core/engine.py`) walks a process definition's steps in\n`ordinal` order, resolves `${run.inputs.x}` / `${steps.<slug>.outputs.y}`\ntemplate references at dispatch time, dispatches each step to a registered\n**compute backend** keyed by `compute_kind`, persists every step, and\nenforces a per-step/aggregate **budget envelope** (tokens, latency, cost).\n","what_it_helps_users_do":"Fire bid-production work as one click (Standard automations cover the\nlifecycle: `eoi_generation`, `proposal_generation`,\n`opportunity_matching`/`graph_match_precompute`, `reference_auto_select`,\n`compliance_check`/`icp_validation`, `inbound_intake`,\n`notification_dispatch`, `staffing_recommendation`, `discovery_enrichment`);\nget the right automation suggested in context (per-checklist-item \"Suggested\nfor this workspace\" strip); author their own automations in plain English\n(the *Prompt new* dialog drafts a runnable spec via an LLM); promote a\nchecklist into a reusable template and archive completed work to the Knowledge\nBase; and audit/export (every run recorded, any output materialised as a\nbranded PDF/DOCX).\n"},"engines":[{"id":"process-engine","type":"engine","title":"klarum-core process engine","summary":"Walks a process definition's steps in ordinal order, resolves template references at dispatch time, dispatches to a registered compute backend, persists every step and enforces a budget envelope.","category":null}],"integrations":[],"capabilities":[{"id":"process-catalog","type":"capability","title":"Catalog of Standard and Custom processes","summary":"Platform-shipped Standard definitions cover the bid lifecycle end to end; an org forks or authors Custom ones alongside them.","status":"ga","scope":null,"keywords":["catalog","standard","custom","slugs"],"body":null},{"id":"runs-ledger","type":"capability","title":"Runs ledger","summary":"Every firing is recorded step by step with its inputs, outputs, cost and verdict, which is what makes an automated decision auditable after the fact.","status":"ga","scope":null,"keywords":["runs","steps","audit","cost"],"body":null},{"id":"budget-envelope","type":"capability","title":"Budget envelope","summary":"Per-step and aggregate ceilings on tokens, latency and cost, enforced by the engine, so a runaway automation stops rather than billing.","status":"ga","scope":null,"keywords":["budget","tokens","latency","cost-cap"],"body":null},{"id":"prompted-process-authoring","type":"capability","title":"Prompt a new automation","summary":"A plain-English description becomes a validated ProcessSpec, capped at four steps and restricted to LLM-only steps so a bad draft can at worst waste tokens.","status":"ga","scope":null,"keywords":["authoring","llm","restricted","safe-by-construction"],"body":null},{"id":"eoi-citation-stripping","type":"capability","title":"Citation stripping","summary":"The EOI section path post-validates every [ref:id] citation against the supplied reference list and strips hallucinated ids, recording the event.","status":"ga","scope":null,"keywords":["anti-hallucination","citations","guard"],"body":null},{"id":"automation-suggestions","type":"capability","title":"Contextual suggestions","summary":"A first-match-wins regex rule table maps a checklist item to a suggested automation and a reason, deliberately not an LLM call so suggestion stays instant and free.","status":"ga","scope":null,"keywords":["routing","regex","cheap"],"body":null}]}