## What changes and why - Keep backup-age checks fast and make failed or partial evaluations visible through one existing system warning, without clearing retained age alerts. Indexed latest-observation reads preserve retention, schema and the read budget. This responds to the recurring missed checks reported in #2465; synthetic timing is not proof of relief on the reporter's Pi. - Defer guest-agent commands after uncertain HTTP results and require same-target, unambiguous backup-lock evidence before guest reads. Keep guest coverage truthful when only remembered versions or a parent-node assignment exist. Preserve the original observation time/source of retained memory through existing backend projections. These changes advance #2439 safety, but do not establish native thaw or recovery. - Attribute Proxmox backups using native connection/node and unique PBS namespace evidence, retaining ambiguous artifacts rather than assigning them by substring or display name. Show unreliable PBS capacity as Unknown/Unavailable, while retaining valid measured zero and readable phone warnings. - Restore existing TrueNAS and VMware connection alerts using the constructed runtime pollers. This does not resolve the distinct monitoring cause reported in #2382. - Keep safe report collection and attachment guidance self-contained, and make manual backup pause/resumption precautions usable. Repair the Diagnostics integration journey's outdated controls, download assertions and session capability, without changing production authorization. ## Included source Published base `61146105c74a5968d877691e02963c41f8e66076` → exact final head `af73b0e6c618da83c4fc5e702ba464257481851c`. The previous proposal head `dcde1d0157d5e3c4cd626d6b920a45016a3f0437` and all reviewed ancestry remain unchanged. This advances the proposal once after its workflows completed with demonstrated failures; it does not interrupt a checking head. Reviewed candidates include: - Previous batch: guest HTTP `cd1e3ba12f`, runtime alerts `7f5c8a0cf1`, safe intake `496ba1e73e`, PBS capacity/render sequence `8f09a59996` through `d2f7e456b3a`. - Manual pause `3fd44b8325`; native backup ownership `c5e83ceb3a` / `6198a3ce22`; authoritative locks `b77e6908e6`; truthful guest coverage `ba3e2d2c1c` / `8f9a9a6a1e` / `f9f53befbb`. - Backup evaluation/query `5774b6bc4b` / `7a19a06631`; Diagnostics sequence `ed168c8d7e` through `a3bbcae0c9`; memory provenance `abee023634` through `80d8ad0f59`; self-contained intake `7c9922f55d`. - Starting reviewed canonical tip `8003a4037bf2e6628d47ca6c7da239a11096168e` is retained. Four additive publication corrections (`745ddc982a` through `79091f7b03`) supply the report-form contract, connected docsLinks regression and exact historical completion pair. The first completion's section placement failed the checker; its substantive-section correction passes. No accepted commit was amended or recreated. ## Validation and remaining gates The previous proposal's completed runs remain adverse: Build/Test `37204956836` failed the documentation drift assertion; E2E `37204956824` failed Diagnostics shards 3/6/8 (download/obsolete Run-control timeouts). These warrant the admitted changed-source repairs, not an unchanged retry. Retained reviewed evidence includes guest transport/connected/race/build (`source-5_ta7via`), runtime alert connected proof (`source-s0xmdftf`), PBS source/render evidence (`source-_9ekxhcy`), manual-pause source/render (`source-ifgmfzhw`), all-reader authoritative-lock proof (`source-41amnzmb`), guest coverage's 1,901 connected tests/full types/lint/build and inspected Chromium/WebKit desktop/phone renders (`source-3y6kfagt`), backup recovery/alerts/monitoring/races/vet/real builds (`source-vc1jlsz9`), and memory models/unified-resource/alerts/monitoring/races/vet/types/real embed/build (`source-5swnugj9`). Diagnostics retains nine passing full-app journeys with matching source hashes; catalogue `source-cyehgbio` discovers 916 test/project identities, including all nine Diagnostics cases, but is not runtime acceptance. Intake `source-stznewur` retains two intended parent failures and passing policy/documentation/mirror checks. Publication checks: provenance, clean retained ancestry, per-commit canonical completion/history, registry/contract audits and final browser-content coverage (nine changed production frontend files) pass. Earlier proposal-head (`79091f7b`) offline VM proof `source-1fn6chab` passes 36 docsLinks tests, formatting, 27 intake cases, 211 public Markdown checks and 62 mirrors, with complete hash-matched output and guest stop. Its line-index bound is explicit. Earlier `source-yj300mm2` passed docsLinks but exited 1 when a browser script was mistakenly invoked in a source VM without Playwright; no browser result is claimed from that attempt. Earlier local preparation failures and prior API/embed limitation remain evidence at their own bindings, not green aggregate results. Required exact-head CI must run the complete backend/build/frontend, audit and protected E2E checks, with independent source review, before landing. Existing sufficient connected/render proof was not repeated solely for batching. This is source publication, not release qualification, deployment, native appliance/guest acceptance or completion of the linked reports. The containing all-main release, Pi evaluation/failure/recovery, native backup/thaw/covered writes/liveness, remaining memory drawer consumption and installed whole-panel/alert results remain separate. Related to #2465 Related to #2439 Related to #2382 [How Pulse handles triage](https://github.com/rcourtman/Pulse/blob/main/docs/AI_TRANSPARENCY.md) ## Completed workflow reconciliation and additive smoke repair The starting proposal head `79091f7b0317807fcc76e36cde52c4ee1cc4c928` and every reviewed commit remain ancestors of this head. Build/Test `37219920651` has now completed. All backend partitions, frontend, governance, security and all eight E2E shards/verdict passed, but script smoke failed two obsolete whole-guide assertions in `test_vm_disk_diagnostics.py`; backend build was consequently skipped. The reviewed manual backup precaution deliberately adds six server/timer examples. The old passive-helper test counted all seven guide examples and banned `systemctl` throughout the whole guide. This source mismatch warrants changed-source repair, not an unchanged retry. Additive test-only `c4a72995c6bf2465a6540a1b546a9dcd732944af` scopes passive-helper execution to its named section and admits only the exact six reviewed manual-pause blocks. Its first local run retained one failure because a shell comment was mistaken for a heading. Additive `af73b0e6c618da83c4fc5e702ba464257481851c` parses headings only outside fenced blocks. All 17 diagnostics/safety controls now pass, including missing/duplicate headings, shell comments and five prohibited-command mutations. The passive helper still rejects active guest requests and service mutations. Production and guidance bytes remain unchanged; mirrored docs and connected intake checks pass. Both failed correction/control observations remain recorded, not relabelled. Final publication provenance, clean retained ancestry, additive contract/registry audits and the unchanged nine-production-file browser-content coverage pass. Lightweight confined fixture proof supplies the full 17-case suite; existing heavy/render proof was not repeated for this test-only delta. This proposal advances only after the previous head's workflows completed. Exact new-head CI must rerun its required checks before landing. The completed advisory benchmark job is also adverse: `RefreshPlatformScopes` 294.1 → 325.0 ns (+10.51%) and `ClassifyResourceSensitivity` 67.68 → 77.20 ns (+14.07%), each p=0.000 with ten samples. Their implementation and benchmark source are unchanged across the batch; that does not prove noise, intentional cost or lack of regression. Delivery owns a bounded evidence-based disposition through the existing lane handoff. No favourable repeat, threshold change or performance/release approval is claimed. [How Pulse handles triage](https://github.com/rcourtman/Pulse/blob/main/docs/AI_TRANSPARENCY.md)
Pulse documentation
Start here for installation, platform setup, security, operations, and Pulse Intelligence. Commands, configuration keys, image names, API fields, and product identifiers remain untranslated in localized guides.
Start here
- Install Pulse — signed Proxmox/Linux installation, Docker, Docker Compose, Kubernetes, and first-run setup.
- Production deployment and security — least-privilege Proxmox setup, root-agent boundaries, discovery, supply-chain verification, plan limits, scale evidence, and a rollout checklist.
- Upgrade from Pulse v5 — migration prerequisites, rollback, agent continuity, and post-upgrade checks.
- Releases and update channels: choosing Stable or Preview, beta and RC expectations, and how releases are tested and promoted.
- Configure Pulse — authentication, notifications, discovery, retention, and system settings.
- Deployment models — data locations, lifecycle, and differences between supported deployment paths.
- Troubleshooting and FAQ — common failures, diagnostics, and operator questions.
Localized getting started guides: Deutsch · Español
Platforms and agents
- Proxmox Backup Server
- Proxmox Mail Gateway
- Docker and Podman
- Kubernetes and Helm
- TrueNAS SCALE and CORE
- Unified Agent
- Agent security
- VM disk monitoring
- ZFS monitoring
- Temperature monitoring
VMware vSphere support is early access. Current builds expose dedicated vSphere inventory and recovery context, but operators should validate the integration against their own vCenter before production use.
Monitoring and operations
- Metrics history
- Recovery data
- Webhooks
- Automatic updates
- Centralized agent management (Pro)
- Operational trust model
- Current product screenshots
Pulse Intelligence
- Assistant, Patrol, and external-agent overview
- Patrol modes and safety
- Assistant safety model
- External agent HTTP and MCP substrate
Patrol watch-only analysis is available on Community with a local model or the operator's own provider. Investigation and governed fixes require the relevant Pulse Pro capabilities.
Security, privacy, and access
- Production deployment and security
- Security review scope
- Authentication and credential storage review packet
- Security guide
- Privacy and telemetry disclosure
- OIDC and SSO
- Proxy authentication
- Role-based access control (Pro)
- Audit logging (Pro)
- Reverse proxy configuration
- Code-signing policy
Plans and managed access
- Community, Relay, and Pro capabilities
- Relay and Pulse Mobile handoff
- Multi-tenant organizations (Enterprise/custom)
- Provider-hosted MSP operations (request-assisted)
Pulse Cloud is not generally available. Ordinary self-hosted Pulse remains the primary installation path; MSP and Enterprise access are explicit commercial paths rather than defaults in self-hosted setup.
Development and reference
Detailed design notes and dated migration specifications may remain in this directory for maintainers, but they are not operator setup guides unless they are linked from the sections above.
Previous versions and migrations
- Upgrade from v4 to v5
- Retired unified-navigation migration — historical context only; current Pulse uses platform-shaped navigation.
- Move a Pulse installation
Found a bug? Use the issue forms. For setup questions, use GitHub Discussions.