Commit Graph

10025 Commits

Author SHA1 Message Date
pulse-triage[bot] 1bb23545b6 Require TrueNAS API key owner identity
Change-source: pulse-maintainer
2026-08-31 17:09:53 +01:00
rcourtman bbdc2d5413 Stabilize WebSocket contract tests under release load 2026-08-31 16:32:56 +01:00
pulse-triage[bot] 31f6afad41 Define backup task timeline contract
Change-source: pulse-maintainer
2026-08-31 16:00:47 +01:00
pulse-triage[bot] da36bcd482 Keep subsystem lookup tests checkout-independent
Change-source: pulse-maintainer
2026-08-31 16:00:47 +01:00
rcourtman cf021bc9ce Surface typed helper container degradation 2026-08-31 15:53:50 +01:00
rcourtman cdfcac5756 Refresh v6.4.2 final cutoff 2026-08-31 13:46:43 +01:00
pulse-triage[bot] 69cbe5f3b8 Enforce protected GitHub checkout baseline 2026-08-31 13:21:25 +01:00
rcourtman d19398d82a Surface typed helper degradation in Agent Doctor 2026-08-31 13:06:28 +01:00
pulse-triage[bot] d0b51eb068 Clarify Proxmox cluster agent onboarding 2026-08-31 13:03:23 +01:00
pulse-triage[bot] 164b747e83 Make contract audit tests checkout-independent 2026-08-31 12:26:33 +01:00
rcourtman ee881d4849 Refresh v6.4.2 release cutoff 2026-08-31 12:14:12 +01:00
pulse-triage[bot] 7558d422ea Require qualified Proxmox pin endpoints
Fail closed when provider endpoints are IP addresses or repeated single-label names, since those values are commonly reused across independent private estates. Preserve the candidate's qualified-endpoint continuity and add coverage for the short-endpoint collision.

Refs #1753

Contract-Neutral: narrows internal durable identity recovery evidence
2026-08-31 12:09:28 +01:00
pulse-triage[bot] e00d0eee03 Keep same-name Proxmox estates distinct after restart
Scope durable Proxmox identity-pin recovery to exact provider endpoints or established cluster identity. Record full named endpoints in new host pins and fail closed on legacy short-hostname pins, preventing the first reporting agent from canonically absorbing another standalone estate during provider-first boot windows.\n\nRefs #1753\n\nContract-Neutral: narrows internal canonical identity recovery without changing API or extension shapes
2026-08-31 12:09:28 +01:00
rcourtman 2ddd12cb31 Repair v6.4.2 Helm provenance 2026-08-31 11:59:11 +01:00
pulse-triage[bot] d5945f824d Preserve Pulse severity in systemd journal 2026-08-31 11:46:51 +01:00
rcourtman f47ac1f020 Define beta and RC release maturity 2026-08-31 11:42:03 +01:00
rcourtman 70c1d0a178 Authenticate RC artifacts before qualification 2026-08-31 09:49:41 +01:00
Richard Courtman da62890d82 Refresh v6.4.2 release packet 2026-08-31 09:45:27 +01:00
Richard Courtman 2ff027a743 Bind release candidate version explicitly 2026-08-31 09:37:28 +01:00
rcourtman 973c7c2ec0 Accept availability and fleet view bundle growth
The Standalone and AvailabilitySettingsPanel chunks grew past their budgets
with the availability history and fleet view (712f1a3bfe) and
multi-location service delivery evidence (16a1574a18) features. Earlier
unit-test and formatting failures in the Frontend job masked the budget
step until now. Baseline refreshed from the current build.
2026-08-31 08:09:37 +01:00
rcourtman 110dc01aef Format the setup guide guardrail test 2026-08-31 07:05:07 +01:00
pulse-triage[bot] 8c63984696 Clear stale PBS backup-running state 2026-08-31 07:03:43 +01:00
rcourtman bad717f16e Document agent URL updates when the server address changes
Restoring a configuration backup onto a Pulse instance with a new address
makes every agent vanish until each agent's configured --url (PULSE_URL for
containers) is updated, because agents dial the address they were installed
with. The post-migration checklist covered the token but not the address.

Refs #1813
2026-08-31 06:41:11 +01:00
rcourtman 1cce814ad3 Make the overview delivery warning clearable in place
The notification delivery warning renders on the alerts overview, but its
Retry and Dismiss queue actions only existed on the notifications tab, so
the card people actually see offered nothing but a refresh button.

Hoist the retained-queue actions into the shared delivery health hook and
wire them into the overview card, with the notifications tab reusing the
same implementation plus its delivery log reload.

Refs #1812
2026-08-31 06:39:14 +01:00
rcourtman a1336348cb Stop partial PBS sync copies pinning guests as backing up
A PBS-to-PBS sync that fails mid-snapshot leaves a manifest-less copy of an
already-completed backup on the target datastore. That copy has the same
signature as a snapshot being written right now (no size, no
index.json.blob), so the guest showed Backup Running indefinitely until the
sync was repaired.

An in-flight snapshot only reports the guest as backing up when it is newer
than the guest's last completed backup and within the same 24h cutoff that
already ages out stale running vzdump tasks. A genuine in-progress backup is
always newer than the last completed one; a partial sync copy never is.

Refs #1815
2026-08-31 06:33:09 +01:00
rcourtman 669cce6787 Restore main CI after guardrail and contract drift
Three consecutive main runs were red because landed features outran their
guardrails while change detection kept the affected shards out of their own
runs.

- Resync shipped copies of API.md, CODE_SIGNING_POLICY.md, and
  PRODUCTION_SECURITY.md from repo docs.
- Track the schema v16 telemetry disclosure (workload-history adoption
  counts) in the settings architecture guardrail.
- Track route-scoped TrueNAS hydration queries and the conditional Kind
  column class in the platform overview layout guardrails.
- Track the contained command-authority copy (legacy combined command
  profile) in the installer and setup guide tests.
- Match the sentence-split delivery retention copy in AlertDeliveryLogCard.
- Provide selectedAgentUrl, insecureMode, and customCaPath in the
  InfrastructureWorkspace operations mock for the safe-collector commands.
- Include the resource list facets block in the two API contract snapshots,
  normalizing the direct-marshal fixture the way every handler does.
- Require the fail-closed installer checksum wording in the
  AGENT_SUBSTRATE doc contract.
2026-08-31 06:26:53 +01:00
pulse-triage[bot] 240adaa5e4 Authenticate every published installer 2026-08-31 04:55:15 +01:00
pulse-triage[bot] a190703fe5 Reject ambiguous release checksum manifests 2026-08-31 04:40:34 +01:00
pulse-triage[bot] 89fccc6c4f Make Assistant command help fully modal 2026-08-31 04:40:34 +01:00
pulse-triage[bot] 445ebacf24 Restore delivery qualification trust
Harden release workflow input transport and make native lifecycle proof honor each platform security boundary. Refresh stale telemetry and delivery qualifications.

Contract-Neutral: Formatting-only catalog updates and browser-verified alert copy; release compiler and native lifecycle changes update their owning contracts.
2026-08-31 03:02:13 +01:00
pulse-triage[bot] fda955627f Bound GitHub Actions job runtimes 2026-08-31 02:00:09 +01:00
rcourtman 7650fdaba3 Wire secure runtime RC qualification 2026-08-31 01:50:48 +01:00
pulse-triage[bot] 92b5f3a9e1 Bound security request decoding 2026-08-31 01:43:55 +01:00
Richard Courtman fec48928ee Record schema v6 secure runtime qualification 2026-08-31 01:12:15 +01:00
Richard Courtman d3884d64db Prepare v6.4.2 security patch 2026-08-31 01:03:09 +01:00
pulse-triage[bot] eb0d17c282 Restore trustworthy governance signals 2026-08-31 00:55:44 +01:00
Richard Courtman 79967177ea Enforce explicit SSO administrator grants 2026-08-31 00:43:42 +01:00
pulse-triage[bot] 0f2d7ae055 Make notification delivery failures actionable 2026-08-31 00:39:53 +01:00
Richard Courtman 22fd662fb7 Match secure runtime revoke protocol 2026-08-31 00:33:49 +01:00
Richard Courtman b1028a23af Align secure runtime lifecycle fixture auth 2026-08-31 00:22:22 +01:00
Richard Courtman f87308fb63 Fix secure runtime qualification admission 2026-08-31 00:15:43 +01:00
Richard Courtman 08f7c5f0d5 Harden secure agent runtime boundaries 2026-08-31 00:06:24 +01:00
Pulse Test caa2f77d23 Add infrastructure-aware incident synthesis 2026-08-30 22:32:21 +01:00
pulse-triage[bot] 47c1cee895 Enforce least-privilege job tokens 2026-08-30 22:11:40 +01:00
Pulse Test 1d9e66b24c fix(mock): keep provider fixtures fresh on slow demo ticks
The public demo runs PULSE_MOCK_UPDATE_INTERVAL=60s, which stretches the
10-cohort supplemental rotation to 600s while the unified registry still
marks TrueNAS/VMware/availability sources stale after 120s. Every row those
sources own spent ~80% of each rotation flagged as a degraded stale source,
so the TrueNAS Storage tab read Healthy 0 / Attention 21 (and the vSphere
page all-Attention) despite healthy fixture data.

Rebase provider-backed fixtures every tick once the rotation would outlive
the 120s freshness budget (at slow ticks that is cheaper per wall-clock
second than the default 2s config's once-per-20s cadence), and derive mock
supplemental stale thresholds from the actual refresh cadence the same way
PVE/PBS/PMG thresholds already derive from their polling intervals. Split
the supplemental uptime step so per-tick refreshes do not advance PBS
uptime by the rotation-scaled step.
2026-08-30 22:10:49 +01:00
Richard Courtman a8bc2e044b Qualify helper-backed agent update recovery 2026-08-30 21:54:46 +01:00
Pulse Test 16a1574a18 Add multi-location service delivery evidence 2026-08-30 21:44:32 +01:00
pulse-triage[bot] e094a55b45 Integrate typed helper container summaries 2026-08-30 21:29:11 +01:00
Richard Courtman d9e9bf3679 Prove production action runner credential lifecycle 2026-08-30 21:03:37 +01:00
pulse-triage[bot] cb079c9de0 Publish portable candidate build provenance 2026-08-30 20:34:04 +01:00