Files
pulse/internal
pulse-triage[bot] 9ee4dab97b Reproduce destructive acceptance of incomplete configuration backups (#3240)
**Reproduce destructive acceptance of incomplete configuration backups**

Assert that authenticated null, incomplete and mistyped backup envelopes
leave persisted settings, credentials, metadata and transaction
artifacts unchanged. These controls are expected to fail before
validating the archive shape.

**Reject incomplete configuration backups before replacement**

Require the five sections emitted by every supported archive before
starting a transaction. Preserve null webhook inventories, deliberate
empty configurations, legacy optional fields and best-effort forward
compatibility. Exercise encrypted rejected imports, byte-identical
persistent state, unchanged runtime, failure audits and legacy recovery.

Contract-Neutral: Rejects incomplete non-backup payloads before the
existing replacement transaction; emitted archive formats, supported
complete legacy backups, API response shape and tenant authority remain
unchanged.

**Exercise backup validation without bypassing empty-node protection**

The initial control is already protected when saved Proxmox nodes block
an empty replacement. Model an installation with no Proxmox nodes, where
invalid envelopes can reach the settings and credential writes. Keep the
existing empty-node safeguard intact and use that legitimate empty
inventory for legacy compatibility controls.

---
Fleet candidate `20261025T050006Z-core-runtime` from the `core-runtime`
lane. Reviewed tip `38a8b01ca3cd72180dcfd2a680f08f7cb398e8ca` on `main`.

[How Pulse handles
triage](https://github.com/rcourtman/Pulse/blob/main/docs/AI_TRANSPARENCY.md)
2026-10-25 06:25:00 +00:00
..
2026-10-11 22:20:25 +01:00
2026-10-11 22:20:25 +01:00