docs(monitoring): record #2148 LXC linked-agent-memory contracts

Complete the #2148 runtime change with the monitoring and unified-resources contract sections its canonical subsystem paths require, so the combined change satisfies the canonical completion guard without rewriting reviewed history.

Change-source: pulse-maintainer
This commit is contained in:
pulse-triage[bot]
2026-09-22 08:46:29 +01:00
parent bf3fecc16d
commit 1026f5293b
2 changed files with 30 additions and 0 deletions
@@ -17,6 +17,25 @@
## Purpose
### Linked Pulse agent memory for Proxmox LXC — issue #2148 (22 September 2026)
Both LXC memory paths (the efficient `cluster/resources` builder and the
per-node fallback) may substitute the linked Pulse agent's own memory sample for
a Proxmox fallback listing value. The substitution applies only when the current
memory source is a fallback (`cluster-resources` or `unavailable`), the guest is
`running`, the linked agent sample has known usage, and the agent total matches
the container's provisioned limit with used not exceeding it. A stopped
container, a non-fallback source, a missing linked agent, and a total mismatch
are left untouched; preferred or derived guest evidence is never replaced. The
provisioned platform total is retained, and the previous-guest agent map is
threaded through both builders.
`TestIssue2148LXCPrefersLinkedAgentMemoryOverClusterResources` and
`TestIssue2148LXCRejectsAgentMemoryWithMismatchedTotal` pin the substitution and
the rejection boundary; `TestCorrelatedContainerMemoryNextPoll` pins the
next-poll merged-row path. This is synthetic runtime proof, not a live Proxmox
installation or browser receipt.
### Preserve explicit agent filesystem selection at ingestion
Both `ApplyHostReport` and `ApplyDockerReport` honour a disk's optional
@@ -37,6 +37,17 @@ policy remains authoritative; this accessor introduces no second timeout.
`TestCorrelatedGuestMemoryNextPoll` verifies the manually merged row through the
next-poll consumers. Existing host-list membership and metric priority are unchanged.
**System-container linked agent memory read — issue #2148 (22 September 2026)**
`ContainerView.LinkedAgentMemory` exposes the same value-copy of the linked
agent's own memory sample for system containers, sharing the validity and
freshness rules with `VMView.LinkedAgentMemory`: missing/non-online agent source
status, explicit agent staleness, unavailable usage and invalid capacity or
counters are rejected, and trusted zero usage remains valid. The monitoring
layer consumes it only as a fallback replacement for Proxmox LXC memory, so
platform metric priority for a healthy agent is unchanged.
`TestContainerViewLinkedAgentMemory` pins those boundaries.
### Bounded incident-history selection
Canonical history queries filter exact alert identifiers and observation windows