Wazuh agent upgrades start once the central components are current
Agents are upgraded in a controlled rollout that begins only after the Wazuh indexer, server and dashboard are running the target 4.14 patch. For a team with thousands of endpoints, the practical question is rarely whether to upgrade agents but how. The route depends on the fleet. Agents that the Wazuh server can reach can usually be upgraded remotely through the server, while hosts that are isolated, intermittently offline or governed by separate change control may need a local upgrade on each machine. Decide the route for each group of agents, and record which hosts fall into each group before the first wave is scheduled.
Agents need to match a version that the central components support, because the server manages agent configuration and upgrades. An agent on a version outside the supported path can fail to upgrade, report incompletely or sit in a state that is hard to diagnose across a large fleet. The exact compatibility rules between server and agent versions are set out in the documentation for the target release, and they should be confirmed there before any wave is planned. Do not carry forward the rules you remember from an earlier 4.14 patch. Check also whether any agents are on releases older than the path the target release supports, since those hosts may need an intermediate step.
The release cadence means agent upgrades recur. Wazuh shipped 4.14 patch releases on 17 March, 23 April, 1 July, 29 July, 23 September and 14 October 2026, and the two most recent were 4.14.8 on 23 September and 4.14.9 on 14 October. Each new patch raises the same questions: which agent version to standardize on, whether the fleet must move now, and which hosts can wait. Treat agent upgrades as a repeatable operating process with a named owner, a current inventory of agent versions and a written runbook, instead of a project that starts from scratch each time.
Before the first wave, take a current inventory of agent versions, operating systems and reachability from the server, using the agent list in your own Wazuh environment. Confirm the compatibility rules for the target release, choose a small pilot group that represents each operating system and route, and define the conditions that will pause the rollout, such as a rise in agents that stop reporting. Agree who approves each wave and how failed hosts will be tracked and retried. These decisions cost little to make early and are difficult to make during an incident.
What changes across the 4.14 patch line and what each change requires
This table lists the kinds of change that arrive across the Wazuh 4.14 patch line and what each one asks you to check before upgrading agents. Use the release notes for your exact target version as the source for specific changes, since this page does not list breaking changes or deprecations. The main takeaway is that every patch release is a planning input for each agent wave, not only for the server.
| Change | Impact | Action needed |
|---|---|---|
| Patch release dates in 4.14 | The release notes list 4.14 patch releases on 17 March, 23 April, 1 July, 29 July, 23 September and 14 October 2026, roughly one every one to two months. | Set a recurring review of the release notes so each agent wave targets the current patch, and confirm the target version before scheduling. |
| Current release 4.14.9 | Wazuh 4.14.9 was released on 14 October 2026, and 4.14.8 followed on 23 September 2026. | Confirm 4.14.9 is the intended target, then check its release notes against the server version already running in your environment. |
| Agent version compatibility with the server | Agents upgrade separately from the indexer, server and dashboard, so your fleet can run mixed versions during a rollout. | Confirm in the release notes which agent versions the target server release supports, and record the agent version distribution before and after each wave. |
| Agent configuration changes | A patch release may change agent configuration options or defaults, and shared configuration reaches agents as they reconnect. | Test the centrally managed agent configuration on a pilot group for each OS, and check it against the notes for the target version before the wide rollout. |
| Dashboard and rule effects on agent data | Changes to decoders, rules or dashboards can alter how agent events are categorized, alerted on or displayed. | After each wave, compare alert volumes and key rule firings for upgraded agents with a baseline, and review custom rules and decoders that depend on agent fields. |
| Remote upgrade packages (WPK) | Remote upgrades deliver the new agent build from the server, so the package must match the target version and operating system. | Confirm the WPK packages available for each target version and OS, and test one agent per OS family before scheduling larger groups. |
| Local upgrades on each operating system | Agents that cannot be upgraded remotely need a local upgrade with the package and steps for their own operating system. | Inventory agents by operating system and current version, then confirm the package names and install steps in the documentation for each OS in scope. |
| Breaking changes and deprecations | This page does not list specific breaking changes or deprecations for the 4.14 patch line. | Read the release notes for your exact target version, and treat any listed change as a gate before the waves that include affected agents. |
How Wazuh agent upgrades run remotely from the server
The Wazuh server can manage agent configuration and upgrades remotely, so most of a large agent fleet can be moved to a new version without logging in to each endpoint. The Wazuh documentation describes two remote routes for this work: upgrades delivered as WPK packages and triggered through the Wazuh API, and the agent_upgrade mechanism. Your team should treat the remote route as the default for agents that accept it and reserve local upgrades for hosts that cannot be reached. Before you plan either route, confirm the exact commands, package names, parameters and supported version combinations in the documentation for your target release. Do not copy request bodies or command lines from older runbooks, because the package naming and parameters can change between releases.
Start with a connectivity check. A remote upgrade only reaches agents that are online, can talk to the Wazuh server and are reporting their status. Pull the agent list from the API or the dashboard and group agents by status, then investigate every disconnected or never-connected host before scheduling a wave. Hosts that have been offline for a long period often need a local visit, so record them separately. Also confirm that the agents in each wave run the version the upgrade path expects. An agent that is far behind may need an intermediate step that the documentation lists for that release.
Next, check agent group membership. Agent groups are the practical unit for scoping a remote run, because they let you target a set of endpoints that share a role, operating system or change window. Verify that each group contains only the agents you intend to upgrade, that the group's shared configuration is the one you expect, and that no host is in two groups with conflicting settings. Write down which group goes first, which goes last, and which hosts are excluded, such as critical production systems that need a separate approval. Keep the group list in your change record so the rollback owner knows exactly what was touched.
If you run the Wazuh server as a cluster, check cluster health before starting any remote run. Confirm that every cluster node is up, that the nodes agree on the state of the cluster, and that no node is in the middle of its own maintenance. Agents connect to the cluster, and a degraded node can leave some agents without a path back to the manager during the upgrade, which makes their status harder to read. Check the server's logs and the cluster status output from the documentation for your release, and confirm that the central components are at the version your agent upgrade expects. Plan the remote run for a window in which the cluster is stable, not during its own upgrade.
Finally, decide how you will judge each wave before moving to the next one. After each batch, compare the reported agent versions with the target, check that agents have reconnected, and review the server logs for upgrade errors. Keep a short list of failure signals to act on, such as agents that stay disconnected, agents that report the old version after the run, or agents that report errors in the upgrade log. Confirm with your vendor documentation which upgrade states and error messages appear for your release, rather than assuming them. Stop the wave when the failure rate or the unknown state count exceeds the threshold your change owner has agreed.
Preparing the agent inventory, backups and test ring before any agent moves
Each card below is a precondition for the first agent upgrade, and they depend on each other. The inventory defines the batches, the backups make rollback possible, and the test ring shows that each platform works. The offline plan covers hosts the standard path cannot reach, and the change plan gives system owners time to prepare.
Agent inventory and ownership
Build a register of every enrolled agent with its agent ID, hostname, operating system, current version, agent group, network zone and named owner. Export the list from the Wazuh server, then reconcile it against your asset system to find decommissioned, duplicate or unmanaged hosts. The inventory sets the batch sizes, the upgrade order and the approvers for each change. Confirm that every host has exactly one accountable owner before any agent moves.
Server-side configuration backups
Back up the agent configuration and agent group definitions held on the Wazuh server before the first upgrade step. Store the copy outside the server, record which group each agent belongs to, and attach the backup to the change record. Include the shared configuration for every group and any custom settings that control upgrade behavior. Restore the backup once on a non-production server so the team knows it is usable before it is needed.
Test ring for each platform
Select representative endpoints for every operating system in the fleet. Wazuh agents run on Linux, Windows, macOS, Solaris, AIX and HP-UX, and each platform has its own install and upgrade behavior, so a successful Linux test does not prove the others. Include the software mix, reboot behavior and any hardening that touches agent files. The number of test hosts per platform depends on how varied the fleet is and how many owners each platform serves.
Offline plan for isolated hosts
Identify hosts without internet access early, because they cannot follow the standard upgrade path. Read the Wazuh offline installation guide and confirm which packages, dependencies and transfer steps the target version requires. If these hosts use vulnerability detection, decide whether to run an offline vulnerability repository in place of the Wazuh Cyber Threat Intelligence platform, and define how that repository is refreshed. Document the transfer path, the approvals and who verifies each package before it enters the network.
Change window and owner communication
Agree a change window with each system owner and publish it with the affected groups, the expected agent disconnects and the point at which the team would roll back. Owners should know which alerts may pause and who to contact if a host stops reporting. Set the windows by host count, the monitoring tolerance of each business service and any freeze periods. Record each owner's acceptance in the change record before the first batch starts.
When local upgrades on each operating system are the right route
Local upgrades are the fallback when the Wazuh server cannot deliver the upgrade to an agent. The usual triggers are hosts that cannot reach the server for remote delivery, air-gapped or offline segments where the Wazuh offline installation guidance applies, and endpoints where the remote route fails after the agent has been upgraded centrally. Before any host is moved to a local route, record the reason for it. That record decides which hosts can wait for a later remote window and which need a local visit or console session, and it keeps the exception list short enough to review.
Local upgrades differ by operating system. Linux, Windows, macOS, Solaris, AIX and HP-UX each have their own package formats, install commands, service handling and privilege requirements. The steps, package names and privilege model must come from the Wazuh documentation for that platform and the exact target agent version. Do not reuse a procedure from an older release, from another operating system or from a community guide. Confirm the page for each platform before scheduling work, and note any difference in how the agent configuration is preserved or how the service is restarted, because those differences determine what the engineer must check on each host.
Group the hosts by operating system, current agent version and access path before any work starts. Within each group, pilot one host, confirm that the agent reconnects to the server, that the server reports the new version, and that the agent still collects the logs and inventory your rules depend on. Test the documented rollback on that pilot as well, especially on Solaris, AIX and HP-UX hosts where fewer engineers have hands-on experience. Only then move the rest of the group. A pilot per platform and version is the cheapest way to find a package or privilege problem before it repeats across many hosts.
Cost in a local route is driven by the number of hosts, not by the central upgrade. Each host needs an engineer or an approved process to touch it, a change window, and access that may mean a physical visit, a console session or a transfer of packages through an approved media path into an offline network. Costs rise with the number of distinct operating systems and target versions, with the number of hosts that need a pilot or rollback test, and with access constraints. Costs also recur, because each later agent release repeats the work on the same hosts. When requesting a quote, ask for the host count by operating system, the access method for each group, the number of target versions, the change windows and the per-host verification evidence.
Keep a per-host record after each local upgrade. The record should show the operating system, the agent version before and after, the package used and its checksum, the date, the engineer who made the change and the server check that confirmed the agent reconnected. This record is the evidence a reviewer will ask for when the fleet is audited, and it is also the starting point for the next round, because it shows which hosts are still on an old version and why.
Wazuh agent upgrade sequence with checks and rollback points
This sequence moves Wazuh agents to a target release in small, verified rings so that each stage has a proven check and a recorded rollback point. It starts with the central components and compatibility confirmation, and it ends with a reconciled inventory showing which agents are upgraded and which remain for follow-up.
Confirm central components run the target version
Before any agent moves, confirm that the Wazuh indexer, server and dashboard are on the release line you plan to deploy to agents. Compare the version reported by each component with your target release notes, and check every node if the server runs as a cluster. Agents should never be ahead of the server they report to, so this comparison is the gate for the rest of the sequence. The step is complete when every component reports the same target version and no node is left on an older build. If a component lags, pause agent work and finish the central upgrade first, as described in the central components upgrade topic. Rollback at this stage means holding agent upgrades, since no agent has changed yet.
Verify agent-to-server compatibility for the target release
Read the compatibility statement for your target agent version in the Wazuh documentation and release notes, and record which agent versions the server supports. Confirm the minimum agent version you will accept, and identify any agents already below it. Ask your Wazuh contact or check the vendor documentation whether older agents can keep reporting during a mixed-version period, because that answer shapes how long rings can run. The check is complete when you hold a written record of supported version pairs and a list of agents that fall outside them. If the target release is not compatible with a large group of agents, stop and choose a different target or upgrade those agents on a separate schedule. Rollback here means keeping all agents on their current version.
Build and validate the agent inventory
Export the list of registered agents from the Wazuh server, including agent ID, host name, operating system, current agent version, group membership, network zone and last check-in time. Reconcile this export against your configuration management database or asset list to find agents that are missing, duplicated or stale. Mark agents that are disconnected or decommissioned so they do not block a ring later. The step is complete when the export count matches your reconciled asset count, and every agent has a ring assignment by operating system and network zone. Because this inventory drives every later ring, a gap here means an agent is either upgraded without a plan or skipped without a record. Rollback is not needed at this stage since no system has changed, but any correction should be logged.
Back up server-side agent configuration and groups
Back up the server-side configuration that governs agents, including the shared agent configuration files, agent group definitions and the group assignments recorded on the server. Store the backup outside the Wazuh server, and record the version and time it was taken. Test a restore on a non-production Wazuh environment or on a copy, so you know the files are complete and usable before you depend on them. The step is complete when the backup is stored, its checksums are recorded, and the test restore reproduces the groups and assignments you exported in the previous step. Rollback at this point means restoring the server-side configuration from this backup if a later ring changes group behavior unexpectedly. Confirm the exact backup paths and restore procedure in the documentation for your current and target versions.
Set a rollback point for the test ring
Before you upgrade anything, record the rollback point for the test ring. Save the current agent version, group membership and operating system for each host in the ring, and capture the last check-in time and alert activity from the dashboard. Confirm in the documentation for your target version how an agent can be returned to its prior version, including whether the server-side upgrade method supports downgrades, and whether any manual package step is needed. The step is complete when the ring record exists, the rollback procedure has been read and confirmed for the target version, and a named person knows how to trigger it. If the rollback mechanism is not documented for the target version, do not start the ring. Treat this record as the reference for every later comparison.
Upgrade the test ring and verify agent health
Upgrade a small test ring that covers each operating system and one representative network zone for each class of host. Use the upgrade method your environment supports, such as remote upgrades from the server or local package upgrades, and record the start and end time for each agent. Verify that every agent returns to active status, that alerts from the upgraded hosts continue to reach the indexer and dashboard, and that inventory data updates after the upgrade. Compare these results against the rollback record. The step is complete when all ring agents report active, expected events are present, and inventory fields match the post-upgrade state. If an agent fails to check in or its data stops, roll that agent back using the documented procedure and hold the next ring until the cause is understood.
Expand in rings with a rollback point before each ring
Expand the upgrade one ring at a time, grouping agents by operating system and network zone so that a fault affects a bounded set of systems. Before each ring, repeat the rollback record from the test ring for that ring's agents and confirm the rollback procedure still applies. After each ring, run the same checks as the test ring: active status, alert flow, inventory freshness and absence of new agent errors on the server. The step is complete for a ring when every agent reports active or has a recorded reason for being excluded, and the checks pass. Stop expansion on the first ring that fails, roll back only the affected agents, and investigate before continuing. Ask your partner or internal team to keep a log of ring start and end times for audit evidence.
Reconcile the final inventory and document exceptions
After the last ring, export the agent inventory again and compare it with the reconciled list from the start of the sequence. Confirm that each agent is on the target version, is active, and is in its intended group, or that it appears on an exception list with a named owner and a reason. Check that the server-side configuration backup and the ring records are stored with the change record. The step is complete when the exported inventory matches the expected state, every exception has an owner, and the change record links the rings, checks and rollback points used. Keep the exception list open until those agents are upgraded or retired, because they still depend on the compatibility decision made earlier.
Handling agent failures, partial rollouts and mixed versions
Plan for four failure modes before the first wave starts: agents that fail to download or apply the package, agents that upgrade but stop reporting, hosts that go offline mid-rollout, and fleets left on mixed versions for weeks. The first two are the most dangerous because they can look like success. An upgrade task may show as finished while the agent is still on the old binary, or the agent may show the new version while its events stop reaching the Wazuh server. Your change plan should name the signal that proves each agent is healthy, not only the signal that the task ran.
Track every agent in the agent inventory with three values: the version it reports, the time it was last seen, and the upgrade outcome recorded for the wave. That gives you three states to work from: upgraded and reporting, upgraded but silent, and not yet upgraded. Export a snapshot before each wave and after it closes so changes can be traced later. Confirm which fields your Wazuh version exposes through the API and the dashboard before you rely on them. Stale inventory also matters for vulnerability detection, which correlates the software inventory agents report, so an agent that never reports its new state can leave findings based on out-of-date data.
Each failure needs one of three responses. Retry when the cause is transient, such as an interrupted download, a host that was offline, or a package lock held by another process. Fix the host when the cause is local, such as low disk space, a missing dependency, a permission or policy block from endhost security tooling, or clock drift. Roll back only when an upgraded agent stops reporting after the host is confirmed healthy, and only if the previous package is still available and has been tested for that operating system. Record the decision, the reason and the retry count against each host, and cap retries in the plan so a broken package does not keep cycling through the fleet.
Set acceptable failure rates in your own change plan, separately for each wave and each operating system family, and state the action you will take when a wave exceeds them, usually pausing the wave and investigating. Do not copy thresholds from this page or from another organization's plan. The right numbers depend on fleet size, how critical the monitored hosts are, the length of your change window and how many people can work the failures at once. Ask your partner or the Wazuh documentation to confirm which agent and server version combinations are supported during the transition, because that answer shapes how long a wave can safely pause.
A mixed-version fleet needs a documented end date and a named owner. Without both, stragglers accumulate: hosts that were excluded for a reason, machines that are offline for long periods, and systems nobody claims. Each mixed-version gap also makes troubleshooting harder, because a rule or feature may behave differently on an old agent than on a new one. Record every exception with its reason, the affected hosts and a review date. The owner should report the count of agents below target at each review, decide which stragglers are fixed, retired or excepted, and close the programme only when the inventory shows the agreed target version across the fleet.
What makes a Wazuh agent upgrade take longer or cost more
This table lists the factors that expand the work of a Wazuh agent upgrade and explains how each one scales the effort. Read each row as a question to answer during planning, since the driver is usually what changes a quote or a schedule. The main takeaway is that the agent count matters less than the variety of hosts, connectivity and approvals behind it.
| Driver | Why it matters | How to reduce it |
|---|---|---|
| Number of agents and OS spread | Each operating system, architecture and agent package family needs its own tested upgrade path, so effort grows with the number of distinct platforms as well as the total count. | Group agents by OS and version, pilot one representative host per group, and confirm which package each group needs before scheduling waves. |
| Offline or intermittently connected endpoints | Agents that are asleep, roaming or disconnected cannot receive remote upgrade tasks, so they need follow-up passes, and each pass adds coordination and verification work. | Report agent connection status before each wave, schedule catch-up passes, and define the owner who handles hosts that stay disconnected. |
| Air-gapped or offline networks | Offline networks need the offline installation guide and a local package repository, and packages must be transferred and verified through approved channels before any endpoint can use them. | Build the offline repository early, confirm the transfer and approval path with the security team, and test the package flow on one isolated segment first. |
| Custom agent configuration and group policies | Customized ossec.conf settings, group-based configuration and local rules can behave differently on a new agent version, so each custom set needs retesting. | Inventory custom configuration by group, keep it in version control, and retest the highest-risk groups against the target version before rollout. |
| Server cluster topology and health | Agents connect to cluster nodes, and an unhealthy node or uneven agent distribution can cause failed tasks, reconnection storms or stalled waves. | Confirm cluster health and node versions before each wave, pause waves when nodes show errors, and check agent distribution across nodes after each batch. |
| Maintenance windows and system owners | Each application or business unit that owns endpoints may need its own window, change ticket and sign-off, so coordination effort grows with the number of owners. | Map endpoint groups to owners early, agree standard windows per owner, and bundle waves per owner to reduce the number of approval cycles. |
| Rollback rehearsals required by the change board | Each rehearsal the change board requires means restoring a test endpoint to the previous agent version and proving the agent reconnects, which repeats work for every platform in scope. | Limit rehearsals to representative platforms, script the rollback steps, and ask the change board to confirm the rehearsal scope in writing before planning starts. |
Questions buyers ask before upgrading Wazuh agents
What does a Wazuh agent upgrade cost, and what is the cost made of?
The cost comes from the written scope, and DeployOpen does not publish a price list, so a quote follows from that scope. Most of the cost is skilled planning and verification time, not the upgrade command itself. The main components are fleet discovery, a test plan for each operating system in use, the runbook, pilot waves on non-critical endpoints, production waves coordinated with system owners, agent status checks after each wave, and handover documentation. Costs rise with the number of operating systems, the size of the fleet, custom agent configuration, air-gapped networks and the number of change windows. Ask the quote to separate one-time upgrade work from any recurring retainer for support or later upgrades, and to list what your team must provide.
How long does it take to upgrade a fleet of Wazuh agents?
Duration depends on the fleet and on how many change windows your organization allows, and the written scope sets the timeline. The main drivers are the number of agents, the mix of operating systems, and whether upgrades run remotely from the server or locally on each host. Endpoints that are often offline, such as laptops, need repeat attempts, which extends the schedule. Business-critical servers usually move in later waves after a pilot succeeds. Testing rollback for each operating system adds time at the start but reduces delays later. Ask for a wave plan that shows which groups go first, who approves each wave, and what checks close each one.
What does our team need to provide for a Wazuh agent upgrade?
Your team supplies the facts and access that the upgrade depends on. Start with an inventory of agents that lists hostname, operating system, current agent version, group and business owner. You will also need access to the Wazuh server and its API, the package source your environment uses, administrative rights on endpoints or a sanctioned way to run local upgrades, and network paths between the server and agents. Approved change windows and named system owners who sign off each wave are essential. For air-gapped networks, provide the offline package route and the approval path for moving files in. Backups of the server configuration should exist before the first wave starts.
Can our internal team upgrade Wazuh agents without an implementation partner?
Many internal teams can run agent upgrades on their own, because the upgrade methods are documented and the work is repeatable. Your team needs administration skills on each operating system you run, scripting ability for remote upgrades, familiarity with the Wazuh server API, and a change process that can approve waves. The harder parts are planning across a large mixed fleet, designing pilots, handling endpoints that fail, and keeping records for auditors. A partner can take on those parts through a fixed-scope engagement or a retainer. Assess your team's capacity honestly, then confirm the exact upgrade steps for your target versions in the Wazuh documentation before you decide.
Can Wazuh agents stay on an older version after the server is upgraded?
Confirm this in the Wazuh documentation for your exact server and agent versions before you plan the sequence. Compatibility between server and agent versions is the deciding factor, and it can change between release lines. In general, the central components are upgraded first, and the agent plan is then built around the versions the server supports. Running agents on an older version for a period can be workable, but it leaves some endpoints on a different configuration and may limit features. Document which groups remain on older versions, why, and until when, and assign an owner to close that gap so the exception does not become permanent.
What is the difference between remote and local Wazuh agent upgrades?
A remote upgrade is started from the Wazuh server, using upgrade packages and the server's API or agent upgrade mechanism, so the endpoint must stay connected and able to receive the package. A local upgrade is run on the endpoint itself, which suits hosts that cannot reach the server reliably or where the remote method is not available for that operating system. The steps differ by operating system, and local upgrades usually need administrator rights on each host. Remote upgrades scale better across large fleets, while local upgrades add effort per host. Choose the method per group after testing each operating system, and confirm supported paths in the documentation.
What happens if a Wazuh agent upgrade fails on production endpoints?
A failed agent may stop reporting, may not start, or may report under an incorrect version, so the plan needs stop criteria before the first production wave. Set a failure threshold for each wave, and halt the wave if it is reached. Each operating system should have a documented rollback or recovery path that has been tested on a pilot host. The runbook should name who can approve recovery, how endpoint owners are informed, and how alerts from affected agents are reviewed during the gap. After the incident, record the root cause and update the runbook before the next wave. The written scope should state which recovery steps are included.
How DeployOpen scopes, delivers and supports Wazuh agent upgrades
DeployOpen plans Wazuh agent upgrades as a scoped piece of work inside your own infrastructure, after the central components are in a known state. We agree the fleet, the upgrade method per operating system and the rollback approach in writing before any agent is changed.
How we scope
- Inventory agent versions, operating systems and groups to split the fleet into upgrade waves.
- Confirm which endpoints can take remote upgrades and which need local upgrades on the host.
- Agree in writing how failed agents are identified, retried, rolled back and reported.
How we build
- Prepare and test the upgrade method on a representative set of agents in a non-production group first.
- Run remote upgrades through the Wazuh server in controlled waves, checking agent status after each wave.
- Script or document local upgrade steps for each operating system family in your estate.
How we hand over
- Deliver the wave plan, the agent inventory before and after, and the runbook for each upgrade method.
- Document failure categories, the retry and rollback steps, and who approves each wave.
- Walk your operations team through the checks used to confirm agents report and keep their configuration.
How we support
- Engagements are fixed-scope, and ongoing support for later Wazuh patch releases is available as a retainer.
- Retainers can cover repeat agent upgrade waves, runbook updates and review of new Wazuh release notes.
- Confirm response expectations and the support boundary with us in the written quote before work starts.

