<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Atomsized</title>
    <description>The latest articles on DEV Community by Atomsized (atomsized).</description>
    <link>https://dev.to/atomsized</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F14163%2F3e23127b-d90b-4a28-88a5-b2a5d0e859d4.png</url>
      <title>DEV Community: Atomsized</title>
      <link>https://dev.to/atomsized</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atomsized"/>
    <language>en</language>
    <item>
      <title>Does Your AI Agent Have a Kill Switch?</title>
      <dc:creator>Boyan Iliev</dc:creator>
      <pubDate>Mon, 03 Aug 2026 06:00:00 +0000</pubDate>
      <link>https://dev.to/atomsized/does-your-ai-agent-have-a-kill-switch-396j</link>
      <guid>https://dev.to/atomsized/does-your-ai-agent-have-a-kill-switch-396j</guid>
      <description>&lt;p&gt;&lt;strong&gt;The agent believed it was working inside a simulation. The systems it reached were real. Anthropic's report shows why a prompt cannot carry the whole safety boundary for an autonomous task.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An engineer should know what the agent is doing, what it can reach and how to stop it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On 30 July 2026, Anthropic published a review of 141,006 cybersecurity evaluation runs. It found three incidents, across six runs, where Claude reached the internet and gained unauthorised access to real organisations.&lt;/p&gt;

&lt;p&gt;The models were running capture-the-flag exercises. Their prompts said the environment was simulated and had no internet access. A misunderstanding with the evaluation partner left live internet access available, so the models often treated real systems as part of the exercise.&lt;/p&gt;

&lt;p&gt;The models followed their task with a false picture of the environment. The runtime allowed actions that the prompt said were impossible, and the activity was found later through transcript review.&lt;/p&gt;

&lt;p&gt;An engineer should understand the task before it begins, see its progress and be able to stop it immediately. The platform must enforce those controls even when the model misunderstands the situation.&lt;/p&gt;

&lt;h2&gt;The agent had the wrong picture of its environment.&lt;/h2&gt;

&lt;p&gt;Anthropic's evaluation prompt told Claude that it had no internet access. The machines used for the exercise could reach the internet because of a misconfiguration. The agent trusted the description in the prompt and treated reachable systems as part of the simulated challenge.&lt;/p&gt;

&lt;p&gt;The incidents had real effects. One reached production infrastructure and a database. Another published a malicious Python package to PyPI. It was available for roughly one hour and ran on 15 real systems. A third scanned thousands of targets before compromising an internet-facing application.&lt;/p&gt;

&lt;p&gt;The models reacted differently to signs that the targets were real. An older model continued. Another convinced itself that it was still in a simulation. Anthropic's latest research model stopped after recognising the real environment.&lt;/p&gt;

&lt;p&gt;Anthropic describes this as closer to a harness and operational failure than a model alignment failure. Normal production safeguards were absent because the evaluations measured the underlying models. Containment and monitoring therefore carried more responsibility.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The prompt described the intended world. The infrastructure exposed the real one.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Make the environment prove what the agent can reach.&lt;/h2&gt;

&lt;p&gt;A prompt can name the approved environment, resources and goal. It cannot close a network route, remove an IAM permission or prevent a tool from calling an unapproved endpoint.&lt;/p&gt;

&lt;p&gt;Build the smallest working environment for the task. Give the agent a separate identity, short-lived credentials, an allowlist of tools and resources, a network policy and a time limit. Check those controls from inside the runtime it will use.&lt;/p&gt;

&lt;p&gt;Name the account, cluster, repository, namespace, service and environment. Describe which systems are real, simulated or outside scope. If the runtime disagrees with that description, stop before the first action.&lt;/p&gt;

&lt;p&gt;Review third-party execution environments as well. The team needs to know who owns the network, identity, logs, emergency stop and incident response. An assumption between two organisations can become a live access path.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verify outbound network access from inside the agent runtime.&lt;/li&gt;
&lt;li&gt;Issue one short-lived identity for one task and one environment.&lt;/li&gt;
&lt;li&gt;Allow only the tools, resources and actions required for the approved goal.&lt;/li&gt;
&lt;li&gt;Record the expected account, cluster, repository and service before execution.&lt;/li&gt;
&lt;li&gt;Stop when the observed environment differs from the approved context.&lt;/li&gt;
&lt;li&gt;Confirm who owns monitoring and incident response across every vendor boundary.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;Controls should still hold when the agent's understanding is wrong.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Give the engineer a live view of the task.&lt;/h2&gt;

&lt;p&gt;Before the run, the responsible engineer should see the goal, plan, environment, identity, tools, access boundary, time limit and stop conditions. A broad instruction such as investigate the cluster leaves too much room for interpretation.&lt;/p&gt;

&lt;p&gt;During the run, show the current step, tool call, target resource, network destination, command, proposed change and evidence. Highlight denied requests, repeated attempts, new destinations and actions outside the plan.&lt;/p&gt;

&lt;p&gt;Keep the important state above the raw transcript: the goal, current action, completed changes, remaining access and failed policy checks. Preserve the full trace underneath for audit.&lt;/p&gt;

&lt;p&gt;Alert the named owner when the agent approaches a boundary. The owner can follow normal reads through the activity view and receive a clear signal when approval is required or the task changes shape.&lt;/p&gt;

&lt;h3&gt;Keep the plan, live work and stop path together&lt;/h3&gt;

&lt;p&gt;The engineer should be able to understand and control the task from one place.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Approved goal:&lt;/strong&gt; Name the owner, environment, result and time limit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bounded identity:&lt;/strong&gt; Issue short-lived access for the approved tools and resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live activity:&lt;/strong&gt; Show actions, targets, evidence, retries and denied requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy checks:&lt;/strong&gt; Compare every action with the approved scope before the tool runs it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Engineer checkpoint:&lt;/strong&gt; Pause before a production change, new destination or high-risk action.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;External stop:&lt;/strong&gt; End the task and remove its access through a control the agent cannot change.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preserved evidence:&lt;/strong&gt; Keep the plan, tool calls, logs, diffs and reason for stopping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verified recovery:&lt;/strong&gt; Check the desired state and let the engineer decide the next step.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;&lt;p&gt;Awareness means seeing the plan, the current action and the remaining authority.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;A kill switch must stop access as well as reasoning.&lt;/h2&gt;

&lt;p&gt;Industries that use machinery design an emergency stop into the system. An infrastructure agent can cross networks, use credentials and change real resources quickly. Design its stop before it starts.&lt;/p&gt;

&lt;p&gt;Ending the model response leaves other work running. Tool calls, CI jobs, cloud operations, retries and scheduled tasks may continue after the visible conversation ends.&lt;/p&gt;

&lt;p&gt;Place the kill switch in the orchestrator or a separate control service. The agent cannot disable it, edit its policy or issue itself a new identity. Engineers and automatic policy controls should both be able to trigger it.&lt;/p&gt;

&lt;p&gt;Stopping also needs a recovery choice. Preserve the evidence, compare the running system with the approved state and let the engineer choose whether to reconcile, revert or investigate further.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stop the active run:&lt;/strong&gt; End new calls, then terminate active sessions and jobs where possible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remove authority:&lt;/strong&gt; Revoke the task identity, expire tokens and block its network and tool access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cancel future work:&lt;/strong&gt; Clear queued jobs, retries, schedules and child tasks created by the run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preserve the record:&lt;/strong&gt; Store the plan, prompts, actions, destinations, responses, diffs, logs and stop reason.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the real state:&lt;/strong&gt; Compare Git, GitOps, Kubernetes and cloud state with the last approved result.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Return ownership:&lt;/strong&gt; Give the responsible engineer the evidence and recovery choices before any restart.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;The stop control must remain available when the agent, model or runtime behaves unexpectedly.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Keep engineers close to actions that change the system.&lt;/h2&gt;

&lt;p&gt;Engineers should see the plan, the live activity and every point where approval is needed. Routine reads can continue inside the approved boundary.&lt;/p&gt;

&lt;p&gt;Read-only evidence gathering can publish a report for review. Infrastructure changes should arrive as a diff or pull request. Git records the proposal, CI checks it and an engineer approves it before GitOps applies the accepted state.&lt;/p&gt;

&lt;p&gt;Identity, networking, data, deletion and security changes deserve explicit approval. Small reversible actions may gain more automation after the team tests the limits, recovery and stop path with real runs.&lt;/p&gt;

&lt;p&gt;For Atomsized workflows, AI reads and prepares. Engineers decide and approve. Git records the accepted change. GitOps applies it. AWS and monitoring report the result.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The engineer owns the decision, the boundary and the recovery.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Begin with one task and rehearse the stop.&lt;/h2&gt;

&lt;p&gt;Choose one repeated task with a known owner and clear result. Read-only investigation lets the team compare the agent's work with an engineer's process before giving it change access.&lt;/p&gt;

&lt;p&gt;Write down the scope and pause conditions. Build the live view and kill switch, then replay earlier incidents where the correct outcome was to ask for help or stop.&lt;/p&gt;

&lt;p&gt;Run beside an engineer. Review the actions, access, weak context and alerts. Expand only after the team trusts the monitoring and has rehearsed recovery.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1. Choose the task:&lt;/strong&gt; Name one owner, one environment, one expected result and one maximum runtime.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2. Map every action:&lt;/strong&gt; List the tools, resources, destinations, permissions and data the task may use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3. Build the boundary:&lt;/strong&gt; Create the task identity, allowlists, network rules and automatic stop conditions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4. Show the live state:&lt;/strong&gt; Put the plan, current action, evidence, changes and policy decisions in one view.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5. Test the kill switch:&lt;/strong&gt; Stop an active tool call, revoke access, cancel queued work and confirm the evidence remains available.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6. Run in shadow mode:&lt;/strong&gt; Use real work with no change authority, compare results and fix gaps before adding another action.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;A team should prove that it can stop the agent before asking the agent to do more.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Test what happens after the button is pressed.&lt;/h2&gt;

&lt;p&gt;A kill switch can report success while external work continues. Confirm that credentials fail, network paths close, active jobs end where possible and queued work disappears.&lt;/p&gt;

&lt;p&gt;Inspect the running state next. GitOps may restore an approved configuration, while data operations and external API calls can need a separate recovery. Show what completed, stopped halfway and still needs attention.&lt;/p&gt;

&lt;p&gt;Keep these tests in the evaluation set. Include wrong context, unexpected internet access, new destinations, repeated denied actions, lost monitoring and a failed stop attempt.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The manual stop remains available outside the agent runtime.&lt;/li&gt;
&lt;li&gt;Automatic policy checks can stop the task without model cooperation.&lt;/li&gt;
&lt;li&gt;Credentials, network paths, active jobs, queues and retries are checked separately.&lt;/li&gt;
&lt;li&gt;The full activity record remains available after access is removed.&lt;/li&gt;
&lt;li&gt;The running system is compared with the last approved state.&lt;/li&gt;
&lt;li&gt;An engineer confirms recovery before the agent can start again.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;Pressing stop begins the recovery. Verified state finishes it.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Design the stop before the agent starts.&lt;/h2&gt;

&lt;p&gt;Anthropic's report shows how reasonable assumptions can line up badly. The agent believed the prompt, the environment exposed more than intended and monitoring found the activity after real systems had been reached.&lt;/p&gt;

&lt;p&gt;Give every task a named owner, accurate context, limited access, live monitoring, checkpoints and a stop control the agent cannot reach.&lt;/p&gt;

&lt;p&gt;Start with one read-only workflow. Make its work visible, rehearse the kill switch and verify recovery. Add authority from evidence gathered during real runs.&lt;/p&gt;

&lt;p&gt;An engineer should always know what the agent is trying to do, what it can touch and how to stop it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related articles
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://atomsized.com/blog/why-it-is-so-hard-to-trust-ai-with-your-infrastructure" rel="noopener noreferrer"&gt;&lt;strong&gt;How Can You Trust AI Agents With Your Infrastructure?&lt;/strong&gt;&lt;/a&gt; — The context, operating experience, permission boundary and recovery path an infrastructure agent needs before it prepares a change.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://atomsized.com/blog/how-should-ai-monitor-your-infrastructure" rel="noopener noreferrer"&gt;&lt;strong&gt;How Should AI Monitor Your Infrastructure?&lt;/strong&gt;&lt;/a&gt; — How an AI monitoring agent can gather evidence, report useful findings and keep the responsible engineer in control.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Give the agent a visible task and an external stop.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We can map one AI-assisted workflow, limit its access, show engineers what it is doing and build the stop and recovery path before it reaches production.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://atomsized.com/contact" rel="noopener noreferrer"&gt;Schedule a platform call&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>security</category>
      <category>platformengineering</category>
    </item>
    <item>
      <title>How Should AI Monitor Your Infrastructure?</title>
      <dc:creator>Boyan Iliev</dc:creator>
      <pubDate>Thu, 30 Jul 2026 06:00:00 +0000</pubDate>
      <link>https://dev.to/atomsized/how-should-ai-monitor-your-infrastructure-166d</link>
      <guid>https://dev.to/atomsized/how-should-ai-monitor-your-infrastructure-166d</guid>
      <description>&lt;p&gt;&lt;strong&gt;An alert tells you that something changed. It rarely says why, who is affected or what to do next. The on-call engineer still opens several tools and pieces the story together. AI can help when it understands the platform around the alert.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The agent collects the evidence and reports the finding. Engineers decide what to do.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Imagine an API latency alert. It identifies the graph that moved. It does not explain whether users are blocked, what changed ten minutes earlier or which dependency is slow.&lt;/p&gt;

&lt;p&gt;We have worked through incidents where a deployment looked healthy while a dependency was failing. We have also seen the largest movement on a dashboard lead away from the real user problem. The answer came from connecting the signals to the platform around them.&lt;/p&gt;

&lt;p&gt;An agent that opens dashboards faster saves a few clicks. A useful one follows the incident like an experienced engineer. It knows how the service should behave, how the parts connect, what changed and who owns the response.&lt;/p&gt;

&lt;p&gt;Start with one incident your team already understands. Write down how the investigation works, connect the information it needs and let the agent follow that path in read-only mode.&lt;/p&gt;

&lt;h2&gt;The agent should join the investigation early.&lt;/h2&gt;

&lt;p&gt;Monitoring rules tell the team when a known signal crosses a limit. Someone still works out whether users are affected, which services are involved, what changed and what can be done safely.&lt;/p&gt;

&lt;p&gt;The agent can begin when the alert arrives. It can update the incident notes, collect evidence and prepare a clear summary for the responsible engineer.&lt;/p&gt;

&lt;p&gt;The first guess will often be incomplete. One service may recover while another starts to fail. A recent deployment may look related and turn out to be harmless. The agent should keep checking its explanation as the situation changes.&lt;/p&gt;

&lt;p&gt;What we want is simple: a shorter path from the first signal to a useful understanding of the problem. The engineer should see who is affected, what changed, which dependencies matter, what evidence is missing and what to check next.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The agent keeps the incident picture updated. The engineer decides what to do.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Give the agent a clear map of the platform.&lt;/h2&gt;

&lt;p&gt;A large collection of metrics and logs is only the starting point. The agent needs to know how those signals relate to the system the team runs.&lt;/p&gt;

&lt;p&gt;Start with what the user is trying to do. Follow that path through the applications, databases, queues, networks, cloud resources and external services involved. Connect each part to its owner, expected state, deployment source and recovery steps.&lt;/p&gt;

&lt;p&gt;Then add what changed. Git commits, CI runs, Argo CD syncs, Terraform changes, Kubernetes events, AWS activity, feature releases, maintenance and traffic shifts can all change how an alert should be read.&lt;/p&gt;

&lt;p&gt;Add the team's experience as well. Runbooks show the usual response. Incident reviews show what happened here before. Maintenance notes explain temporary conditions. Confirmed results show which clues helped and which guesses were wrong.&lt;/p&gt;

&lt;h3&gt;Connect the user problem to the recovery&lt;/h3&gt;

&lt;p&gt;Each part answers a different question during the incident.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;What healthy looks like:&lt;/strong&gt; Describe what users and business processes should be able to complete.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How the system connects:&lt;/strong&gt; Map the applications, data, networks, cloud resources and external services involved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What is happening:&lt;/strong&gt; Collect metrics, logs, traces, events and checks with clear names and timestamps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What changed:&lt;/strong&gt; Connect deployments, configuration, infrastructure changes and planned work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What the team knows:&lt;/strong&gt; Add owners, runbooks, maintenance, known exceptions and earlier incidents.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent investigation:&lt;/strong&gt; Build the timeline, test possible causes, show gaps and prepare the next check.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Engineer decision:&lt;/strong&gt; The responsible engineer reviews the evidence and chooses the response.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the recovery:&lt;/strong&gt; Watch the result, record what happened and improve the next investigation.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;&lt;p&gt;The map should show how a user problem connects to the systems underneath it.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;The agent can only use the context you prepare.&lt;/h2&gt;

&lt;p&gt;Most of the information probably exists already. The problem is that each tool describes the platform differently. A repository may use one service name, Kubernetes another and the cloud account a third. Timestamps may use different zones. The team may know the owner even though the tools do not.&lt;/p&gt;

&lt;p&gt;Connect those sources while keeping a link to the original data. The agent should be able to move from a user-facing check to the service, current deployment, related infrastructure, recent change and owner without guessing what names mean.&lt;/p&gt;

&lt;p&gt;Access also needs care. The agent may read from several systems, but each source still needs its own permissions and audit record. Secrets and unrelated customer data should stay outside the investigation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What healthy looks like:&lt;/strong&gt; Record the user result, expected service behaviour, safe limits and checks that confirm recovery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One name for each thing:&lt;/strong&gt; Match services, environments, clusters, accounts, resources and deployments across the tools that use them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service connections:&lt;/strong&gt; Keep the upstream and downstream links across applications, data, network, cloud and external services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitoring data:&lt;/strong&gt; Collect user checks, metrics, logs, traces and events with clear timestamps and source labels.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;History of changes:&lt;/strong&gt; Put code, configuration, infrastructure, feature, maintenance and traffic changes on one timeline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Team knowledge:&lt;/strong&gt; Connect owners, escalation paths, runbooks, known exceptions and incident results confirmed by engineers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safe access:&lt;/strong&gt; Use a separate machine identity, permissions for each source and a record of what the agent reads or proposes.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;A stronger model cannot fix missing names, broken timestamps or an old service map.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Let the agent write the first investigation draft.&lt;/h2&gt;

&lt;p&gt;This is the approach behind the Atomsized Observability Agent. It reads the approved environment context, then checks Kubernetes workloads, pod status, events, logs, Prometheus alerts, selected AWS resources and spend signals on a schedule.&lt;/p&gt;

&lt;p&gt;Most checks should stay quiet. Normal deployment churn, short pod restarts and spot node rotation only need a report when the behaviour persists or affects a real workload.&lt;/p&gt;

&lt;p&gt;When it finds something worth investigating, the agent writes a short Markdown report in the observability repository and posts it to Slack for review. The report states what happened, why it may matter, which evidence supports it and where the engineer should check next.&lt;/p&gt;

&lt;p&gt;That level of automation removes repeated collection work and keeps the team informed. The responsible engineer reviews the finding, decides whether action is needed and owns the response through recovery.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name the environment, service, affected user result and current owner.&lt;/li&gt;
&lt;li&gt;Describe the finding and show what normal looked like before it.&lt;/li&gt;
&lt;li&gt;Attach the useful evidence with clear sources and timestamps.&lt;/li&gt;
&lt;li&gt;Connect recent deployments, configuration and infrastructure changes.&lt;/li&gt;
&lt;li&gt;Show possible causes, weak links and missing information.&lt;/li&gt;
&lt;li&gt;Suggest the next useful check for the responsible engineer.&lt;/li&gt;
&lt;li&gt;Update the report when the evidence or affected service path changes.&lt;/li&gt;
&lt;li&gt;Record whether the response restored the expected result.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;Automate evidence collection and reporting. Keep production decisions with the responsible engineer.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Keep the response inside the usual delivery and recovery process.&lt;/h2&gt;

&lt;p&gt;The agent may need to read from monitoring, delivery and cloud systems. Changing those systems needs a much smaller set of permissions.&lt;/p&gt;

&lt;p&gt;For Atomsized workflows, AI reads and prepares. Engineers decide and approve. Git records the accepted change. GitOps applies and reconciles it. AWS reports what happened in the running environment.&lt;/p&gt;

&lt;p&gt;The incident summary should name the service owner, incident owner, proposed action, expected result, stop condition and recovery check. If the evidence changes before approval, the proposal should be updated.&lt;/p&gt;

&lt;p&gt;Later, the team may allow one small and reversible response to run automatically. The identity, action limits, retries, time limit and stop conditions should be enforced outside the model. Changes to data, identity and networking should keep a stronger review.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;The agent prepares the evidence and response. The responsible engineer owns the change and recovery.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Start with one incident your team already understands.&lt;/h2&gt;

&lt;p&gt;Trying to monitor the whole platform with AI creates too much scope for the first version. Choose one service path and one type of incident that experienced engineers already know how to investigate.&lt;/p&gt;

&lt;p&gt;A good starting case has clear user impact, several useful data sources, a known owner and enough past incidents to test against. It should be safe to run with read-only access.&lt;/p&gt;

&lt;p&gt;Write down the investigation before connecting the agent. Follow an engineer from the first alert to the confirmed recovery. Record the tools they open, the questions they ask and the points where missing information slows them down.&lt;/p&gt;

&lt;p&gt;That path becomes the first monitoring skill. In read-only mode, the agent can run the checks on a schedule, prepare the report and show when the evidence points somewhere else.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1. Choose the incident:&lt;/strong&gt; Choose the service, type of incident, affected user result, owner and evidence that confirms recovery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2. Map the steps:&lt;/strong&gt; List the tools, data sources, questions and decisions used during the investigation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3. Connect the data:&lt;/strong&gt; Give services stable names, align timestamps and provide read-only access to the evidence the agent needs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;4. Replay past incidents:&lt;/strong&gt; Test the workflow with real incidents and near misses, including cases where the right answer is to wait or ask another owner.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5. Run reports beside the engineer:&lt;/strong&gt; Let the agent publish live findings for the on-call engineer without changing production or paging more people.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6. Expand from results:&lt;/strong&gt; Fix missing context and add another type of incident only after the first investigation path is dependable.&lt;/li&gt;
&lt;/ul&gt;

&lt;ul&gt;
&lt;li&gt;One person who owns the monitoring workflow and one owner for the service.&lt;/li&gt;
&lt;li&gt;A written description of what healthy looks like for users, the service and its dependencies.&lt;/li&gt;
&lt;li&gt;A service map connected to current ownership and escalation.&lt;/li&gt;
&lt;li&gt;One timeline for monitoring data, application changes and infrastructure changes.&lt;/li&gt;
&lt;li&gt;A read-only agent identity with limited access and an audit trail.&lt;/li&gt;
&lt;li&gt;A set of real incidents with results confirmed by engineers.&lt;/li&gt;
&lt;li&gt;One incident-summary format that shows evidence, missing information and other possible causes.&lt;/li&gt;
&lt;li&gt;A review after the shadow period with a clear choice to improve, expand or stop.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;One complete incident path teaches the team more than a broad monitoring demo.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Check whether the agent makes the investigation easier.&lt;/h2&gt;

&lt;p&gt;A clear explanation can still send the engineer in the wrong direction. Judge the agent by the help it provides during the investigation and by the evidence attached to its conclusions.&lt;/p&gt;

&lt;p&gt;During replays and live shadow mode, compare its incident picture with the one built by the engineer. Record where it found useful information sooner, where it followed a weak link and where missing ownership or an old service map blocked it.&lt;/p&gt;

&lt;p&gt;After each incident, the engineer confirms the cause, useful evidence, chosen response and recovery. Add those confirmed facts to the runbook, incident history and tests used by the monitoring skill.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time from the first alert to a useful incident summary.&lt;/li&gt;
&lt;li&gt;Conclusions that include a source, timestamp and affected service path.&lt;/li&gt;
&lt;li&gt;Missing information found before the agent recommends a response.&lt;/li&gt;
&lt;li&gt;Weak links or confident guesses the engineer needs to correct.&lt;/li&gt;
&lt;li&gt;Checks and responses accepted, changed or rejected by the owner.&lt;/li&gt;
&lt;li&gt;Recovery confirmed and recorded after the response.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;The agent should learn from what the team confirmed after the incident.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Build useful context first.&lt;/h2&gt;

&lt;p&gt;AI monitoring becomes useful when the agent can see the platform around the alert. It needs to know what healthy looks like, how services connect, what changed, who owns the response and what happened in similar incidents.&lt;/p&gt;

&lt;p&gt;It should keep one clear incident picture from the first signal to recovery. Engineers can see what is happening, which possible causes fit the evidence, what remains unknown and what to check next.&lt;/p&gt;

&lt;p&gt;Start with one repeated investigation and run the agent beside the on-call engineer. Let it automate evidence gathering and reports while the team fixes the missing context that real incidents expose. Add another incident type when the first one is dependable.&lt;/p&gt;

&lt;p&gt;Engineers remain responsible for decisions and production changes. The agent helps them reach those decisions with better information and less searching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related articles
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://atomsized.com/blog/why-it-is-so-hard-to-trust-ai-with-your-infrastructure" rel="noopener noreferrer"&gt;&lt;strong&gt;How Can You Trust AI Agents With Your Infrastructure?&lt;/strong&gt;&lt;/a&gt; — The context, operating experience, permission boundary and recovery path an infrastructure agent needs before it prepares a change.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://atomsized.com/blog/why-gitops-is-hard-to-explain-and-automate" rel="noopener noreferrer"&gt;&lt;strong&gt;Why GitOps is so hard to explain and automate.&lt;/strong&gt;&lt;/a&gt; — A practical operating model for proposals, engineer approval, reconciliation and evidence across AWS and Kubernetes.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Start the Observability Agent with one useful report.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We can map what healthy looks like, connect the evidence and automate a report your engineers can review before deciding what to do.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://atomsized.com/contact" rel="noopener noreferrer"&gt;Schedule a platform call&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>observability</category>
      <category>platformengineering</category>
    </item>
    <item>
      <title>From Shared Staging to Reviewable Environments</title>
      <dc:creator>Boyan Iliev</dc:creator>
      <pubDate>Mon, 27 Jul 2026 06:00:00 +0000</pubDate>
      <link>https://dev.to/atomsized/from-shared-staging-to-reviewable-environments-gnc</link>
      <guid>https://dev.to/atomsized/from-shared-staging-to-reviewable-environments-gnc</guid>
      <description>&lt;p&gt;&lt;strong&gt;One team deploys a feature for QA. Another needs to test a migration. Product wants a stable demo. Each request makes sense. A single shared environment forces them into the same queue.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Shared staging becomes a queue when several teams need it at the same time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We have seen one deployment overwrite another, testers wait for a stable slot, demos block development work and teams lose track of which revision is running.&lt;/p&gt;

&lt;p&gt;The name varies between teams: staging, stage, dev, test or UAT. We use shared staging to mean any environment where several changes have to take turns.&lt;/p&gt;

&lt;p&gt;When several decisions wait for the same environment, they have to happen one after another. Engineering, QA and product repeat tests, screenshots and approvals, coordinate deployment windows and wait longer to move a change forward.&lt;/p&gt;

&lt;p&gt;Extra permanent environments rarely clear that queue. A reviewable environment has one job: help someone make a specific decision about a known version of a change.&lt;/p&gt;

&lt;h2&gt;Shared staging slows down when reviews run in parallel.&lt;/h2&gt;

&lt;p&gt;Waiting and unclear targets cause the delay. A team loses confidence in a review when the target changes underneath it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Changes collide:&lt;/strong&gt; A newer deployment replaces the version somebody else is still testing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review waits:&lt;/strong&gt; QA, product and engineering negotiate for a stable window instead of reviewing the work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Results become unclear:&lt;/strong&gt; A test result or screenshot may no longer match what is currently deployed.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Measure the wait as part of delivery time.&lt;/h2&gt;

&lt;p&gt;A staging queue often starts before the deployment metrics begin. We look at how long a change waits for its first useful review, how much work is repeated and how often a newer deployment makes earlier results out of date.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Review delay:&lt;/strong&gt; Track the median time from ready for review to the first useful validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time spent waiting:&lt;/strong&gt; Record engineering, QA and product hours spent waiting, coordinating or repeating work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Repeated review work:&lt;/strong&gt; Count tests, demos and approvals that need to be repeated after a newer deployment.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;Measure one application or service for two weeks. Compare its results over time instead of combining data from teams that work in different ways.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Build the smallest environment the review needs.&lt;/h2&gt;

&lt;p&gt;A reviewable environment has a clear purpose, a known source revision, an owner, clear rules for test data, visible health and a cleanup rule. It only needs the parts required for that decision.&lt;/p&gt;

&lt;p&gt;A preview environment gives developers, testers, product teams and stakeholders their own reviewable version of a change. They can develop, test and demonstrate it without competing for shared staging.&lt;/p&gt;

&lt;p&gt;When previews reuse existing Kubernetes capacity and shared platform services, the extra running cost can stay low. A short-lived namespace uses the cluster and services that are already running.&lt;/p&gt;

&lt;p&gt;That changes when a preview needs dedicated nodes, databases, load balancers, large data sets or a long lifetime. Clear resource limits and automatic cleanup after a set time help keep costs under control.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Keep staging production-like. Preview environments should use the same built application versions, configuration patterns and deployment path, while scaling down safely and keeping production data out.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Preview, UAT and shared staging answer different questions.&lt;/h2&gt;

&lt;p&gt;Each stage supports a different kind of review.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Preview environment:&lt;/strong&gt; Review one meaningful change quickly and in isolation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coordinated UAT:&lt;/strong&gt; Test a fixed combination of services, repositories or business flows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared staging:&lt;/strong&gt; Keep it for final release checks and tests that need the full system in a common state.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Record each step from creation to deletion.&lt;/h2&gt;

&lt;p&gt;A pull request records the change. CI builds a fixed application version. Git records how the environment should be set up. Argo CD applies that setup and keeps it in sync. The URL, version, health and test results return to the pull request.&lt;/p&gt;

&lt;p&gt;When the change is merged, closed or reaches its time limit, the environment definition is removed and the environment is cleaned up. Git history and review results remain available.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start with the workflow that waits for shared staging most often.&lt;/li&gt;
&lt;li&gt;Build one complete create, update, review and delete lifecycle.&lt;/li&gt;
&lt;li&gt;Measure waiting time, failed environments and old environments that were not removed before adding more teams or services.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Fund one review path, then decide from the results.&lt;/h2&gt;

&lt;p&gt;Choose one staging bottleneck where work regularly waits or needs to be repeated. Run a 30-day pilot, then decide whether the team should spend more time and money on it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Baseline:&lt;/strong&gt; Measure the current wait, repeated work and environment cost for one review path.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pilot:&lt;/strong&gt; Build one complete create, update, review and delete lifecycle using the existing delivery controls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide:&lt;/strong&gt; After 30 days, extend, adjust or stop based on review delay, repeated work, stability and AWS spend.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;&lt;p&gt;After 30 days, ask whether reviews moved sooner and whether the workflow kept stability and AWS spend under control.&lt;/p&gt;&lt;/blockquote&gt;

&lt;h2&gt;Start with a review that regularly waits.&lt;/h2&gt;

&lt;p&gt;Find the change that repeatedly waits for staging, give it one controlled review path and measure whether the queue gets shorter.&lt;/p&gt;

&lt;p&gt;Shared staging keeps a clear job: final release validation and shared checks. Preview and UAT paths handle review work that needs isolation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related articles
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://atomsized.com/blog/preview-environments-monorepo-five-person-team" rel="noopener noreferrer"&gt;&lt;strong&gt;Preview environments for a monorepo team of five or more.&lt;/strong&gt;&lt;/a&gt; - A practical GitOps design for isolated, disposable application states when one repository contains the complete source state.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://atomsized.com/blog/preview-environments-microservices-ten-repositories" rel="noopener noreferrer"&gt;&lt;strong&gt;Preview environments for a microservice architecture with 10+ repositories.&lt;/strong&gt;&lt;/a&gt; - A GitOps operating model for single-service and coordinated previews across multiple repositories.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Turn one blocked review path into a controlled workflow.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We can map the smallest useful preview or UAT workflow around your repositories, GitOps controls and current AWS platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://atomsized.com/contact" rel="noopener noreferrer"&gt;Schedule a platform call&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gitops</category>
      <category>devops</category>
      <category>platformengineering</category>
      <category>kubernetes</category>
    </item>
  </channel>
</rss>
