From ddf0814803be2af0f30427f174dfa253913afbff Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Thu, 13 Aug 2026 12:28:51 +0000 Subject: [PATCH] docs: Fix Windows package-inventory and poll-loop claims in CLAUDE.md --- CLAUDE.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 8527625..d798dd4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -895,7 +895,7 @@ tls: true ``` 1. SyncKeys(server_id, agent_token, agent_version) -2. Non-Linux hosts stop here — Windows agents register and heartbeat only +2. Non-Linux hosts stop here — the key-management steps below are Linux-only; a Windows agent's other work (workflow steps, inventory, OS updates, workloads) runs from the goroutines started above, not from this loop 3. Diff desired keys against /root/.ssh/authorized_keys; unchanged → no write 4. Changed → write .tmp, os.Rename() over the real file, chmod 0600 ``` @@ -1171,9 +1171,11 @@ git push origin main # server + web deploy - **Windows agents cover the fleet-management path** — register, heartbeat, run steps, report inventory, OS updates through the Windows Update COM API, and workloads (services plus containers, with control and logs). They still do no - `authorized_keys` management, and no package inventory or CVE matching: the - vulnerability feeds this project uses carry no Windows data, so a Windows host - correctly reports `unsupported` rather than a clean bill of health. + `authorized_keys` management, and no package inventory or CVE matching: a + Windows agent never calls `ReportPackages`, so no `server_packages` document + exists for it and it reports no package inventory at all — a different, + earlier state than the `unsupported` a Linux distribution reaches when its + family has no security feed. - **Both `server` and `web` scale horizontally** — see "Running more than one server replica" below. `web` holds nothing; `server` holds per-agent state that is routed between replicas over Redis rather than duplicated. - **Deletion lives in the control plane** — admin sends the warnings because it knows the billing address; the control plane performs the delete because it is the only service that knows which collections carry `instance_id`. Mirroring that list into admin would drift, and a drift there deletes the wrong rows.