What you're about to read
One client, four departments, 65 ideas — and the architecture that makes them one system
This is a consulting case from my time at TRAI, anonymized: a large, licensed online sports-betting platform in Türkiye had run an internal ideation workshop and ended up with 65 AI use cases that all looked equally urgent. My job was to turn that wall of ideas into something buildable — grouping the ideas by the data they read and the decision they make, drawing them as connected flows on one shared core, and ranking them so the client knew where to start.
The deliverable was an interactive session page per department and a client-ready architecture section; it was an architecture and prioritization deliverable, not a production rollout. This page is a faithful rebuild of it: the flow diagrams are the session's exact diagrams, the scores are the session's own method applied to the entries, and every mini-project and step opens the explanation the client saw.
How to read it:
- Hexagons are System One typed decisions — a fast model with a fixed answer set and a calibrated confidence.
- Dashed amber boxes are reasoning steps on the client's internal LLM; select one for its input, task and output.
- Shaded blocks are mini-projects — select a chip above a diagram, or the block itself, to highlight it and read what it covers; its use cases link to their rows in the ranking, and every ranked use case links back to its block.
- Plain boxes and cylinders are deterministic code and data stores.
Index
- The case in one pageWhat we found in the 31 IT entries, what we recommend, and what the follow-up prioritization session settled.
- The common pattern and the System One modelThe four steps every block follows, and what a typed decision is versus a reasoning step.
- Flows A–D for IT & DevOpsThe exact session diagrams: Observe, Operate, Deliver and the Orchestrator over them, each with its mini-projects and explainable steps.
- PrioritiesScoring criteria and weights, the Top 5, the impact-vs-feasibility map, the start order and the full ranking of 31.
- Data & accessWhich data source unlocks which block — a readiness checklist you can tick — plus what to confirm, decide early or leave for later.
- Phased roadmap & safety modelThree phases from quick wins to the orchestrator, and the rules that keep every block advisory until proven.
- The other departmentsThe same analysis for Engineering, Governance & Security and Finance: flows, Top 5 and ranking per session.
- What this is, and is notThe deliverable, the rest of the TRAI work, and how this page was anonymized.
01 · The case in one page
Thirty-one IT and DevOps ideas consolidate into four connected flows and 23 building blocks — ten of them can start without waiting for anything else
What we found
- Most entries describe the same two moves on different data: watch a stream and decide what matters, then investigate and recommend. Built once, these serve databases, hosts, pipelines and clusters alike.
- Several items were already live in some form (CI log analysis, the network-health report, legal-request matching, IP blocking) and become reusable parts rather than new builds.
- The DevOps "copilot" is not one more project: it is the layer that sits over all of the above, so it is planned last and not scored on its own.
- One idea was answered without AI at all — serve images sized to the device instead of upscaling them.
What we recommend
- Phase 1: the quick wins plus the two triage workers everything else reuses — Alert Triage and Monitoring / DB Health Check.
- Phase 2: the programmes — DB Incident Investigator, Auto-Remediation / Disk Capacity, Engine health: Kafka / Redis / proxy, MR review — on the shared core built in phase 1.
- Phase 3: the Orchestrator (copilot front door) and specialist agents, once the workers exist to be asked.
- Every block recommends; a person acts. No automatic change on production in phase 1.
What the follow-up prioritisation session settled
| Topic | Decision / confirmation | Use cases |
|---|---|---|
| DevOps Copilot | One phased programme, not a big chatbot: router + specialist agents by topic; Q&A first, actions later by action type. Existing K8s / Loki / Prometheus tool-calling is the starting connector layer. Not scored as separate items. | DevOps Copilot Kubernetes Troubleshooting Observability Copilot |
| Database agents | Health Check → Incident Investigator confirmed as two linked agents that recommend only; triggers are monitoring alarms, a Health Check finding, or a DBA prompt. "The DB agents can be merged and phased." | DB Health Check DB Incident Investigator Capacity Prediction Privilege Audit |
| DB Cleanup | An assessment skill that scans the code for the objects the DBA plans to drop and returns evidence; monthly; nothing is dropped by the agent. ROI = capacity and unused indexes. | Database Cleanup Assessment |
| CDN transfer | Not AI. Serve x/2x/3x images by device resolution now. | CDN Data Transfer |
| Already live | CI log analysis (Engineering), the half-hourly NOC report (NetSec → internal LLM), legal-request matching, IP blocking and the MAC portal exist today. Live AI uses go into the AI asset inventory (governance); the automations leave the AI list. | Automated Test Results/Pipeline Failure Analyzer · NOC Network Health Report · Legal Requests (IP/port) · Malicious IP Blocking · VPN MAC Filter Upkeep |
| Internal LLM | The client has an internal LLM in use (NOC script, "Internal LLM" on Deployment Risk). Which model, where hosted and who operates it decides what data may reach a model. | Deployment Risk Analyzer NOC Network Health Report |
| Prioritisation | "Right now everything is 10-10-10." TRAI consolidates and merges with its notes, then ranks; smaller per-department sessions follow. The Top 5 page is that ranking for this session. | Top 5 |
Scores and ranks on this page are the session's own prioritization method applied to the entries — the output of the method, not a measure of results. Nothing here describes a production deployment at the client.
02 · The common pattern
Every building block follows the same four steps — which is why 23 blocks need one core rather than 23 integrations
1 · read
Read once
Connectors pull metrics, logs, alarms, code and tickets into shared stores. Each source is wired once; every block reads from the store, never from the system directly.
2 · typed decision
Decide what matters
A System One model with a fixed answer set sorts the stream: normal / warning / critical, flaky / regression, low / high risk. Cheap enough to run on everything, and fully logged.
3 · reasoning
Investigate and recommend
Only what was flagged reaches the reasoning model, which works through the team's own checklist and writes the root cause, the fix or the draft — on the client's internal LLM, citing its evidence.
4 · person
A person acts
Findings land in one report and one memory. Anything that would change a system passes an approval gate; low-risk automation is switched on only after a calibration period.
Two kinds of model
Every decision in the flows is labelled. Hexagons are typed decisions made by a System One model: structured input in, one of a fixed set of answers out, with a confidence. Dashed boxes are reasoning calls: open-ended, multi-step, free text. Everything else is deterministic code or a data store.
The typed-decision layer
A System One model
A System One model does not write text. It takes free input — an alarm, a log line, a merge request, a ticket — and returns one of a predefined set of typed decisions with a calibrated confidence. Classify, route, score, extract into fixed fields, branch: the "smart if-statement" layer that decides what deserves attention. In the flows below every hexagon is one of these decisions; every dashed amber box is the reasoning LLM that works through what the typed layer flagged.
| Output | Typed: one of a fixed set of answers, in a locked schema. The model cannot answer outside the schema. |
|---|---|
| Confidence | A calibrated probability with every answer, so thresholds can be set and measured instead of guessed. |
| Speed and cost | Fast and cheap enough to run on every event in a stream — every alarm, metric window and log line — not only on the ones someone escalates. |
| Limits | No text generation and no open-ended reasoning: anything that needs a narrative, a plan or multi-step tool use goes to the reasoning LLM. |
| Where it sits | In the trigger router and the log-analysis primitive of the core, behind a rule pre-filter; the reasoning LLM works only on what it labels unclear or critical. |
"Smart if-statements" — classify, route, score, extract into fixed fields, branch. High volume, low latency, calibrated confidence. Verifying / guardrailing LLM output.
Root-cause narrative, resolution text, multi-step tool use, screen/image understanding, code and document generation. These are LLM / agent work.
Time-series forecasting (capacity), rule-based scanning (catalog hygiene), RPA/API (SAP). Classical statistics and deterministic code are both cheaper and more accurate.
How the use cases were readTwo lenses were applied to every use case. Fit lens: which sub-decisions here are classify / route / score / extract? Redesign lens: if a calibrated typed decision were near-free and instant, how would the use case be rebuilt? The first lens sets the baseline; the second raised three IT ratings (Incident Investigator, Cleanup, Capacity) — noted as "Revised view" in their rows below.
PreconditionsData residency: if the typed model is consumed as an external service, sending SIEM alarms, database logs or finance data out of the company needs an explicit compliance decision and an input anonymisation layer before production. Turkish-language performance: logs and metrics are mostly English; alarm descriptions, PRDs and requirement documents are Turkish. Do not rely on Turkish input before calibration is tested.
Open questions carried into the sessionsIs there a compliance position on using an offshore API for sensitive data (SIEM, DB logs)? Is input anonymisation acceptable? · Can a pilot evaluation be run on Turkish alarm/requirement text? · Which team owns the analyst_override / approved_by feedback needed for calibration measurement? · Which classical model for time series (Capacity, Cloud cost baseline) — a non-AI decision, but it defines the core's baseline store.
03 · IT & DevOps — four connected flows
The exact flow diagrams from the session, restyled
Flows A–C are the working flows — observation, operations and delivery. Flow D is the orchestrator that sits over them. Above each diagram are its mini-projects: select one to highlight its shaded block and read what it does, which use cases it covers and how it connects; select it again to clear. Select a hexagon or a dashed box for that step's input, decision and output. Edge labels say which decision class takes which path.
APlatform observation (original entries)
Flow A is the observation layer for the platform and the databases — the IT platform team's original entries. Metrics, logs and alarms arrive through the connectors from OEM, Zabbix and Grafana; a routine Monitoring / Health Check pass turns that stream into a small number of typed triage decisions; anything that is not normal is handed to the DB Incident Investigator, which does the deep, multi-step root-cause work and writes what it finds into a shared incident memory. Three narrower branches hang off the same decisions — Disk Space (the first decision that becomes an approved action), DR Readiness (a periodic scorecard that reuses the health and capacity signals) and Cloud Cost (its own billing data plane, joining the flow only at the report). Everything ends in one daily report whose narrative is written once, by a single shared step. Nothing in this flow acts on production; every block recommends and a person decides.
Mini-projects in this flow — select one to highlight it and read what it does
BOperations: alarm triage, remediation, drift, engine health
Flow B is the operations layer built from the DevOps entries from the second round: what happens when an alarm fires. Every Zabbix/Opsgenie alarm enters through Alert Triage, which deduplicates it, classifies it and — where useful — has Ansible collect the facts before deciding the cause. From that cause class the Auto-Remediation / Disk Capacity block picks a playbook and a risk class, and only low-risk, high-confidence runs go without approval; everything else waits for on-call. Two further blocks share the same stores and gate without being on the alarm path: Configuration Drift compares declared and actual configuration on a schedule, and the engine-health block applies Flow A's check-and-investigate pattern to Kafka, Redis and the proxy layer. Flow B writes the same triage table and incident memory as Flow A, so an alarm and a health finding about the same host are one record, not two.
Mini-projects in this flow — select one to highlight it and read what it does
Alert Triage decides what is wrong; Auto-Remediation picks a playbook and a risk class, and only low-risk / high-confidence runs without approval. Drift and engine-profile health checks (Kafka, Redis, proxy) feed the same finding and investigator paths.
CDelivery: CI, merge requests, deployments, releases, Kubernetes, postmortems
Flow C is the delivery layer — CI, merge requests, deployments, releases, Kubernetes incidents and postmortems, all on GitLab and Jira data. Unlike A and B it is not one chain: the blocks are mostly independent projects that run on their own triggers (a pipeline finishing, a merge request opening, a release being cut) and are connected through data rather than through control. The Pipeline Failure Analyzer and MR review produce findings; Deployment Risk reads those findings plus incident history to decide whether a deployment waits for a human; the K8s / Incident Analyzer writes to the same incident memory as Flow A's DB Investigator so a cross-layer incident is investigated once; Postmortem reads everything the others have stored once an incident closes. This is where most of the quick wins sit, and where Engineering's already-live CI analysis (Automated Test Results) and the existing Code Review Agent are reused rather than rebuilt.
Mini-projects in this flow — select one to highlight it and read what it does
The delivery side. CI triage is the same worker as Engineering Automated Test Results; MR review is one worker with three rule sets (code, IaC, security); deployment risk is indicators only; the K8s investigator is a profile of the same Incident Investigator as DB Incident Investigator.
DIT Orchestrator: one router, specialist agents per data source, shared services
Flow D is the end vision rather than a fourth working flow: the IT orchestrator that sits over A, B and C. A person's question, an alarm, a schedule or a CI event enters one router, which decides which specialist agent owns the data and whether the request reads or writes; the six specialist agents — GitLab, Kubernetes, observability, host & alarm, database, cloud/CDN/ticketing — are the conversational faces of the workers in the three flows, running on the same connectors and the same shared services (findings, memory, reports, the action guard and approval). Flows A–C keep running on their own triggers underneath; Flow D is how they are asked questions and, in phase 2, how actions are requested through one approval gate. It is built last, on top of whatever the first three flows have already produced, and reuses the tool-calling DevOps already has as its first connector layer.
Mini-projects in this flow — select one to highlight it and read what it does
The consolidated picture for IT. Every trigger — a person's question, an alarm, a schedule, a CI or merge-request event — enters one orchestrator. It classifies the task (which specialist agent owns the data, read or write) and dispatches it; the specialist agents are the only components that touch their data sources; everything they produce goes through the same shared services (findings, memory, reports, action guard + approval). Flows A–C are the internal workings of the specialist agents; this flow is how they are wired together.
04 · Priorities
Where to start: eight blocks combine high impact with low dependency — four of them are the triage and investigation workers everything else reuses
Top 5 use cases
Our evaluation, not the team's own workshop scores. Five criteria, each 1–5, weighted; a case that is the same worker as a higher-ranked one is folded into it rather than listed twice.
- 1
Alert Triage Assistant
Classifier ★★★100The team's ask · paraphrasedWhen a Zabbix alert fires, someone checks CPU, memory, disk, services and logs separately, often repeating the same checks. We wanted that gathered automatically, with a summary and suggested action attached to the alert.
Every Zabbix alarm passes through it, the team's own workshop scores put it at 9 for feasibility and 9.3 for desirability, the Ansible collection path already exists, and it is the concrete form of the trigger router in the core — Monitoring Agent and Disk Space become its first two decision classes.
Business impact5Feasibility5Data readiness5Reuse / leverage5Risk1Flow B · Alert TriageRow in the ranking →Same worker as: Monitoring Agent · Disk Space
- 2
Auto-Remediation
Classifier ★★★96The team's ask · paraphrasedWe keep applying the same fixes by hand for full disks, stopped services and memory-hungry processes. We wanted the right playbook suggested with human approval first, and run automatically for low-risk cases later.
The first use case in the set that turns a decision into a safe action: a fixed playbook catalogue, a confidence threshold and a risk class give an auditable "auto vs approve" rule. Paired with Alert Triage it closes the loop from alarm to fix for the recurring 80%.
Business impact5Feasibility5Data readiness5Reuse / leverage5Risk3Flow B · Auto-Remediation / Disk CapacityRow in the ranking →Same worker as: Alert Triage Assistant · Disk Space
- 3
Load Balancer Troubleshooting
Classifier ★★96The team's ask · paraphrasedTracking down gateway errors, timeouts and backend failures on our load balancers means reading many logs and configs together. We wanted help pinpointing the source, including running connectivity and health checks when needed.
Medium — the reasoning is LLM; the error class saves most of it. Third profile of the same Incident Investigator worker (DB DB Incident Investigator, platform Incident Analyzer, proxy Load Balancer Troubleshooting)
Business impact5Feasibility4Data readiness5Reuse / leverage5Risk1Flow B · Engine health: Kafka / Redis / proxyRow in the ranking →Same worker as: Incident Analyzer · DB Incident Investigator
- 4
DevSecOps Reviewer
Classifier ★★★94The team's ask · paraphrasedSecrets or insecure settings can end up in code by mistake, and sorting through security scanner results by hand takes effort. We wanted AI to explain findings, suggest fixes and flag risks during code review.
Security findings at review time are cheap to fix and expensive later; scanner output already exists and is ignored because of volume. Triage-by-classifier turns an unread report into a gate.
Business impact5Feasibility4Data readiness5Reuse / leverage5Risk2Flow C · MR reviewRow in the ranking →Same worker as: IaC Reviewer · Code Review Agent
- 5
Deployment Risk Analyzer
Classifier ★★★93The team's ask · paraphrasedWe judge deployment risk mostly by hand and don't use our deployment history systematically. We wanted clear risk signals, like a pending migration or recent failures, without the system making the call.
Highest-leverage guardrail in the group: every production change passes through it, the inputs already exist in GitLab and the incident memory, and the output is explicitly indicators, not decisions — no autonomy risk.
Business impact5Feasibility4Data readiness4Reuse / leverage5Risk1
All 31 cases: impact vs feasibility
Start order
- Alert Triage & Monitoring / DB Health Checkevery other block reads from them — start here regardless of score
- Auto-Remediation / Disk Capacityranks high; stays behind approval until calibrated
- Engine health: Kafka / Redis / proxythe Health Check → Investigator pair with engine profiles
- MR reviewneeds only GitLab, the scanners and the internal LLM
- Deployment Riskindicators only — people make the go/no-go call
- K8s / Incident Analyzertime-correlated root cause on the tool-calling DevOps already has
- Pipeline Failure Analyzersame worker as the CI analysis already live in Engineering
- DB Incident Investigatorbuilt on the Health Check's findings
All 31 IT & DevOps use cases, ranked
Select a name for what the team asked for (paraphrased from their workshop entry, not quoted), where the intelligence sits, what the typed decision takes over and what stays with the reasoning LLM; the block column jumps to the mini-project in its flow. Classifier stars: ★★★ direct fit · ★★ one sub-task · ★ marginal · — not applicable.
| Rank | Use case | Team | Block in the flows | Impact | Feas. | Data | Reuse | Risk | Score | Classifier |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | DevOps | Flow B · Alert Triage | 5 | 5 | 5 | 5 | 1 | 100 | ★★★ | |
The team's ask · paraphrasedWhen a Zabbix alert fires, someone checks CPU, memory, disk, services and logs separately, often repeating the same checks. We wanted that gathered automatically, with a summary and suggested action attached to the alert. Where the intelligence isAlarm triage + evidence collection Sub-task for the System One typed decisionAlarm → {known-benign, needs-collection, escalate} class and which collection playbook to run; after collection, cause class {cpu, memory, disk, service, network, other} Stays with the reasoning LLMThe incident summary and suggested action written into Opsgenie Gain from the typed layerVery high — this is Monitoring Agent and Disk Space generalised to every Zabbix alarm, with feasibility scored 10 by the team. It is the first worker to build in the group Same worker asMonitoring Agent · Disk Space What the follow-up session saidAlert Triage is the entry point of Flow B; the same alarm stream also feeds the Governance SOC triage (SOC Analyst) on the security side — one triage_decision table, two consumers. | ||||||||||
| 2 | DevOps | Flow B · Auto-Remediation / Disk Capacity | 5 | 5 | 5 | 5 | 3 | 96 | ★★★ | |
The team's ask · paraphrasedWe keep applying the same fixes by hand for full disks, stopped services and memory-hungry processes. We wanted the right playbook suggested with human approval first, and run automatically for low-risk cases later. Where the intelligence isPlaybook selection + risk-gated execution Sub-task for the System One typed decisionAlarm + collected state → {playbook id, none} with confidence, plus a risk class {low, medium, high}; the confidence × risk pair decides auto-run vs approval Stays with the reasoning LLMNone on the decision path; a one-line explanation for the approver Gain from the typed layerVery high — choosing one of a fixed set of playbooks is the canonical typed decision, and the team already frames it as approval-first. This is the action arm of Alert Triage (Alert Triage Assistant): triage decides what is wrong, remediation decides which playbook Same worker asAlert Triage Assistant · Disk Space | ||||||||||
| 3 | DevOps | Flow B · Engine health: Kafka / Redis / proxy | 5 | 4 | 5 | 5 | 1 | 96 | ★★★ | |
The team's ask · paraphrasedTracking down gateway errors, timeouts and backend failures on our load balancers means reading many logs and configs together. We wanted help pinpointing the source, including running connectivity and health checks when needed. Where the intelligence isInvestigator profile: proxy layer Sub-task for the System One typed decisionError class {backend down, timeout, DNS, connection limit, TLS, config} from the log pattern → picks the checks to run Stays with the reasoning LLMCorrelating logs, health and config into a cause; choosing follow-up tests Gain from the typed layerMedium — the reasoning is LLM; the error class saves most of it. Third profile of the same Incident Investigator worker (DB DB Incident Investigator, platform Incident Analyzer, proxy Load Balancer Troubleshooting) Same worker asIncident Analyzer · DB Incident Investigator | ||||||||||
| 4 | DevOps | Flow C · MR review | 5 | 4 | 5 | 5 | 2 | 94 | ★★★ | |
The team's ask · paraphrasedSecrets or insecure settings can end up in code by mistake, and sorting through security scanner results by hand takes effort. We wanted AI to explain findings, suggest fixes and flag risks during code review. Where the intelligence isSecurity-finding triage Sub-task for the System One typed decisionPer scanner finding: {true positive, false positive, accepted risk, needs review} + severity — the same shape as SOC alarm triage Stays with the reasoning LLMFix suggestion text for confirmed findings Gain from the typed layerHigh — scanners produce far more findings than anyone reads; triage is the bottleneck, and it is a typed decision. Same "MR review" family as IaC Reviewer and Code Review Agent Same worker asIaC Reviewer · Code Review Agent | ||||||||||
| 5 | DevOps | Flow C · Deployment Risk | 5 | 4 | 4 | 5 | 1 | 93 | ★★★ | |
The team's ask · paraphrasedWe judge deployment risk mostly by hand and don't use our deployment history systematically. We wanted clear risk signals, like a pending migration or recent failures, without the system making the call. Where the intelligence isTyped risk indicators over the change set Sub-task for the System One typed decisionPer deployment: each risk indicator as a typed flag with confidence (migration present, critical-service touched, recent failures, large diff, first-time author on service) and an overall risk class Stays with the reasoning LLMOptional one-line explanation of why an indicator fired Gain from the typed layerVery high — the entry itself says "the system does not decide, it shows indicators"; that is a typed-decision product by definition. Same score the Engineering SDLC agents use as agent_task.risk_score What the follow-up session saidworkshop now names "Internal LLM" as the model — consistent with the NOC report script (NOC Network Health Report) already sending to "our LLM". Confirm in the session which model and who operates it. | ||||||||||
| 6 | DevOps | Flow C · K8s / Incident Analyzer | 5 | 4 | 4 | 5 | 1 | 93 | ★★★ | |
The team's ask · paraphrasedDuring an incident our logs, metrics, cluster events and deploy history sit in separate places, so finding the root cause drags on. We wanted them correlated by time, with likely causes summarized for us. Where the intelligence isTime-correlated root-cause reasoning Sub-task for the System One typed decisionPer signal in the window: "anomaly onset?" and "related to a change?" flags — the LLM reasons only over signals that fired Stays with the reasoning LLMCorrelation narrative, root-cause candidates Gain from the typed layerMedium-high — the platform twin of DB Incident Investigator; one Incident Investigator worker with a DB profile and a platform profile Same worker asDB Incident Investigator | ||||||||||
| 7 | DevOps | Flow C · Pipeline Failure Analyzer | 4 | 5 | 5 | 5 | 1 | 92 | ★★★ | |
The team's ask · paraphrasedDigging through CI/CD logs for pipeline failures is slow, depends on who's looking, and repeats for the same errors. We wanted AI to point to the likely cause and fix, using past failures. Where the intelligence isCI log triage + fix suggestion Sub-task for the System One typed decisionPer failed job: {regression, flaky, infra, env, data, dependency} class + fingerprint (dedupe "same failure again") + priority Stays with the reasoning LLMExplanation of the probable cause and the fix steps, only for new fingerprints Gain from the typed layerVery high — the same failures recur; once fingerprinted, most jobs never reach the LLM. This is the same worker as Engineering Automated Test Results: one CI-triage worker, two consumers Same worker asAutomated Test Results What the follow-up session saidEngineering said their CI log analysis is already live (Automated Test Results). Establish what runs and on which model; this DevOps entry and Automated Test Results are the same CI-triage worker. | ||||||||||
| 8 | DevOps | Flow B · Engine health: Kafka / Redis / proxy | 4 | 5 | 5 | 5 | 1 | 92 | ★★★ | |
The team's ask · paraphrasedWe mostly analyze Redis slowdowns, memory pressure, slow commands, connection spikes and replication issues by hand. We wanted its stats checked regularly for anomalies and capacity problems, with a likely cause explained during incidents. Where the intelligence isHealth checks + incident explanation Sub-task for the System One typed decisionPer instance per window: {healthy, watch, warn} + cause class {memory, slow command, connections, replication} — the Redis profile of DB Health Check Stays with the reasoning LLMIncident explanation Gain from the typed layerHigh — same shape as Kafka and DB health; one health-check worker with engine profiles Same worker asDB Health Check | ||||||||||
| 9 | DevOps | Flow B · Auto-Remediation / Disk Capacity | 4 | 5 | 5 | 5 | 2 | 90 | ★★★ | |
The team's ask · paraphrasedLogs and app data can fill our disks fast, and we usually only investigate after the alert. We wanted disk growth forecast ahead of time, and the cause found automatically when an alert fires. Where the intelligence isTrend forecast + cause classification + safe cleanup Sub-task for the System One typed decisionGrowth cause class {logs, journal, containers, app data, deleted-open, unknown} from the collected evidence; "safe to clean automatically?" decision Stays with the reasoning LLMNone Gain from the typed layerHigh — this is Disk Space and the disk part of Capacity Prediction done properly: statistics for the forecast, a typed cause class, a fixed cleanup playbook set. Same worker as Auto-Remediation for the action Same worker asDisk Space · Capacity Prediction · Auto-Remediation | ||||||||||
| 10 | the IT platform team | Flow A · DB Incident Investigator | 5 | 3 | 4 | 5 | 1 | 89 | ★★★ | |
The team's ask · paraphrasedWhen a database alarm fires or looks likely, we wanted the root cause found for us: query plans, blocking, waits, recent deployments and similar past incidents, with a suggested fix. Where the intelligence isMulti-step root-cause analysis (AWR/ASH, top SQL, plans, blocking, deploy correlation) Sub-task for the System One typed decisionEntry gate: "is the alarm real?", incident type, "which check first?" routing — plus, inside the worker, the "is this normal?" verdict on each of the ~10 routine checks Stays with the reasoning LLMRoot-cause reasoning, hypothesis chaining, deploy correlation, resolution text — the intelligence here cannot be cut Gain from the typed layerMedium — the reasoning core stays LLM, but most tool calls in the loop are normal/abnormal checks that the typed classifier answers in ~100 ms for free; the LLM then reasons only over flagged checks Same worker asIncident Analyzer Revised viewRated ★ in the first pass (gate only). Under typed-decision economics the shape changes: the agent runs ~10 checks per incident, and each "is CPU / wait event / plan change abnormal?" is a typed decision. The typed classifier inside the worker cuts LLM tokens per incident by an estimated 70–80% without touching the reasoning step. Raised to ★★. | ||||||||||
| 11 | the IT platform team | Flow A · Monitoring / DB Health Check | 4 | 4 | 5 | 5 | 1 | 88 | ★★★ | |
The team's ask · paraphrasedRoutine database health checks take longer as we add more databases. We wanted each one's metrics and logs reviewed automatically, with recommendations before an alarm ever fires. Where the intelligence isMetric/log triage Sub-task for the System One typed decisionPer check: {healthy, watch, warn} + category; one schema across five engines Stays with the reasoning LLMPrecaution recommendation text before the alarm fires Gain from the typed layerVery high — hundreds of checks per day, each in milliseconds What the follow-up session saidConfirmed: routine checks across OEM, Zabbix and Grafana, suggestions before an alarm forms; when it produces an alarm it both reports and triggers the Incident Investigator. Both agents recommend only — no action on production. | ||||||||||
| 12 | DevOps | Flow C · K8s / Incident Analyzer | 4 | 4 | 5 | 5 | 1 | 88 | ★★★ | |
The team's ask · paraphrasedDiagnosing a failing Kubernetes pod means running many commands across several sources. We wanted a read-only assistant that gathers the cluster state, connects the dots and suggests a likely cause and next steps. Where the intelligence isMulti-source root-cause reasoning (K8s) Sub-task for the System One typed decisionSymptom class {CrashLoop, OOM, Pending, ImagePull, network, node} from events → picks the runbook and the checks to run first Stays with the reasoning LLMCorrelation, root-cause statement, troubleshooting steps Gain from the typed layerMedium — the reasoning is LLM, exactly like DB Incident Investigator: same worker template, different connectors Same worker asDevOps Copilot · Observability Copilot What the follow-up session saidFolded into the DevOps Copilot programme (DevOps Copilot) as the Kubernetes specialist agent; the existing K8s/Loki/Prometheus tool-calling is reused, not rebuilt. | ||||||||||
| 13 | DevOps | Flow B · Configuration Drift | 4 | 5 | 5 | 3 | 1 | 86 | ★★★ | |
The team's ask · paraphrasedServers that should match slowly drift apart through manual changes to packages, kernel settings, services and configs. We wanted servers in the same group compared regularly, with the differences that matter explained. Where the intelligence isDeterministic diff + significance classification Sub-task for the System One typed decisionPer detected difference: {cosmetic, worth noting, risky, critical} and the affected area Stays with the reasoning LLMExplanation of why a risky drift matters, only for risky/critical Gain from the typed layerHigh — the diff is free; the value is in not reading 400 harmless differences. A typed significance verdict per difference is exactly the right shape | ||||||||||
| 14 | DevOps | Flow C · MR review | 4 | 4 | 5 | 5 | 2 | 86 | ★★★ | |
The team's ask · paraphrasedBad resource limits, risky settings and broken configurations in infrastructure-as-code changes can slip through manual review. We wanted AI to review those changes in the merge request and leave comments. Where the intelligence isMR review (IaC) Sub-task for the System One typed decisionPer changed resource: policy-violation class {none, limits, security, availability, style} + severity; decides whether the LLM comments at all Stays with the reasoning LLMThe review comment text with the suggested change Gain from the typed layerMedium — policy checks are largely rule-based (OPA/Checkov-style); the classifier ranks what the LLM should explain. Belongs to the same "MR review" family as Code Review Agent and DevSecOps Reviewer Same worker asDevSecOps Reviewer · Code Review Agent | ||||||||||
| 15 | DevOps | Flow B · Engine health: Kafka / Redis / proxy | 4 | 4 | 5 | 5 | 2 | 86 | ★★★ | |
The team's ask · paraphrasedDiagnosing Kafka broker, partition, replication and disk issues means piecing together lots of metrics and CLI output. We wanted an assistant that spots replication problems, consumer lag and capacity risks, and helps plan restarts. Where the intelligence isHealth checks + plan Sub-task for the System One typed decisionPer broker/topic/partition per window: {healthy, watch, warn} + cause class — the Kafka profile of DB Health Check Stays with the reasoning LLMRolling-restart plan text; explanation of a warn Gain from the typed layerHigh — most listed tasks are typed checks over metrics; only the rolling-restart plan and explanations are prose Same worker asDB Health Check | ||||||||||
| 16 | the IT platform team | Flow A · Monitoring / DB Health Check | 4 | 4 | 4 | 5 | 1 | 85 | ★★★ | |
The team's ask · paraphrasedWe wanted an agent that watches our logs and metrics around the clock, spots anomalies, suggests a fix, pages the on-call engineer when needed, and warns us before bottlenecks hit. Where the intelligence isAnomaly classification + recommendation Sub-task for the System One typed decisionFor every log/metric window: anomalous? → {normal, warn, critical} + category; at 24/7 volume Stays with the reasoning LLMResolution text, narrative for the on-call engineer Gain from the typed layerVery high — calling an LLM on a continuous stream is uneconomical; the typed classifier filters the stream in under 100 ms Same worker asAlert Triage Assistant · NOC Network Health Report | ||||||||||
| 17 | DevOps | Flow D · Kubernetes agent | 4 | 5 | 5 | 2 | 2 | 81 | ★★★ | |
The team's ask · paraphrasedWe often set Kubernetes CPU and memory limits by guesswork, which wastes resources or leads to crashes and throttling. We wanted per-deployment recommendations based on how much each service actually uses. Where the intelligence isPercentile statistics + rules Sub-task for the System One typed decisionWorkload shape class {steady, bursty, batch} to pick the right sizing rule Stays with the reasoning LLMNone Gain from the typed layerLow — P95/P99 arithmetic and VPA-style recommenders do this without AI; the classifier only chooses the rule set | ||||||||||
| 18 | the IT platform team | Flow D · Database agent | 4 | 4 | 4 | 3 | 1 | 79 | ★★★ | |
The team's ask · paraphrasedWe wanted to catch over-privileged database users quickly by regularly checking what rights each account holds and how often it actually uses them, then reporting the excess. Where the intelligence isRules + contextual classification Sub-task for the System One typed decision"Is this privilege excessive for this role?" score, with usage-frequency context — run continuously on every principal Stays with the reasoning LLMNot needed Gain from the typed layerMedium — closes the grey zone the rule engine leaves; the same bandwidth argument as Cleanup applies | ||||||||||
| 19 | the IT platform team | Flow A · Disk Space | 3 | 5 | 5 | 4 | 2 | 79 | ★★★ | |
The team's ask · paraphrasedWhen a low-disk alert fires, someone has to check the server, decide whether to clean up or expand, and get approval. We wanted that handled step by step, with on-call kept informed. Where the intelligence isDecision: {cleanup, extend, escalate, wait} Sub-task for the System One typed decisionTyped decision + confidence from server state; the approval threshold is tied to the confidence score Stays with the reasoning LLMRationale text for the on-call engineer (short; a template also works) Gain from the typed layerHigh — decision at alarm time, no LLM latency Same worker asAlert Triage Assistant | ||||||||||
| 20 | DevOps | Flow C · Release Notes | 3 | 5 | 5 | 3 | 1 | 78 | ★★★ | |
The team's ask · paraphrasedPutting together what goes into each production release by hand takes time. We wanted release notes built from commits, merge requests and tickets, sorted into fixes, features, infrastructure and configuration. Where the intelligence isChange categorisation + prose Sub-task for the System One typed decisionPer commit/MR: category {bug fix, feature, infra, database, config} and "user-visible?" flag Stays with the reasoning LLMOne paragraph of release-note prose per category Gain from the typed layerHigh — categorisation is the whole job; the prose is a short single call. The same categorised change list feeds Deployment Risk Analyzer | ||||||||||
| 21 | DevOps | Flow D · Host & alarm agent | 4 | 4 | 4 | 3 | 3 | 75 | ★★★ | |
The team's ask · paraphrasedPlanning OS patching around service dependencies, reboots and the order cluster nodes get updated is done by hand. We wanted a maintenance plan built from each server's role, then a controlled rolling update. Where the intelligence isDependency-aware plan + controlled execution Sub-task for the System One typed decisionPer server: role class, "reboot required?", "safe to patch now?" from health and cluster state; patch-order gating per batch Stays with the reasoning LLMPlan narrative and the rationale for the proposed order; none needed for execution Gain from the typed layerMedium — the plan is largely derivable from inventory and dependency data; the typed gates are what make rolling execution safe. Execution stays behind approval | ||||||||||
| 22 | the IT platform team | Flow A · Report narrative | 3 | 4 | 5 | 3 | 1 | 74 | ★★★ | |
The team's ask · paraphrasedWe wanted to track database resources like disk, memory, CPU and connections, and get a forecast of when each one will hit its limit. Where the intelligence isTime-series forecasting Sub-task for the System One typed decisionPer object daily: "breaches in {7, 30, 90, never} days?" as a classification over recent-trend features — coverage over precision Stays with the reasoning LLMNarrative report Gain from the typed layerLow-medium — the forecast itself stays with classical models (Prophet/ARIMA). The typed classifier adds breadth: a coarse horizon class on every tablespace/partition/host, where per-object model fitting would never be done Revised viewRated — in the first pass ("not a typed-classifier task"). Correct for the forecast, but too quick: the typed classifier at that price makes it viable to classify every object daily into a breach-horizon bucket. Worse per-object accuracy than ARIMA, far wider coverage. Raised to ★. | ||||||||||
| 23 | DevOps | Flow C · Postmortem | 3 | 4 | 4 | 4 | 1 | 74 | ★★★ | |
The team's ask · paraphrasedWriting up an incident afterward, with the timeline, cause, impact and follow-ups, is slow manual work. We wanted a draft postmortem pulled together from our monitoring, logs and tickets that the team then checks. Where the intelligence isDocument generation from the incident record Sub-task for the System One typed decisionTimeline event class {detection, escalation, mitigation, change, recovery} to structure the draft Stays with the reasoning LLMThe postmortem draft itself Gain from the typed layerLow-medium — mostly generation; the value depends on the incident memory (DB Incident Investigator, Incident Analyzer) being populated first | ||||||||||
| 24 | the IT platform team | Flow D · Cloud, CDN & ticketing agent | 3 | 4 | 4 | 4 | 2 | 72 | ★★★ | |
The team's ask · paraphrasedWe wanted legal information requests handled automatically, with the final report checked for gaps and the missing data pinpointed so we can complete it from our log archives. Where the intelligence isReport sufficiency analysis Sub-task for the System One typed decisionPer-field {missing, present, unclear} check; class for which source completes it Stays with the reasoning LLMIdentifying data to fill the gaps, report text Gain from the typed layerMedium — the checking step gets cheap Same worker asLegal Requests (IP/port) What the follow-up session saidThe legal-request matching tool already exists on the NetSec side (Legal Requests (IP/port): QRadar + Splunk APIs, matches by time and source IP; 25k rows in ~1.5 h). This worker sits on top of it — it checks sufficiency and fills gaps, it does not redo the matching. | ||||||||||
| 25 | the IT platform team | — | 3 | 4 | 4 | 4 | 2 | 72 | ★★★ | |
The team's ask · paraphrasedInvoices go through several approval steps. We wanted to upload an invoice image, have its details read automatically, and route it from approver to approver, with notifications by chat and email. Where the intelligence isDocument extraction + approval routing Sub-task for the System One typed decisionTyped extraction of the invoice fields (supplier, amount, VAT, date, cost centre) and "which approval chain?" routing Stays with the reasoning LLMVision model for the image → text step when invoices arrive as photos; not needed for e-invoice XML Gain from the typed layerMedium — the workflow is deterministic; the extraction is the AI step and it is the same primitive Finance needs for Smart PO Matching, so it is built once | ||||||||||
| 26 | DevOps | Flow D · Orchestrator (copilot front door) | 4 | 3 | 3 | 4 | 3 | 71 | ★★★ | |
The team's ask · paraphrasedDevelopers keep coming to us for deployment status, pod restarts, failed pipelines and log queries. We wanted an assistant they can ask in plain language, read-only first, then acting with approval. Where the intelligence isRouter + specialist agents (GitLab, Kubernetes, observability, host & alarm, database, cloud) — phase 1 read-only Q&A by topic, phase 2 approval-gated actions by action type Sub-task for the System One typed decisionIntent → tool routing (which system, which query template) and the read/write guardrail on every proposed action Stays with the reasoning LLMQuestion understanding, query composition, answer synthesis Gain from the typed layerMedium — the agent loop is LLM; the classifier keeps it on the safe, read-only path. Merge with Observability Copilot and K8s Troubleshooting (Kubernetes Troubleshooting): one copilot, several skills Same worker asKubernetes Troubleshooting · Observability Copilot What the follow-up session saidDecided in the room: no single big DevOps chatbot. A router plus specialist agents by topic (Flow D), phased by topic — phase 1 answers questions only, phase 2 takes actions, grouped by action type. DevOps already has tool-calling into Kubernetes, Loki and Prometheus (built in-house); that becomes the first connector layer of the core. DevOps Copilot, Kubernetes Troubleshooting and Observability Copilot are one programme and are not scored separately. | ||||||||||
| 27 | the IT platform team | Flow D · Database agent | 3 | 4 | 4 | 3 | 1 | 71 | ★★★ | |
The team's ask · paraphrasedWe wanted unused objects in our databases, like stale indexes, old partitions and orphaned users, found regularly and reported with cleanup suggestions, so resources are used well and the warehouse stays tidy. Where the intelligence isAssessment, not a scheduled worker: static scan of the application code base × the DB catalog, producing evidence per object Sub-task for the System One typed decisionPer candidate object: reference class {referenced in live code, referenced only in dead/legacy code, unreferenced, unknown (dynamic SQL)} — a typed verdict that turns the catalog scan into evidence the DBA can act on Stays with the reasoning LLMThe assessment skill itself (Claude Code): reads the repositories, resolves ORM / dynamic-SQL references the scanner cannot, explains why an object is or is not used, and writes the cleanup plan with rollback steps. It never drops anything. Gain from the typed layerMedium — the value is confidence, not volume. The catalog rules already find candidates; what the team asked for is proof that nothing in production references an object before it is touched, starting with unused indexes What the follow-up session saidConfirmed triggers: a monitoring alarm (OEM/Zabbix/Grafana), a Health Check finding, or a DBA asking directly. Output: a report with root cause and recommendation, and the DBA can continue by prompting. "Worked out CPU rose because query X went from 10–100 ms to 500 ms" is the target shape of an answer. Revised viewReframed after the the session notes. The real concern is "do not break production": which SQL objects are unused, and how to clean them in a way that provably cannot affect production. So this is an on-demand assessment skill (code scan + catalog snapshot → evidence list → cleanup plan), not a weekly agent proposing drops. The new entry text (data-warehouse tidy-up and development-area suggestions) rides on the same scan. | ||||||||||
| 28 | the IT platform team | Flow A · Cloud Cost | 3 | 4 | 4 | 3 | 2 | 69 | ★★★ | |
The team's ask · paraphrasedOur cloud provider only emails us when spending passes a limit and never stops anything. We wanted to see quickly where a spike comes from and how to shut services down if needed. Where the intelligence isSpike detection + attribution Sub-task for the System One typed decisionspike source → {service, account, region, category}; "recommend emergency shutdown?" decision Stays with the reasoning LLMExplanation of the shutdown method Gain from the typed layerMedium — for spike detection, classical statistics (baseline + z-score) beat both the typed classifier and an LLM What the follow-up session saidCloud cost and CDN transfer (CDN Data Transfer) were discussed together; the cost-attribution worker stays, the CDN item leaves the AI list. | ||||||||||
| 29 | DevOps | Flow D · Observability agent | 3 | 3 | 4 | 4 | 2 | 68 | ★★★ | |
The team's ask · paraphrasedInvestigating a problem means jumping between dashboards, log tools and different query languages. We wanted to ask about our infrastructure in plain language and have the queries written and the results summarized. Where the intelligence isNatural language → query (PromQL/LogQL) Sub-task for the System One typed decisionIntent → data source routing and query-template selection Stays with the reasoning LLMQuery composition and result summary Gain from the typed layerLow — text-to-query is LLM work; merge into the DevOps Copilot as its observability skill Same worker asDevOps Copilot · Kubernetes Troubleshooting What the follow-up session saidFolded into the DevOps Copilot programme (DevOps Copilot) as the observability specialist agent ("merge with the related projects" — workshop note). | ||||||||||
| 30 | the IT platform team | Flow A · DR Readiness | 4 | 2 | 2 | 3 | 1 | 65 | ★★★ | |
The team's ask · paraphrasedOur disaster recovery site has to be ready to take over at any moment, so we wanted databases, file shares, servers, Kubernetes, services and third-party access checked regularly. Where the intelligence isChecklist evaluation Sub-task for the System One typed decision{ready, at risk, not ready} component score from heterogeneous check outputs Stays with the reasoning LLMReadiness report text Gain from the typed layerMedium — the checks are deterministic, the classification is the typed classifier | ||||||||||
| 31 | DevOps | — | 3 | 2 | 4 | 1 | 3 | 53 | — | |
The team's ask · paraphrasedMuch of our CDN bill comes from the media we send users. We wanted to ship assets like team logos at lower resolution and let AI upscale them on the client side. Where the intelligence isImage super-resolution model on the client Sub-task for the System One typed decision— (not a decision task) Stays with the reasoning LLMNone Gain from the typed layerNone — this is a client-side vision model, not a typed decision; and before any ML, modern formats (AVIF/WebP), responsive sizes and caching usually capture most of the saving What the follow-up session saidDecided: not an AI project. Serve x/2x/3x image variants by device resolution (mobile and desktop currently fetch the same images) — do it now as a plain engineering task. On-device AI upscaling was discussed and set aside as experimental. | ||||||||||
05 · Data & access
What unlocks what: four sources carry the portfolio — GitLab, Zabbix, Opsgenie and Ansible appear in most working blocks; the database blocks all turn on OEM and read-only catalog access
● marks the sources a block needs read access to; every block also uses the internal LLM for its reasoning step. In the session this was a live checklist: select a source header to mark it ready, select again for not ready, and the right-hand column re-sorts into what can start now, what is one answer away and what is blocked. Block names jump to the mini-project in its flow.
| Flow | Block | Readiness | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | Monitoring / DB Health CheckProgramme | ● | ● | ● | ● | ● | To confirm | ||||||||||||
| A | DB Incident InvestigatorProgramme | ● | ● | ● | ● | ● | ● | To confirm | |||||||||||
| A | Disk SpaceQuick win | ● | ● | ● | To confirm | ||||||||||||||
| A | DR ReadinessQuick win | ● | ● | ● | ● | To confirm | |||||||||||||
| A | Cloud CostQuick win | ● | To confirm | ||||||||||||||||
| A | Report narrativeProgramme | To confirm | |||||||||||||||||
| B | Alert TriageProgramme | ● | ● | ● | To confirm | ||||||||||||||
| B | Auto-Remediation / Disk CapacityProgramme | ● | ● | ● | To confirm | ||||||||||||||
| B | Configuration DriftQuick win | ● | ● | ● | To confirm | ||||||||||||||
| B | Engine health: Kafka / Redis / proxyProgramme | ● | ● | ● | To confirm | ||||||||||||||
| C | Pipeline Failure AnalyzerQuick win | ● | To confirm | ||||||||||||||||
| C | MR reviewQuick win | ● | ● | To confirm | |||||||||||||||
| C | Deployment RiskQuick win | ● | ● | ● | ● | ● | To confirm | ||||||||||||
| C | Release NotesQuick win | ● | ● | To confirm | |||||||||||||||
| C | K8s / Incident AnalyzerProgramme | ● | ● | ● | To confirm | ||||||||||||||
| C | PostmortemQuick win | ● | ● | ● | To confirm |
Confirm first
GitLab (group token, CI logs) · Zabbix and Opsgenie APIs · Ansible/AWX · OEM and a read-only catalog user · the internal LLM endpoint
Decide early
Which database engine first (Oracle, since OEM exists) · whether AWR/ASH is licensed · one alarm inbox or several
Can wait
File shares and third-party access (DR only) · billing export (cost only) · security scanner reports (MR review only)
Every source in detail — what the entries say, likely access, what to confirm
| Source | Plane | Used by | What the team's entries say | Likely access (our assumption) | Confirm in the session |
|---|---|---|---|---|---|
| Oracle Enterprise Manager (OEM) | P1 metrics · P3 catalog · alarms | DB Health Check · DB Incident Investigator · Capacity Prediction · Privilege Audit · Database Cleanup Assessment | Collects the Oracle metrics and history; "data from the OEM repository, history included" | Read-only account on the OEM repository (SYSMAN views) or the OEM REST API | OEM version · can a read-only repository user be created · history retention · is Diagnostics Pack (AWR/ASH) licensed |
| Zabbix | P1 metrics · alarms | Monitoring Agent · Disk Space · DB Health Check · DB Incident Investigator · Alert Triage Assistant · Disk Capacity Manager · Auto-Remediation | Disk-space alarms, server metrics; "server disk space is monitored with Zabbix" | Zabbix JSON-RPC API with a read-only user; alarm webhook / Opsgenie integration for triggers | Is there already a Zabbix → Opsgenie route · which hosts groups · trigger history depth |
| Grafana / Prometheus / Mimir | P1 metrics | Monitoring Agent · DB Health Check · DB Incident Investigator · Kubernetes Troubleshooting · Observability Copilot · Kafka Operations · Redis Operations | Application and platform metrics; dashboards the team already uses | Grafana HTTP API (service account) and Prometheus query API | Which datasources are behind Grafana · retention · are Kafka/Redis exporters already scraped |
| Loki / Graylog | P2 logs | Monitoring Agent · DB Incident Investigator · Incident Analyzer · Observability Copilot · Load Balancer Troubleshooting | Service logs; "Loki/Graylog" named in the DevOps entries | Loki query API / Graylog REST with a read-only role | Log volume per day · PII in application logs (decides what may leave the log store) · which one is primary |
| Database engines: Oracle, Postgres, MongoDB, Cassandra, OpenSearch | P2 DB logs · P3 catalog | DB Health Check · DB Incident Investigator · Database Cleanup Assessment · Capacity Prediction · Privilege Audit | Five engines named in DB Health Check; catalog objects, plans, blocking, wait events | One read-only catalog / monitoring user per engine; DB logs via the log store or file access | Order of engines (proposal: Oracle first, OEM exists) · who owns the read-only users · Cassandra / OpenSearch monitoring today |
| GitLab (repos, MRs, CI job logs, pipelines) | P4 change records · code · CI logs | Automated Test Results · Pipeline Failure Analyzer · IaC Reviewer · Release Notes Generator · Deployment Risk Analyzer · DevSecOps Reviewer · Code Review Agent · Database Cleanup Assessment (code scan) Sequence Diagram Generator | "GitLab" is the data source for most DevOps and Engineering entries; deployment history | Group-level read token; CI job-log API; webhooks for MR / pipeline events | Self-hosted or gitlab.com · one group token or per project · can the code scan for Database Cleanup Assessment run against all repos |
| Jira | P4 change records | DevOps Copilot · Deployment Risk Analyzer · Access Pre-check | Tickets, user stories; named in Deployment Risk and Copilot | Jira REST API, read scope | Cloud or DC · which projects map to production changes |
| Kubernetes (API, events) | P5 infrastructure state | DevOps Copilot · Resource Optimizer · Kubernetes Troubleshooting · Auto-Remediation · Maintenance Orchestrator | Pod restarts, events, scaling — the Copilot's named controlled action | Read-only ServiceAccount (RBAC) per cluster; events + metrics-server | Number of clusters · RBAC owner · is a write path (scale) acceptable behind approval |
| Opsgenie | Alarms · on-call | Alert Triage Assistant · Auto-Remediation · Monitoring Agent | Alert routing and on-call; named with Zabbix in Alert Triage | Opsgenie API + webhooks (alert created / acknowledged) | Is Opsgenie the single alarm inbox or one of several |
| Ansible / AWX | Remediation execution | Auto-Remediation · Disk Capacity Manager · Maintenance Orchestrator | Playbooks for auto-remediation and disk actions | AWX / Tower API or a runner with a playbook repo; approval gate in front | Which playbooks exist today · how is approval done now (chat, ticket, none) |
| Kafka · Redis · load balancer / proxy | Engine metrics and logs | Kafka Operations · Redis Operations · Load Balancer Troubleshooting | Engine-specific health entries from DevOps | JMX / exporters, Redis INFO, LB vendor API or logs | Exporters present · LB vendor · who owns these components |
| Deployment / change records | P4 | DB Incident Investigator · Deployment Risk Analyzer · Incident Analyzer · DR Readiness | "it should investigate the relation to a deployment"; "deployment history" | GitLab deployments API, or an ITSM / change tool if one exists | Where a production change is recorded — GitLab only, or also an ITSM/CMDB |
| Cloud billing (AWS / GCP) | Cost data | Cloud Cost Monitoring · CDN Data Transfer | Cost increase detection, CDN transfer cost | Billing export to a bucket / Cost Explorer API | Which providers · is a billing export already configured |
| Security scanner output (SAST, secrets, container, IaC) | Scanner reports | IaC Reviewer · DevSecOps Reviewer | DevSecOps review on MRs | GitLab security reports (JSON artifacts) or scanner APIs | Which scanners run today · are results already in GitLab |
| Splunk / QRadar archive | Log archive | Legal Information Reporting | Legal information requests need historical records | Search API with a scoped account (NetSec owns) | Retention · who runs the searches today |
| Invoice images / SharePoint | Documents | Invoice Approval Workflow · Smart PO Matching | Invoice approval; "a similar project with SharePoint and SAP connections exists" | SharePoint (Graph API) + SAP (RFC/OData) — reuse the existing project | Which existing project · owner |
| Existing DevOps tool-calling (Kubernetes events, deployments, Loki, Prometheus) | Connector layer | DevOps Copilot · Kubernetes Troubleshooting · Observability Copilot · the core | Built in-house by DevOps; "we can already tool-call into our infrastructure systems" | Reuse as the first connectors of the core; wrap, do not rewrite | Where the code lives · which auth it uses · can it be exposed as shared tools for other agents |
| Internal LLM | Model hosting | Deployment Risk Analyzer (named) · NOC Network Health Report (in use) · all reasoning steps | "Internal LLM" on Deployment Risk; the NOC script already sends its half-hourly data to "our LLM" | On-prem / private endpoint | Which model, where hosted, context length, who operates it — this decides what data may leave the company |
| Already-live AI (CI log analysis Automated Test Results, NOC report NOC Network Health Report) | Existing workers | Automated Test Results · NOC Network Health Report · Pipeline Failure Analyzer | "taken live", "actively using AI" | Whatever runs today | What runs, on which model, how it is triggered — reuse as the first two workers of the core rather than rebuilding |
Questions settled in the room
- Which engine first for the catalog snapshot and Health Check — Oracle (OEM exists) is our proposal.
- Is AWR/ASH (Diagnostics Pack) licensed on the production Oracle instances? Incident Investigator depends on it.
- Is there one alarm inbox (Opsgenie) or several? The triage worker needs a single stream.
- What is the Internal LLM (model, hosting, who operates it)? It sets the boundary for which data may be sent to a model.
- What exactly is live for Automated Test Results (CI analysis) and NOC Network Health Report (NOC report)? Model, trigger, owner — and are they in the AI asset inventory?
- Can the existing DevOps tool-calling (K8s, Loki, Prometheus) be exposed as shared tools for the core, and who owns it?
- Who owns read-only credentials for OEM, Zabbix, Grafana, Loki, GitLab, Kubernetes — one team, or one per system?
- Is a write path (Kubernetes scale, Ansible playbook) acceptable at all in phase 1, behind on-call approval?
- For Database Cleanup Assessment: may an assessment skill read all repositories, or only the ones that talk to the database in question?
06 · Phased roadmap & safety model
Build the shared core with the quick wins, add the programmes on top, then open the orchestrator over all of it
- A Monitoring / DB Health CheckProgramme
- A Disk SpaceQuick win
- A DR ReadinessQuick win
- A Cloud CostQuick win
- B Alert TriageProgramme
- B Configuration DriftQuick win
- C Pipeline Failure AnalyzerQuick win
- C MR reviewQuick win
- C Deployment RiskQuick win
- C Release NotesQuick win
- C PostmortemQuick win
Connectors for GitLab, Zabbix, Opsgenie, Grafana and OEM; one decision table, one report; the two triage workers everything else reads from; the standalone quick wins in parallel. Everything recommends only.
- A DB Incident InvestigatorProgramme
- A Report narrativeProgramme
- B Auto-Remediation / Disk CapacityProgramme
- B Engine health: Kafka / Redis / proxyProgramme
- C K8s / Incident AnalyzerProgramme
The investigators, remediation behind approval, engine profiles, shared incident memory — on the core built in phase 1. Automation is switched on per decision class, after calibration.
- D Orchestrator (copilot front door)End vision
- D GitLab agentEnd vision
- D Kubernetes agentEnd vision
- D Observability agentEnd vision
- D Host & alarm agentEnd vision
- D Database agentEnd vision
- D Cloud, CDN & ticketing agentEnd vision
The router and the specialist agents: read-only answers first, then actions one type at a time through the same approval gate. Built last, because an agent is only as useful as the workers behind it.
Phases are sequential for the core and parallel for the quick wins; durations are indicative and depend on the data-access decisions above. Block names jump to the mini-project in its flow.
The safety model
- Suggest-only until provenEvery typed decision stays advisory until it passes a labelled evaluation set; thresholds are read as "after validation".
- One approval gateAutomatic runs only for low risk with high confidence; production asks a person, and a denial is final.
- Indicators, not blockersDeployment risk informs the release decision; it never blocks a release by itself.
- Nothing irreversibleThe review agent never merges, nothing is shut down automatically, no database object is dropped by an agent, and every answer cites its evidence.
- Data stays where it shouldOnly summary fields leave a SIEM; the internal LLM's hosting decides what may reach a model; an external typed-model service needs an anonymisation layer and an explicit compliance decision.
- Calibration is ownedAnalyst overrides and approvals are recorded so every threshold can be measured before it gates an action.
07 · The other departments
The same method, three more sessions: Engineering, Governance & Security, Finance
IT and DevOps was the deepest session; the other three ran the same analysis — group the entries by the data they read and the decision they make, draw the flows, split every decision into typed decision, reasoning LLM or plain code, and rank. Shared vocabulary across departments (triage decision, finding, incident, report) so the pages line up when the client reads several.
Ten use cases: the three QA entries, the real-time provider switch and the coupon recommender (Engineering), the SDLC agents, Code Review Agent and Sequence Diagram Generator (Architecture), and Live Statistics correction plus Coupon Play Problems across all game providers (Application Operations, placed here because they share the provider data with the provider-switch case). Architecture has no session of its own.
Three direct the typed classifier fits now sit on the provider-data plane (provider switching, live statistics, coupon-play problems) — together one provider-health worker. The coupon recommender is a ranking model with a responsible-gaming gate in front of it, not a typed classifier case. The Code Review Agent joins IaC and DevSecOps review as one MR-review worker. Automated Test Results and DevOps Pipeline Failure Analyzer are the same worker. Sequence Diagram Generator and the SDLC agents remain reasoning-LLM work with the typed classifier only at the gates.
Data planes
- P6 Requirement & test assets (Jira, PRD, Figma, screenshots)
- Appium / Gauge codebase, emulators
- P2 CI/pipeline logs
- GitLab repositories, merge requests, Confluence (SDLC)
- Third-party score/statistics provider feeds
- League and tournament reference sites
AQA loop and SDLC agents
Mini-projects in this flow — select one to highlight it and read what it does
BMR review, provider health, live statistics, recommendations
Mini-projects in this flow — select one to highlight it and read what it does
Code review joins IaC and DevSecOps review as one MR-review worker. Provider switching runs on deterministic rules at message rate; the LLM only proposes rules and scores providers off the hot path (follow-up session). Live statistics and coupon-play problems share one provider-health worker on the provider data plane. The coupon recommender is a ranking model behind a responsible-gaming gate.
Where to start in Engineering
- 1
Code Review Agent
Classifier ★★86The team's ask · paraphrasedCode review sometimes holds up delivery and depends entirely on people. We wanted an agent that reviews merge requests from backend, iOS, Android and web against our project structure and coding rules.
Every change in every channel passes through review; latency there is latency everywhere. Sharing one MR-review worker with IaC and DevSecOps means the Engineering, DevOps and security rule sets land on the same merge request.
Business impact4Feasibility4Data readiness5Reuse / leverage5Risk2Flow B · Code Review AgentRow in the ranking →Same worker as: IaC Reviewer · DevSecOps Reviewer
- 2
Automated Test Results
Classifier ★★★84The team's ask · paraphrasedWe scan failure logs from our daily pipelines by hand, and critical errors can slip through. We wanted an assistant that reads the CI logs and hands us a prioritized daily summary.
Almost entirely a typed classification over data that already exists; shares its worker with DevOps Pipeline Failure Analyzer, so it lands for two teams at once.
Business impact3Feasibility5Data readiness5Reuse / leverage5Risk1Flow A · Automated Test ResultsRow in the ranking →Same worker as: Pipeline Failure Analyzer
- 3
Real-time Provider Switching
Classifier ★82The team's ask · paraphrasedWe can't switch score and stats providers for a live event in real time. We wanted the system to read provider messages, pick the source itself, clear stale caches, and ask us when unsure.
On the live-betting revenue path, so the switch must be fast and deterministic; the AI contribution is the policy behind it — which provider is default, which cases trigger a switch — reviewed by Engineering, never invented at message time.
Business impact5Feasibility4Data readiness4Reuse / leverage2Risk2Flow B · Provider Switching (rules on the hot path)Row in the ranking →
- 4
Coupon Play Problems
Classifier ★★★82The team's ask · paraphrasedWe struggle to catch problems across our provider-backed products, and provider-side issues don't reach the right people. We wanted AI to watch logs and metrics, flag anomalies and open tickets automatically.
Every game vertical, every provider, one continuous health verdict: the revenue-protecting version of provider switching. The typed outputs (which market, provider-caused or not, which team) are what make automatic ticketing trustworthy; staged approval keeps actions safe.
Business impact5Feasibility3Data readiness4Reuse / leverage4Risk3Flow B · Coupon Play ProblemsRow in the ranking →Same worker as: Live Statistics Correction · Real-time Provider Switching
- 5
Sequence Diagram Generator
Classifier ★81The team's ask · paraphrasedWhen something breaks or slows down, tracing a request end to end through caches, databases, Kafka and other services takes too long. We wanted sequence diagrams generated from an API entry point, business logic included.
Low as a classifier — the work is static analysis plus reasoning over business logic; the classifier only labels ambiguous call edges
Business impact4Feasibility3Data readiness5Reuse / leverage4Risk1
All 10 Engineering use cases, ranked
| Rank | Use case | Team | Block in the flows | Impact | Feas. | Data | Reuse | Risk | Score | Classifier |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Architecture | Flow B · Code Review Agent | 4 | 4 | 5 | 5 | 2 | 86 | ★★★ | |
The team's ask · paraphrasedCode review sometimes holds up delivery and depends entirely on people. We wanted an agent that reviews merge requests from backend, iOS, Android and web against our project structure and coding rules. Where the intelligence isMR review (application code) Sub-task for the System One typed decisionMR triage: size/risk class, "which reviewer profile?", and per-comment severity {blocker, should-fix, nit} Stays with the reasoning LLMThe review comments Gain from the typed layerMedium — the review itself is LLM; the classifier keeps noise down and routes. One "MR review" family with IaC Reviewer and DevSecOps Reviewer: one worker, three rule sets Same worker asIaC Reviewer · DevSecOps Reviewer | ||||||||||
| 2 | Engineering | Flow A · Automated Test Results | 3 | 5 | 5 | 5 | 1 | 84 | ★★★ | |
The team's ask · paraphrasedWe scan failure logs from our daily pipelines by hand, and critical errors can slip through. We wanted an assistant that reads the CI logs and hands us a prioritized daily summary. Where the intelligence isCI log triage Sub-task for the System One typed decisionPer failed job: {real regression, flaky, infrastructure, environment, data} class + priority + fingerprint; thousands of lines per day Stays with the reasoning LLMDaily summary narrative Gain from the typed layerVery high — this use case is almost entirely the typed classifier; the LLM only writes the daily summary paragraph Same worker asPipeline Failure Analyzer | ||||||||||
| 3 | Engineering | Flow B · Provider Switching (rules on the hot path) | 5 | 4 | 4 | 2 | 2 | 82 | ★★★ | |
The team's ask · paraphrasedWe can't switch score and stats providers for a live event in real time. We wanted the system to read provider messages, pick the source itself, clear stale caches, and ask us when unsure. Where the intelligence isDeterministic switching policy on the hot path; AI only off the hot path (rule author, provider assurance) Sub-task for the System One typed decisionOff the hot path only: classify each switch event / provider incident {latency, gap, disagreement, outage} for the provider-reliability score and propose new rule thresholds. On the hot path: nothing — rules decide at message rate Stays with the reasoning LLMRule author and reviewer: reads the switch log, proposes extra cases and thresholds, drafts the default-endpoint policy and the fixed notification templates; is asked for approval only where the rules are silent (new entry text: "ask for approval when it cannot decide") Gain from the typed layerMedium as AI — switching itself stays procedural (message rate, sub-100 ms). The AI value is long-term: provider assurance, default endpoint selection, rules that grow from observed incidents Revised viewthe session notes: the core problem is real-time data analysis, and no LLM tier can sit on that path (the earlier variant already flagged this). Hot path = deterministic health rules (latency, gaps, disagreement between providers) → switch + cache evict + templated notification, all procedural. AI sits in a rule-adding position: it proposes extra cases from the switch history, scores providers over time and is consulted for approval only where no rule applies. | ||||||||||
| 4 | Application Operations | Flow B · Coupon Play Problems | 5 | 3 | 4 | 4 | 3 | 82 | ★★★ | |
The team's ask · paraphrasedWe struggle to catch problems across our provider-backed products, and provider-side issues don't reach the right people. We wanted AI to watch logs and metrics, flag anomalies and open tickets automatically. Where the intelligence isMulti-provider anomaly triage + routing Sub-task for the System One typed decisionPer provider/market window: {normal, degraded, failed}; "provider-caused?"; affected market class; routing to team — four typed decisions on a continuous stream Stays with the reasoning LLMTicket text and the impact summary (members, money) for the Jira request Gain from the typed layerVery high — the operations twin of Live Statistics (Live Statistics Correction) and Provider Switching (Real-time Provider Switching): one provider-health worker covering all game types, with staged action Same worker asLive Statistics Correction · Real-time Provider Switching | ||||||||||
| 5 | Architecture | — | 4 | 3 | 5 | 4 | 1 | 81 | ★★★ | |
The team's ask · paraphrasedWhen something breaks or slows down, tracing a request end to end through caches, databases, Kafka and other services takes too long. We wanted sequence diagrams generated from an API entry point, business logic included. Where the intelligence isStatic analysis (open-source tooling, AI-assisted build) + LLM reading of the business logic → sequence diagrams; later a company-wide code-vs-PRD view Sub-task for the System One typed decisionCall-edge type classification {cache, db, mq, http, internal} when static analysis is ambiguous Stays with the reasoning LLMReads the code paths the static analyser cannot resolve, names actors and business steps, produces the diagram text; later phases: checks whether the code still does what the PRD / business rules say Gain from the typed layerLow as a classifier — the work is static analysis plus reasoning over business logic; the classifier only labels ambiguous call edges Revised viewthe session notes: three layers — (1) static analysis with open-source tooling that the AI helps build, (2) LLM analysis focused on the business logic inside services, (3) later, integration with PRDs and the other systems into a company bird's-eye view: is the code's current behaviour still aligned with PRD updates? Phase 1 is a bounded Engineering tool; phase 3 is a platform and should be scoped on its own (it shares the PRD gate of AI-Assisted Development and the MR review of Code Review Agent). | ||||||||||
| 6 | Engineering | Flow A · Mobile Test Agent | 4 | 4 | 4 | 3 | 1 | 79 | ★★★ | |
The team's ask · paraphrasedMobile testing is labor-heavy, and testers must write automation code even for steps they could just describe. We built an agent that follows plain-language commands and wanted it to generate regression code next. Where the intelligence isScreen understanding + natural language → tool calls Sub-task for the System One typed decisionFrom the ui_tree text: "did the step succeed? {yes, no, unclear}"; "is this action destructive?" guardrail Stays with the reasoning LLMCommand interpretation, tool selection, exploration; phase-2 Gauge code generation Gain from the typed layerMedium — instead of asking the LLM "did it work?" after every step, the typed classifier answers; the agent loop gets faster. No image input, so it must work on ui_tree, not screenshots | ||||||||||
| 7 | Engineering | Flow A · Test Case Generation | 3 | 5 | 4 | 4 | 1 | 78 | ★★★ | |
The team's ask · paraphrasedWriting test cases for each new requirement is slow, depth varies by author, and edge cases slip through. We wanted AI to draft cases, including negative and edge scenarios, for a QA engineer to review. Where the intelligence isScenario generation (text) Sub-task for the System One typed decisionClassify the requirement into an affected area → right template; check the generated set for coverage {positive, negative, edge}; duplicate-case score Stays with the reasoning LLMTest-case text Gain from the typed layerMedium — generation stays with the LLM, the quality gate is the typed classifier; QA review load drops | ||||||||||
| 8 | Engineering | Flow B · Coupon Recommender | 5 | 3 | 4 | 1 | 5 | 69 | ★★★ | |
The team's ask · paraphrasedNew and existing users struggle to find a coupon quickly in the app. We wanted recommendations based on a user's past coupons and on coupons that have won. Where the intelligence isRecommender model (ranking / personalisation) Sub-task for the System One typed decisionUser-segment or intent class as a feature; not the ranking itself Stays with the reasoning LLMNone; optional coupon description text Gain from the typed layerLow — recommendation is a ranking model, not a typed decision. Separately: recommending bets is a responsible-gaming and regulatory question before it is a technical one; any version needs a policy gate (limits, self-exclusion, no nudging at loss) | ||||||||||
| 9 | Architecture | Flow A · SDLC agents | 4 | 2 | 3 | 4 | 2 | 69 | ★★★ | |
The team's ask · paraphrasedOur development cycle moves slowly. We pictured a team of AI agents covering requirements, architecture, coding and testing, with the people responsible for each step reviewing every plan and result. Where the intelligence isMulti-agent SDLC (PM/Arc/Dev/Test agents) Sub-task for the System One typed decisionTicket → which agent; "is the PRD complete?" gate; PR risk score; guardrail on agent output Stays with the reasoning LLMPRD, architectural decisions, code, test plan generation Gain from the typed layerMedium — hand-offs and gates between agents get fast; the main work stays with the LLM | ||||||||||
| 10 | Application Operations | Flow B · Live Statistics | 4 | 3 | 3 | 2 | 3 | 65 | ★★★ | |
The team's ask · paraphrasedThe stats we show users before, during and after a match aren't always current. We wanted to check our providers' figures against official league and tournament sites and fix errors automatically. Where the intelligence isCross-source comparison + correction Sub-task for the System One typed decisionPer statistic: {match, mismatch, unverifiable} with confidence, and "auto-correct or hold?" decision Stays with the reasoning LLMPage parsing when the reference source is unstructured; none for the decision Gain from the typed layerHigh — a continuous comparison stream where each check is a typed verdict; the LLM is only needed to parse unstructured league pages | ||||||||||
Where the typed layer belongs here
- CI log triage (Automated Test Results) uses the same the System One model layer as the IT log primitive; two sessions, one infrastructure.
- In the Mobile Test Agent, the System One model takes the ui_tree text, not the screenshot: step verification and a destructive-action guardrail. Scope widens when image input arrives.
- In AI Assisted Development, the System One model is three gates: ticket routing, PRD completeness, PR risk score. The agents themselves are LLMs.
Nineteen use cases: the ten Governance entries (SOC triage — stated twice —, service catalog/BIA and business continuity, consultant-account lifecycle and supplier management, access anomaly, ISMS risk register, policy & document assistant, IT KPI tracking) and nine NetSec entries from the second round on firewalls, QRadar, Riverbed and Guardium. Several NetSec items are pure automations; they are kept because they are cheap and remove interrupts, and marked as such.
SOC Analyst remains the best fit in the whole set and now absorbs NetSec's SOC-NetSec entry as a second source. Consultant-account lifecycle and NOC network triage are the other typed-decision cases. Four NetSec entries (access pre-check, IP blocking, MAC filter, log-source recovery) are automations with at most a guard classifier; Legal IP/port extraction merges with IT's Legal Reporting into one legal-request worker.
Data planes
- SIEM (Splunk / QRadar) alarms and rules; Falcon EDR detections
- Firewall rule base and traffic (FortiAnalyzer CSV, firewall API)
- Riverbed network application metrics
- Service catalog, CMDB, change records
- Supplier contracts, IAM accounts, threat intelligence, dark-web monitoring
- Firewall access logs (user behaviour)
- ISMS risk register, project scope documents
ASOC triage, catalog, accounts, firewall, network
Mini-projects in this flow — select one to highlight it and read what it does
BNetSec: firewall rules, IP blocking, network health, access anomalies
Mini-projects in this flow — select one to highlight it and read what it does
The NetSec entries plus the policy assistant. Rule tightening, the NOC report and policy drafting are the LLM calls; IP blocking, MAC upkeep, access pre-check, log-source recovery and the Guardium → QRadar forwarding are automations with at most a guard classifier.
Where to start in Governance & Security
- 1
SOC Analyst
Classifier ★★★94The team's ask · paraphrasedThe SOC provider is costly, its analysts check alerts by hand, and testing our detection rules is manual too. We wanted rules tested regularly, alerts triaged by AI, and on-call staff called automatically.
Hundreds of alarms a day, a binary decision, supplier cost and EPS limits — the single best fit for a calibrated classifier in all 50, and it absorbs NetSec SOC Log Analysis.
Business impact5Feasibility4Data readiness5Reuse / leverage5Risk2Flow A · SOC AnalystRow in the ranking →Same worker as: SOC Log Analysis · Security Operations Triage + Postmortems
- 2
Consultant Account Management
Classifier ★★80The team's ask · paraphrasedWe review supplier accounts by hand. We wanted accounts closed automatically when a contract ends, a breach surfaces, or a periodic review goes unanswered.
Unauthorised access through stale privileged supplier accounts is a top-tier risk for a regulated betting operator; the scanning agent is the new capability, the rest is workflow. The missing piece is a reliable contract-status source — settle that in the session.
Business impact5Feasibility4Data readiness3Reuse / leverage3Risk3Flow A · Consultant Accounts / Supplier ManagementRow in the ranking →
- 3
Malicious IP Blocking
Classifier ★79The team's ask · paraphrasedThe SOC provider reports malicious IP addresses and we add each one to the firewall block lists ourselves. We wanted to hand over an address and have it applied across every firewall.
Minutes matter between a SOC report and a block on every firewall; the automation is trivial and the only real risk — blocking a partner or CDN range — is exactly what the hold-for-review class prevents.
Business impact4Feasibility5Data readiness5Reuse / leverage2Risk3Flow B · Malicious IP BlockingRow in the ranking →Same worker as: Log-source Error Recovery · VPN MAC Filter Upkeep
- 4
Legal Requests (IP/port)
Classifier ★79The team's ask · paraphrasedLegal sends us customer IP and port requests, and we compile the answers into spreadsheets. We wanted a tool that matches the given timestamps to access logs in our SIEM and fills the sheet.
A regulatory obligation with a deadline, currently hand-built from QRadar queries. Combined with IT Legal Information Reporting it becomes one legal-request worker — high certainty, low effort, and it removes a recurring interrupt from two teams.
Business impact3Feasibility5Data readiness5Reuse / leverage4Risk2Row in the ranking →Same worker as: Legal Information Reporting
- 5
Firewall Rule Analysis
Classifier ★★77The team's ask · paraphrasedWe wanted to simplify and tighten our firewall rules using real traffic data. The idea was for AI to read the reports we export and propose cleaner rule sets.
"Any" rules are the classic audit finding and a real attack surface; the traffic data to tighten them is already exported. Bounded, one-off-then-periodic, and the engineer stays in control of what is applied.
Business impact4Feasibility4Data readiness5Reuse / leverage2Risk2
All 19 Governance & Security use cases, ranked
| Rank | Use case | Team | Block in the flows | Impact | Feas. | Data | Reuse | Risk | Score | Classifier |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Governance | Flow A · SOC Analyst | 5 | 4 | 5 | 5 | 2 | 94 | ★★★ | |
The team's ask · paraphrasedThe SOC provider is costly, its analysts check alerts by hand, and testing our detection rules is manual too. We wanted rules tested regularly, alerts triaged by AI, and on-call staff called automatically. Where the intelligence isAlarm triage (true threat / false positive), rule effectiveness, priority Sub-task for the System One typed decisionPer SIEM alarm: {true threat, false positive, unclear} + priority + calibrated confidence; learning from past cases is exactly the typed classifier's RLCD claim Stays with the reasoning LLMBest-practice rule suggestion text; rule test-scenario generation Gain from the typed layerHighest of all 17 — hundreds of alarms per day, human error, supplier cost, EPS limit; all scale with triage volume. The confidence score binds directly to the "page / don't page" threshold Same worker asSOC Log Analysis · Security Operations Triage + Postmortems | ||||||||||
| 2 | Governance | Flow A · SOC Analyst | 5 | 4 | 5 | 5 | 2 | 94 | ★★★ | |
The team's ask · paraphrasedFalse positives never get filtered out of our security alerts, so alarms pile up and responses slow down, and we write postmortems by hand. We wanted alert triage, vulnerability prioritization, and draft postmortems. Where the intelligence isAlarm triage (false-positive elimination) + vulnerability prioritisation + postmortem draft Sub-task for the System One typed decisionSame alarm verdict as AI SOC Analyst: {true threat, false positive, unclear} + priority; per vulnerability: priority class from CVSS, exposure and asset criticality Stays with the reasoning LLMPostmortem draft text Gain from the typed layerVery high — the governance statement of the same need as SOC Analyst and NetSec SOC Log Analysis; one SOC triage worker. The postmortem draft reuses the DevOps postmortem generator (Postmortem Generator) with a security template Same worker asSOC Analyst · SOC Log Analysis · Postmortem Generator | ||||||||||
| 3 | NetSec | Flow A · SOC Analyst | 4 | 4 | 5 | 5 | 2 | 86 | ★★★ | |
The team's ask · paraphrasedWe wanted to track and automate our security processes, with AI analyzing logs from our security tools, writing reports, and recommending actions where needed. Where the intelligence isSecurity-alarm triage Sub-task for the System One typed decisionSame as AI SOC Analyst: alarm verdict + priority; Falcon detections added as a second source Stays with the reasoning LLMBest-practice suggestions (as in SOC Analyst) Gain from the typed layerVery high — this entry is the NetSec statement of the same need as SOC Analyst; treat as one SOC triage worker with two sources Same worker asSOC Analyst · Security Operations Triage + Postmortems | ||||||||||
| 4 | Governance | Flow A · Consultant Accounts / Supplier Management | 5 | 4 | 3 | 3 | 3 | 80 | ★★★ | |
The team's ask · paraphrasedWe review supplier accounts by hand. We wanted accounts closed automatically when a contract ends, a breach surfaces, or a periodic review goes unanswered. Where the intelligence isWeb / dark-web scanning agent per privileged account; the lifecycle around it is a template-driven workflow Sub-task for the System One typed decisionPer scan hit: relevance {this account, this supplier, unrelated} and severity; per account: {keep, notify, close} from contract status, attestation reply and scan result Stays with the reasoning LLMThe scanning agent: searches open web, paste sites and dark-web sources for each privileged / VIP account and supplier, reads the hits and summarises the exposure. Everything else — quarterly attestation e-mails (fixed templates), yes/no replies, closure after a grace period — is procedural and runs on a fixed schedule Gain from the typed layerMedium-high — the workflow is deterministic; the decision and the intel-signal classification are typed. Auto-closing needs a confidence threshold and a grace period Revised viewthe session notes: the intelligent part is the web-scanning agent for privileged accounts (supplier consultant accounts that hold permissions across several parties — the "VIP" accounts); the lifecycle is procedural: mail templates, yes/no selections, published on a fixed period. Shares supplier_account and contract with Supplier Management. | ||||||||||
| 5 | NetSec | Flow B · Malicious IP Blocking | 4 | 5 | 5 | 2 | 3 | 79 | ★★★ | |
The team's ask · paraphrasedThe SOC provider reports malicious IP addresses and we add each one to the firewall block lists ourselves. We wanted to hand over an address and have it applied across every firewall. Where the intelligence isAutomation with a safety check Sub-task for the System One typed decisionPer reported IP: {block, hold for review} using allow-lists, ownership (own ranges, partners, CDN) and IOC confidence Stays with the reasoning LLMNone Gain from the typed layerLow as AI — the value is response time; the classifier is the guard against blocking something that matters Same worker asLog-source Error Recovery · VPN MAC Filter Upkeep | ||||||||||
| 6 | NetSec | — | 3 | 5 | 5 | 4 | 2 | 79 | ★★★ | |
The team's ask · paraphrasedLegal sends us customer IP and port requests, and we compile the answers into spreadsheets. We wanted a tool that matches the given timestamps to access logs in our SIEM and fills the sheet. Where the intelligence isDeterministic query + export Sub-task for the System One typed decisionRequest-completeness check {complete, missing fields} before the query runs Stays with the reasoning LLMNone Gain from the typed layerLow as AI — but it is the same legal-request pipeline as IT Legal Information Reporting; build one legal_request worker with two outputs Same worker asLegal Information Reporting | ||||||||||
| 7 | NetSec | Flow B · Firewall Rule Analysis | 4 | 4 | 5 | 2 | 2 | 77 | ★★★ | |
The team's ask · paraphrasedWe wanted to simplify and tighten our firewall rules using real traffic data. The idea was for AI to read the reports we export and propose cleaner rule sets. Where the intelligence isTraffic aggregation + rule proposal Sub-task for the System One typed decisionPer observed flow: {business, infra, suspicious, unknown} class; per rule: risk class Stays with the reasoning LLMProposed rule set with justification, for the NetSec engineer to apply Gain from the typed layerMedium — aggregating real traffic into candidate rules is deterministic; the classifier separates legitimate from suspicious before the LLM proposes rule text | ||||||||||
| 8 | NetSec | Flow B · NOC-NetSec | 3 | 4 | 4 | 5 | 1 | 77 | ★★★ | |
The team's ask · paraphrasedWe wanted to spot network problems before they cause trouble, so AI reads our network performance data and produces a regular report with suggested fixes for what it finds. Where the intelligence isMetric-stream triage (network) Sub-task for the System One typed decisionPer application/link per window: {normal, degraded, critical} + cause class Stays with the reasoning LLMHalf-hourly report narrative and suggestions Gain from the typed layerHigh — the network twin of Monitoring Agent; same worker, Riverbed connector Same worker asMonitoring Agent | ||||||||||
| 9 | Governance | Flow A · Governance Assistant / BIA | 4 | 3 | 3 | 4 | 1 | 75 | ★★★ | |
The team's ask · paraphrasedOur business continuity setup is manual: dependencies and recovery targets typed in, change management run separately. We wanted department input turned into standard impact analyses, scenarios, drill plans, and executive summaries. Where the intelligence isDocument normalisation + prioritisation + exercise planning Sub-task for the System One typed decisionPer departmental BIA input: field extraction into the standard BIA schema (RTO/RPO class, dependency type) and a criticality band; per service: exercise-due class from BIA score and last exercise date Stays with the reasoning LLMScenario drafts from BIA results, exercise plans, executive summaries, budget/investment narrative Gain from the typed layerMedium — normalising department inputs into RTO/RPO/dependency fields and ranking them is typed work; scenario drafts, executive summaries and budget narratives are LLM. Extends Governance Assistant, which already proposes BIA scores Same worker asGovernance Assistant | ||||||||||
| 10 | NetSec | Flow B · Access Pre-check | 3 | 5 | 5 | 2 | 1 | 75 | ★★★ | |
The team's ask · paraphrasedBefore asking the network security team for a firewall rule, we wanted to check whether the access already exists. If it does, show the rule; if not, open a ticket for them automatically. Where the intelligence isDeterministic lookup + ticketing Sub-task for the System One typed decisionOnly if requests arrive as free text: extract source/destination/port Stays with the reasoning LLMNone Gain from the typed layerLow — this is an integration, not an AI use case; still a quick win for the NetSec queue | ||||||||||
| 11 | NetSec | Flow B · Guardium Search | 3 | 5 | 5 | 2 | 1 | 75 | — | |
The team's ask · paraphrasedOur database activity monitoring keeps only a short window of data, so pulling older reports is slow. We wanted its incidents and reports sent to our SIEM, so a query there finds past cases quickly. Where the intelligence isNone — log forwarding and search Sub-task for the System One typed decision— Stays with the reasoning LLMNone Gain from the typed layerNone — an integration (Guardium → QRadar) that removes a slow manual step; no AI | ||||||||||
| 12 | Governance | Flow B · Access Anomaly | 4 | 3 | 4 | 3 | 2 | 73 | ★★★ | |
The team's ask · paraphrasedWe wanted a clearer picture of how people use our applications. The idea was to learn normal access patterns from firewall logs and raise an alert or act when someone steps outside them. Where the intelligence isBehaviour baseline (classical ML / UEBA) learned over ~2 months of firewall access logs Sub-task for the System One typed decisionAfter the statistical detector fires (post learning window): anomaly type {new app, off-hours, volume, location, privilege} and "notify or act?" class Stays with the reasoning LLMNone Gain from the typed layerMedium — detection is classical ML/UEBA (often available in the SIEM); the classifier labels and routes what the detector finds. The 2-month learning window is the only new parameter Revised viewthe session notes: plain machine learning. Collect the firewall access logs for about two months, learn each user's normal envelope (apps, hours, volume, location), then alert when behaviour leaves it. No LLM in the loop; the classifier only labels and routes what the detector finds. | ||||||||||
| 13 | NetSec | Flow B · QRadar Log-source Recovery | 3 | 4 | 5 | 3 | 2 | 72 | ★★★ | |
The team's ask · paraphrasedWhen a log source in our SIEM drops into error, we need live log flow back to fix it. We wanted a tool that connects to the source and generates logs to restore it. Where the intelligence isHealth check + remediation runbook Sub-task for the System One typed decisionError-cause class {connectivity, credentials, parser, source down, unknown} → runbook selection Stays with the reasoning LLMNone; optional summary for unknown causes Gain from the typed layerMedium — detection is a QRadar API poll; the classifier picks the runbook; remediation is scripted Same worker asMalicious IP Blocking · VPN MAC Filter Upkeep | ||||||||||
| 14 | Governance | Flow A · Consultant Accounts / Supplier Management | 4 | 3 | 3 | 3 | 2 | 70 | ★★★ | |
The team's ask · paraphrasedWe set supplier risk scores by hand and can't see whether a supplier has a known weakness. We wanted scores adjusted from breach reports, a recommendation on whom to use, and contract clauses added automatically. Where the intelligence isSupplier risk re-scoring + contract clause insertion Sub-task for the System One typed decisionPer supplier: intel/KVKK signal relevance class and re-scored risk band {low, medium, high}; per candidate comparison: recommended supplier with confidence Stays with the reasoning LLMDrafting the SLA, KVKK liability/penalty and termination clauses into the contract; summarising an intel finding Gain from the typed layerMedium — the risk band and the relevance of a breach notice are typed decisions; comparing suppliers on form data is a scoring rule. Same threat-intel plane as Consultant Account Management Same worker asConsultant Account Management | ||||||||||
| 15 | Governance | Flow B · Policy & Document Assistant | 3 | 4 | 3 | 3 | 1 | 68 | ★★★ | |
The team's ask · paraphrasedWe write policy documents by hand, check consistency between them by eye, and track versions manually. We wanted help redrafting policies when regulations change, mapping them against new rules, and keeping documents consistent. Where the intelligence isChange detection → visual diff → proposed items → approval ("do we comply?") → traceable update with backlinks Sub-task for the System One typed decisionPer regulation clause: mapping to a policy section and {covered, partial, not covered} (the compliance-matrix cells); per proposed change: a compliance verdict shown on the approval screen Stays with the reasoning LLMReads the regulation / standard diff, explains what changed, proposes the policy items to add or edit and asks "shall I write these?"; after approval writes the changes with backlinks to the source clause and the previous version Gain from the typed layerMedium — drafting and consistency review are LLM work; the compliance matrix itself is a grid of typed verdicts that the classifier fills cheaply and repeatably Revised viewthe session notes: the product is a screen. The agent shows what changed in the regulation or standard, proposes the new or edited items and asks for approval — that approval step is the "do we comply?" moment — and the applied changes then appear with backlinks to the clause and the prior version. This adds a change-detection trigger and a change ledger (policy_change) to the earlier compliance-matrix design. | ||||||||||
| 16 | Governance | — | 3 | 4 | 3 | 3 | 1 | 68 | ★★★ | |
The team's ask · paraphrasedWe track IT KPIs largely by hand and are only starting to move them into dashboards. We wanted trends turned into management reports, with suggested actions whenever a target is missed. Where the intelligence isTrend interpretation + deviation → suggested actions (the numbers come from Power BI) Sub-task for the System One typed decisionPer KPI per period: trend class {on target, drifting, breached} and a deviation-cause class from the underlying records (patching, incidents, training completion) Stays with the reasoning LLMManagement-report narrative; action suggestions per deviating KPI, grounded in the KPI's own records Gain from the typed layerMedium — the classifier labels the deviation cheaply and repeatably; the LLM writes the management narrative and the suggested actions | ||||||||||
| 17 | Governance | — | 3 | 3 | 3 | 3 | 1 | 64 | ★★★ | |
The team's ask · paraphrasedOur information security risk register is kept current by hand and depends on individuals. We wanted AI to suggest missing scenarios, draft scores, flag inconsistencies and track how risks change. Where the intelligence isDocument extraction + scoring assistance Sub-task for the System One typed decisionDraft likelihood/impact class per scenario; score-consistency check {consistent, inconsistent}; threat-intel item → affected risk category Stays with the reasoning LLMDrafting scenarios from project documents; narrative on score trends Gain from the typed layerMedium — scenario drafting from documents is LLM; scoring and consistency are typed. Low volume | ||||||||||
| 18 | NetSec | — | 2 | 5 | 5 | 1 | 2 | 62 | — | |
The team's ask · paraphrasedEvery time someone joins, leaves, or switches laptops, the VPN device filter on the firewall has to be updated. We wanted helpdesk entries to add or remove those addresses automatically. Where the intelligence isNone — CRUD automation Sub-task for the System One typed decision— Stays with the reasoning LLMNone Gain from the typed layerNone — a helpdesk form to firewall API integration; no AI Same worker asMalicious IP Blocking · Log-source Error Recovery | ||||||||||
| 19 | Governance | Flow A · Governance Assistant / BIA | 3 | 3 | 2 | 3 | 1 | 61 | ★★★ | |
The team's ask · paraphrasedOur IT service catalog falls out of date, and we can't keep business impact analyses or dependencies current. We wanted the inventory updated as services appear, with dependency maps and suggested criticality scores. Where the intelligence isService catalog currency, BIA score, dependency map Sub-task for the System One typed decisionnew service → criticality class {1..5} and BIA score suggestion (calibrated); from a change record, "does the catalog need updating?" Stays with the reasoning LLMExtracting service–supplier–platform relations from documents (LLM extraction) Gain from the typed layerMedium — scoring gets cheap; the dependency map is CMDB/graph work, not AI | ||||||||||
Where the typed layer belongs here
- The SOC Analyst alone justifies a System One pilot: volume, a binary decision, calibrated confidence, cost pressure.
- Rule-effectiveness testing is deterministic (synthetic event → did the rule fire?); no the System One model needed.
- In the Governance Assistant, the dependency map is CMDB/graph data, not AI; the System One model only proposes criticality and BIA scores.
Five use cases: the two report-extraction entries (SAP, Qlik Sense), Smart PO Matching on e-invoices, VAT-2 return automation (Finance), and deposit/withdrawal reconciliation (Application Operations, placed here because it is a Finance-department case on bank data). The session's earlier prediction held: reconciliation matching and invoice classification are where the typed decisions live.
Two direct fits arrived exactly where predicted: Smart PO Matching (invoice line → PO/SES/cost centre) and deposit/withdrawal reconciliation (transaction pair → matched/stuck/missing). Both produce drafts and proposals, never postings or releases. VAT-2 checking is rules plus a classifier for ambiguous codes. SAP and Qlik extraction are one report worker with two connectors.
Data planes
- P7 SAP (reports, POs, service entries, accounting)
- Qlik Sense reports
- E-invoice portal (XML / PDF)
- Bank statements and bank error logs
- the platform transaction database
- Tax rules (withholding, foreign invoices)
AReport extraction, invoice matching, VAT checks, bank reconciliation
Mini-projects in this flow — select one to highlight it and read what it does
Where to start in Finance
- 1
Smart PO Matching
Classifier ★★★91The team's ask · paraphrasedFinding the vendor behind each invoice and matching its lines to the right purchase order or cost center in our ERP is slow. We wanted invoices read, matched, and drafted as entries automatically.
Structured input (e-invoice XML), a clear typed decision, a measurable KPI (minutes → seconds per invoice) and a draft-not-post output that keeps accounting in control. The strongest Finance case by a wide margin.
Business impact5Feasibility4Data readiness5Reuse / leverage4Risk2Flow A · Smart PO MatchingRow in the ranking →Same worker as: Invoice Approval Workflow
- 2
Deposit / Withdrawal Reconciliation
Classifier ★★★77The team's ask · paraphrasedWhen deposits or withdrawals fail on our rules or the bank's side, customers complain and our books stop matching the bank's. We wanted failed transactions explained, stuck ones resolved automatically, and risky actions needing sign-off.
Touches customers' money and the bank relationship at once: every unmatched transaction is a complaint or a reconciliation gap. High impact, but money movement must stay behind staged approval — the classifier proposes, a person releases.
Business impact5Feasibility3Data readiness4Reuse / leverage3Risk4Flow A · Deposit / Withdrawal ReconciliationRow in the ranking →
- 3
BI Report Extraction
Classifier ★77The team's ask · paraphrasedOur BI tool requires a login every time, and we keep pulling the same reports on a routine cycle. We wanted an interface that produces those set reports and data with a button press.
Marginal — same worker as SAP report extraction (ERP Report Extraction) with a Qlik connector
Business impact3Feasibility4Data readiness5Reuse / leverage4Risk1Flow A · Report extraction (SAP / Qlik)Row in the ranking →Same worker as: ERP Report Extraction
- 4
VAT-2 Return Automation
Classifier ★★75The team's ask · paraphrasedOur withholding VAT return is prepared by hand and takes a long time. We wanted withholding and foreign invoices scanned automatically, wrong tax codes and tax base mismatches fixed, and the result loaded into accounting.
Medium — most checks are rules over structured fields; the classifier handles the ambiguous descriptions. Filing errors are costly, so "correct automatically" should be "propose, accountant confirms"
Business impact4Feasibility4Data readiness4Reuse / leverage3Risk3
All 5 Finance use cases, ranked
| Rank | Use case | Team | Block in the flows | Impact | Feas. | Data | Reuse | Risk | Score | Classifier |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Finance | Flow A · Smart PO Matching | 5 | 4 | 5 | 4 | 2 | 91 | ★★★ | |
The team's ask · paraphrasedFinding the vendor behind each invoice and matching its lines to the right purchase order or cost center in our ERP is slow. We wanted invoices read, matched, and drafted as entries automatically. Where the intelligence isTyped extraction + matching decision Sub-task for the System One typed decisionPer invoice line: {matched to PO/SES, candidate, no match} with confidence; cost-centre class when no PO; vendor resolution Stays with the reasoning LLMPDF-only invoices: vision extraction; otherwise none Gain from the typed layerVery high — e-invoice XML is already structured (no OCR needed for most volume), so the whole job is a matching decision at volume. Shares the invoice extraction primitive with IT Invoice Approval Workflow Same worker asInvoice Approval Workflow | ||||||||||
| 2 | Application Operations | Flow A · Deposit / Withdrawal Reconciliation | 5 | 3 | 4 | 3 | 4 | 77 | ★★★ | |
The team's ask · paraphrasedWhen deposits or withdrawals fail on our rules or the bank's side, customers complain and our books stop matching the bank's. We wanted failed transactions explained, stuck ones resolved automatically, and risky actions needing sign-off. Where the intelligence isReconciliation matching + exception handling Sub-task for the System One typed decisionPer transaction pair: {matched, stuck, missing at bank, missing at the client, amount mismatch} with confidence; per exception: {auto-resolve, approval needed, escalate} Stays with the reasoning LLMInterpreting free-text bank error messages; the action-plan narrative during an incident Gain from the typed layerVery high — reconciliation matching is the textbook typed decision at volume; the confidence threshold decides what may auto-resolve and what waits for approval | ||||||||||
| 3 | Finance | Flow A · Report extraction (SAP / Qlik) | 3 | 4 | 5 | 4 | 1 | 77 | ★★★ | |
The team's ask · paraphrasedOur BI tool requires a login every time, and we keep pulling the same reports on a routine cycle. We wanted an interface that produces those set reports and data with a button press. Where the intelligence isNone — report extraction (API/RPA) Sub-task for the System One typed decisionFree-text request → report code, if requests are unstructured Stays with the reasoning LLMNone Gain from the typed layerMarginal — same worker as SAP report extraction (ERP Report Extraction) with a Qlik connector Same worker asERP Report Extraction | ||||||||||
| 4 | Finance | Flow A · VAT-2 Automation | 4 | 4 | 4 | 3 | 3 | 75 | ★★★ | |
The team's ask · paraphrasedOur withholding VAT return is prepared by hand and takes a long time. We wanted withholding and foreign invoices scanned automatically, wrong tax codes and tax base mismatches fixed, and the result loaded into accounting. Where the intelligence isRule checks + tax-code classification Sub-task for the System One typed decisionPer invoice: tax-code correctness {correct, wrong → suggested code, unclear} and withholding-rate class Stays with the reasoning LLMNone Gain from the typed layerMedium — most checks are rules over structured fields; the classifier handles the ambiguous descriptions. Filing errors are costly, so "correct automatically" should be "propose, accountant confirms" | ||||||||||
| 5 | Finance | Flow A · Report extraction (SAP / Qlik) | 2 | 4 | 3 | 4 | 1 | 63 | ★★★ | |
The team's ask · paraphrasedGetting the same recurring reports out of our ERP means logging in and pulling them again each time. We wanted a simple interface that exports the defined reports at the press of a button. Where the intelligence isNone — extracting a predefined report from SAP (RPA or RFC/OData API) Sub-task for the System One typed decisionFrom a free-text request: "which report? {report code list}" + parameter extraction — only if requests arrive as free text Stays with the reasoning LLMNot needed Gain from the typed layerMarginal — the real gain comes from SAP session/API automation, not from AI Same worker asBI Report Extraction | ||||||||||
Where the typed layer belongs here
- the System One model is marginal in this use case; the real gain is SAP integration.
- Ask in the session where the System One model actually belongs in Finance: reconciliation matching, invoice/expense classification, payment anomaly scoring.
08 · What this is, and is not
The deliverable
An interactive session page per department — flows with shaded mini-project blocks, the typed-decision vs reasoning-LLM split with an explainer behind every step, use-case cards, the ranking, a data-access agenda and a print-ready report view — plus a client-ready architecture section. I packaged the method as a reusable skill so the same analysis runs for any department from the workshop entries.
Elsewhere at TRAI
I scoped enterprise requests — on-premise document intelligence for a major grocery retailer, image processing for a glass manufacturer, voice agents in finance — into prioritized building blocks and matched them with startups from Türkiye's AI ecosystem.
Anonymization: the client is described only by its industry; people, teams, internal systems, use-case ids and dates are removed. Widely used tool names in the diagrams (Zabbix, Opsgenie, Ansible, GitLab, Kubernetes, Kafka, Redis and others) are kept so the diagrams stay exact.