Commit Graph

6729 Commits

Author SHA1 Message Date
pulse-triage[bot] 1070667a67 Bound QEMU disk fallback to its original filesystem observation
Retain recent filesystem-only evidence across safe deferrals without renewing its ten-minute age from VM polls or cached identity. Carry internal source provenance through canonical replacement, preserve independent linked-agent precedence and keep expired values unavailable until a new ordinary read succeeds.

Change-source: pulse-maintainer
2026-10-09 15:33:19 +01:00
pulse-triage[bot] bdc6edece2 Integrate reviewed original-age guest memory fallback repair
Accept the exact Core candidate with retained parent discrimination and containing source proof; preserve existing fallback windows and guest-command admission.

Change-source: pulse-maintainer
2026-10-09 15:14:03 +01:00
pulse-triage[bot] 97eb8cdc52 Integrate reviewed guest reading and address guidance
Retain the exact source-qualified documentation candidate alongside the reviewed TrueNAS display repair. Clarify current, retained and missing readings without claiming native recovery or publication.

Change-source: pulse-maintainer
2026-10-09 14:48:43 +01:00
pulse-triage[bot] 2256ad7e8c Bound guest-memory fallbacks to their original observation age
Keep the existing reconnect and healthy-guest windows from being renewed by ordinary diagnostic polls. Preserve recent and legacy direct readings, current independent sources and guest-command admission; reject expired, future or unaged retained evidence. Cover boundary, repeated-poll and real-client deferral/recovery behaviour with canonical projection and in-memory History controls.

Change-source: pulse-maintainer
2026-10-09 14:16:59 +01:00
pulse-triage[bot] 7218babbb2 Keep guest reading guidance separate from coverage and routing
Explain existing current, prior and unavailable disk labels, source precedence and a passive unfiltered inventory review without widening access or bypassing guest-read pauses. Reconcile Primary IP help with the integrated interface-associated collector while preserving unknown associations and virtual-only addresses.

Contract-Neutral: Documentation and source-bound help regressions only; collection, access, UI and safety contracts are unchanged.
Change-source: pulse-maintainer
2026-10-09 14:14:13 +01:00
pulse-triage[bot] 1a72e0f2bd Align TrueNAS disk health help with the composed display policy
Replace the obsolete Storage scope warning while preserving saved-rule, current-reading, SMART and passive private-reporting boundaries. Record the fresh inspected desktop and phone browser result for actual composed runtime bytes, including the page-model merge with current main.

Contract-Neutral: Documentation, document controls and fresh browser evidence only; no further subsystem contract or runtime delta.
Change-source: pulse-maintainer
2026-10-09 14:06:35 +01:00
pulse-triage[bot] c9d17b81b1 Compose retained TrueNAS disk display repair with current disk policy
Preserve the original frontend implementation and history alongside the already-qualified Core policy. Combine both subsystem contracts without reviving the retired Recovery fields. Containing source and changed-merge-byte browser proof remain required before candidate acceptance.

Change-source: pulse-maintainer
2026-10-09 14:02:31 +01:00
pulse-triage[bot] 9f643c0244 Integrate reviewed TrueNAS disk-health guidance
Preserve the exact reviewed documentation candidate and its source checks. Explain saved alert policy separately from current display limits and native SMART risk.

Change-source: pulse-maintainer
2026-10-09 13:59:41 +01:00
pulse-triage[bot] 7eb7a21edd Integrate reviewed interface-associated guest address repair
Preserve the exact reviewed Core commits and their qualified source. Address ordering changes no guest query, network configuration or machine identity.

Change-source: pulse-maintainer
2026-10-09 13:59:38 +01:00
pulse-triage[bot] 74cac3cda8 Integrate reviewed consent-preserving update and publication repairs
Retain exact Delivery 22e9408574 history, effective-mask safeguards, fixture collection repairs and own-parent final-content browser receipts. Installer and frontend VM evidence reviewed; no installed or published acceptance claimed.

Change-source: pulse-maintainer
2026-10-09 13:28:54 +01:00
pulse-triage[bot] 7c431a5a36 Explain TrueNAS disk heat without hiding health evidence
Distinguish current and last-known heat, saved alert tiers, Off and native SMART risk. Name the Storage display scope limit and keep mismatch reporting passive and private.

Change-source: pulse-maintainer
Contract-Neutral: Documents existing disk policy and a current display limitation; no alert, collection or subsystem contract delta.
2026-10-09 13:27:22 +01:00
pulse-triage[bot] b313120981 Integrate reviewed withheld webhook response guidance
Preserve the exact PI candidate and the reviewed main frontier; documentation clarifies existing confidentiality and delivery-evidence limits.

Change-source: pulse-maintainer
2026-10-09 13:12:48 +01:00
pulse-triage[bot] 68f80d6c0f Keep display address preference separate from MAC identity metadata
Retain the legacy MAC ordering while applying the Podman hint only to displayed IPs, with a discriminating identity control. Use the LXC interface API's actual address wire type in the DHCP fallback fixture.

Change-source: pulse-maintainer
2026-10-09 13:10:15 +01:00
pulse-triage[bot] 5c3d18e248 Keep guest primary addresses associated with their interfaces
Prefer named guest interfaces over local container networks instead of globally sorting flattened IP text. Preserve all secondary and unknown addresses, management interfaces, warm metadata caches, explicit agent report IPs and machine identity. Cover LXC status/config/runtime fallback, QEMU metadata and canonical list/broadcast projection for issue #2757.

Change-source: pulse-maintainer
2026-10-09 13:07:08 +01:00
pulse-triage[bot] 2485f55e20 Integrate reviewed TrueNAS disk heat policy and attribution controls
Preserve exact Core candidate 31c8422162 and its retained ancestors. The disk policy follows TrueNAS per-disk and platform tiers rather than the synthetic host override; regression controls preserve independent Docker inventory and operator link decisions.

Retained final-source backend normal/race/vet and runtime/embed/API/Patrol/server receipts completed with exit zero and guest stop. Keep the initial failed proof and unlocalised timeout as adverse history. This is source integration, not native recovery or release availability.

Change-source: pulse-maintainer
2026-10-09 12:50:17 +01:00
pulse-triage[bot] 01a7bc896a Explain withheld webhook replies without replaying deliveries
Keep operators and triage from treating intentional response privacy as missing evidence. Explain HTTP verdicts, uncertain receipt after read failures, bounded Test response counts and the safe use of existing receiver records without Debug capture or a duplicate send. Preserve historical-log and export privacy limits in both shipped guides and intake guidance.

Change-source: pulse-maintainer
Contract-Neutral: Clarifies existing diagnostic confidentiality and receipt limits; no delivery, access or subsystem contract change.
2026-10-09 12:42:49 +01:00
pulse-triage[bot] 8512d38dd5 Preserve effective systemd masks before update asset replacement
Reconcile the returned timer-discovery repair: both exact units must have a successful bounded unmasked inventory before shared asset staging. Keep configured, runtime and off-destination persistent masks and all assets unchanged across every installer consumer, explicit setup and sandbox repair. Unknown or failed inventory stops replacement; enabled and disabled refresh remains consent-preserving.

Change-source: pulse-maintainer
2026-10-09 12:41:00 +01:00
pulse-triage[bot] bebeda0b35 Compose returned timer discovery repair for effective mask correction
Change-source: pulse-maintainer
2026-10-09 12:34:38 +01:00
pulse-triage[bot] 331994d372 Integrate reviewed scoped guest disk permission guidance
Change-source: pulse-maintainer
2026-10-09 12:19:20 +01:00
pulse-triage[bot] c6e5e617e5 Integrate reviewed guest IP selection guidance
Preserve the exact reviewed documentation candidate and its privacy-safe existing-view workaround. Retained focused checks cover unchanged guide and UI inputs; this does not establish collector recovery or released availability.

Change-source: pulse-maintainer
2026-10-09 11:59:24 +01:00
pulse-triage[bot] eb4f3c8e37 Keep guest disk permission guidance inside the intended access scope
Review the VM monitoring intent before suggesting effective read-permission checks. Preserve deliberately restricted tokens, separate a denied reading from guest health, and defer access changes and live checks during backup or guest incidents. Carry the same advice through shipped filesystem help and check current, retained and refreshed production views.

Contract-Neutral: Error-copy and mirrored-help clarification with regression and browser evidence only; collection, API, authorisation, identity, freshness and subsystem contracts are unchanged.
Change-source: pulse-maintainer
2026-10-09 11:53:32 +01:00
pulse-triage[bot] 573d4de1f9 Compose retained disk policy and attribution work with current main
Preserve exact retained Core ancestry while retaining the accepted Assistant target, webhook confidentiality, log-viewer and installer repairs. Qualify the composed source against the original seven-package, inventory-control and real embed/API/Patrol recipe; source acceptance remains separate from native recovery.

Change-source: pulse-maintainer
2026-10-09 11:42:30 +01:00
pulse-triage[bot] acce9cf13d Discover existing update timers before consent-preserving refresh
Match complete systemctl inventory rows by exact unit field with bounded reads, so updates and reinstalls reach the existing helper refresh. Preserve deliberate timer and updater masks instead of replacing their symlinks. Exercise all five installer consumers, unchanged settings and enablement, failure/timeout controls and actual fixture-root systemctl inventory.

Change-source: pulse-maintainer
2026-10-09 11:30:49 +01:00
pulse-triage[bot] 398eb58938 Keep invalid webhook retry hints out of diagnostic logs
The connected response audit found one remaining receiver-text sink: malformed Retry-After values were copied verbatim into Debug logs. Keep the fixed fallback diagnostic and bounded parsed durations, without retaining invalid header prose. Two regression cases reproduce the leak on the preceding candidate and preserve retry and terminal status behaviour.

Change-source: pulse-maintainer
2026-10-09 11:18:28 +01:00
pulse-triage[bot] 301bfffeee Withhold webhook receiver text from notification diagnostics
Receivers can echo tokens, alert content or private provider data in a response or body-read error. Ordinary, enhanced and ntfy recovery senders now retain structured HTTP verdicts and bounded byte counts without retaining or formatting that text. Test keeps its existing response shape with an explicit withheld-body summary.

Preserve authoritative failure classes, retry hints, wrapped read causes, occurrence/payload identity, request credentials and the existing 1 MiB read cap. Regression controls reproduce disclosure on the parent and cover the real senders, retry history, interrupted replies, cleanup and bounded summaries. No historical diagnostic rewrite or native provider acceptance is claimed.

Change-source: pulse-maintainer
2026-10-09 11:12:42 +01:00
pulse-triage[bot] 237c72afc9 Explain guest IP selection without changing working networks
Separate selected guest addresses from default-route and reachability evidence. Point API-only LXC users to existing interface/address context, without asking them to alter bridges, install agents or expose network identities.

Contract-Neutral: Documentation and static assertions only; no guest collection, identity, routing, API or frontend runtime contract changes.
Change-source: pulse-maintainer
2026-10-09 11:11:09 +01:00
pulse-triage[bot] 8ef69f06cb Integrate reviewed unambiguous Assistant target binding
Change-source: pulse-maintainer
2026-10-09 10:57:58 +01:00
pulse-triage[bot] ced581b34d Integrate reviewed least-privilege Proxmox guidance
Change-source: pulse-maintainer
2026-10-09 10:57:56 +01:00
pulse-triage[bot] 3719f4740a Integrate reviewed private signed installer input repair
Change-source: pulse-maintainer
2026-10-09 10:57:43 +01:00
pulse-triage[bot] e22450e72e Refuse ambiguous Assistant action targets across installations
Bind session-derived targets only when current inventory has one canonical match. Preserve explicit canonical IDs over stale session aliases and return conflicting candidates before planning. Keep unique lookup, session registration, capability policy, approval and execution boundaries intact. Listener-free control tests and exact-parent regressions verify this repair; it does not establish native recovery.

Change-source: pulse-maintainer
2026-10-09 10:36:41 +01:00
pulse-triage[bot] e320e3c685 Explain intentionally scoped Proxmox access without widening tokens
The departmental-token report in Pulse #2756 distinguishes intended access denials from missing monitoring rights. Explain the existing per-connection selection limit, why display and alert filters do not stop reads, and why those denials do not justify broader grants or unhealthy-node conclusions. Preserve the same boundary in shipped help and a focused documentation assertion.

Contract-Neutral: Documentation-only clarification and its regression assertion; no runtime, API or subsystem contract delta.
Change-source: pulse-maintainer
2026-10-09 10:24:58 +01:00
pulse-triage[bot] 843b8d82b6 Keep server installer inputs private and authenticated
Keep archive and sidecar downloads in owner-only staging, clean only owned leaves after handled failures and bootstrap exit, and preserve caller-provided inputs. Require the piped LXC installer signature before copying or execution instead of trusting PID-named files in shared tmp.

Exercise the actual download, prefetch and complete container bootstrap through confined offline doubles and real fixture SSH signatures. Preserve version, archive re-verification, staging-before-stop, service recovery, timer consent and removal boundaries; native acceptance remains separate.

Change-source: pulse-maintainer
2026-10-09 10:17:47 +01:00
pulse-triage[bot] 62d53a9ea8 Integrate current-evidence issue triage repair
Merge the exact reviewed PI candidate 10678304d0. Retained 39 passing component checks and six failing exact-parent regressions cover delayed metadata classification; no frontend runtime or public-state mutation is introduced.

Change-source: pulse-maintainer
2026-10-09 10:12:11 +01:00
pulse-triage[bot] 58ead19a53 Integrate exact unattended installer menu repair
Accept reviewed Delivery b155982e30 with retained confined menu, selector, signed-update and removal controls. Preserve current documentation frontier and exact candidate ancestry; no frontend source or infrastructure change.

Change-source: pulse-maintainer
2026-10-09 09:45:01 +01:00
pulse-triage[bot] b155982e30 Bind unattended installer updates to exact menu targets
Use the reviewed server-only selector in the existing-installation menu and bind automatic selection to available channel rows. A current selected release is a no-op; unavailable metadata or an automatic downgrade stops before mutations. Preview selection retains its channel, numeric beta/RC revisions compare correctly, and deliberate reinstall pins the actual current version.

Execute the actual menu through confined offline transport and stopped mutation boundaries. Preserve explicit version, interactive removal, signature and all-unit quiescence contracts; reconcile the inherited comment-only preview assertion with the real selector consumer.

Change-source: pulse-maintainer
2026-10-09 09:20:16 +01:00
pulse-triage[bot] 10678304d0 Classify current issue evidence before changing triage labels
Read the live report and label set instead of a delayed event snapshot. Stop on failed or mismatched reads, skip closed issues and pull requests, and do not restore decomposition work from superseded events. Keep individual label deltas and community-owned retest decisions; remove the unrelated release lookup. Add six discriminating regressions and document the boundary.

Change-source: pulse-maintainer
Contract-Neutral: Repairs the existing metadata synchronizer without changing issue-form fields, supported labels, public contact or disposition authority, product APIs or subsystem contracts.
2026-10-09 09:18:13 +01:00
pulse-triage[bot] f2a76a9750 Distinguish log display controls from backup safety pauses
System Logs pauses and clears only its browser display, while Support Bundle exports server logs and configuration. Explain those existing limits, warn about Debug's private guest details, and qualify warn-level suppression without changing runtime or recommending new probes. Keep the three shipped guides in sync and exercise their safety boundaries in the existing docs check.

Contract-Neutral: Documentation and focused guidance checks only; existing log controls, exports, monitoring, API and backup policy are unchanged.
Change-source: pulse-maintainer
2026-10-09 09:13:40 +01:00
pulse-triage[bot] a9ebc63292 Integrate chart-release guidance with current update safety
Retain exact reviewed PI commit af6cc9019f and its software-versus-chart explanation. Resolve AUTO_UPDATE overlap by retaining the newer canonical text byte-for-byte, including installed paths, private-edition and failed-helper safeguards; align the inherited wording assertion additively next.

Change-source: pulse-maintainer
2026-10-09 08:50:08 +01:00
pulse-triage[bot] d49412f201 Integrate server-only installer release selection
Accept exact reviewed Delivery commit 56fec40f2d with retained offline selector, signed-recipe and resilience controls. No third-party helper repair or installed update is claimed.

Change-source: pulse-maintainer
2026-10-09 08:49:41 +01:00
pulse-triage[bot] 56fec40f2d Select only published server releases in the installer
Use one complete-metadata selector for installer URLs and server archives. Exclude chart and draft releases, reject unusable metadata and transport bodies, and preserve explicit pins, signed assets and downgrade refusal. Exercise the actual selectors with bounded offline controls and retain native installation as separate acceptance.

Change-source: pulse-maintainer
Contract-Neutral: Restore server-only discovery within existing stable/preview channels; installer authority, signatures, architecture admission, downgrade refusal and state contracts are unchanged.
2026-10-09 08:29:32 +01:00
pulse-triage[bot] ee1d638575 Integrate ownership-checked manual update guidance
Accept the exact reviewed Web candidate d96ab64e01. Retain its focused documentation checks and inspected desktop/phone evidence; no updater repair or installed recovery is claimed.

Change-source: pulse-maintainer
2026-10-09 08:21:18 +01:00
pulse-triage[bot] 65bf9e8260 Compose retained Core qualification candidate with current main
Preserve the exact prior Core history alongside current canonical Patrol resource-owner resolution and recovery cleanup. Runtime source retains the TrueNAS alert-policy repair and sequential repeated-name Docker assertions; current bytes require isolated qualification.

Change-source: pulse-maintainer
2026-10-09 08:10:32 +01:00
pulse-triage[bot] fcfeba39e0 Integrate batch-start upstream main
Merge exact upstream 7f466fc183 without re-parenting its reviewed history. Retain both independent contract sections in the two documentation conflicts; no frontend resolution or runtime correction.

Change-source: pulse-maintainer
2026-10-09 08:04:32 +01:00
pulse-triage[bot] d96ab64e01 Keep manual update help from running an unknown helper
Use the ownership-checked existing-installation procedure for LXC and systemd update help instead of unconditional /bin/update commands. Explain chart selection without asserting a latest-pointer cause, and preserve exact signed downloads, private editions and existing state.

Contract-Neutral: Documentation-only update guidance and regression checks; no installer, updater, API or frontend runtime behaviour changes.
Change-source: pulse-maintainer
2026-10-09 08:00:25 +01:00
pulse-triage[bot] af6cc9019f Qualify LXC updater ownership and chart-only releases
Keep server-update help from treating a community helper as Pulse's signed updater or choosing a Helm chart as a server archive. Preserve current-state checks, full-state backup precautions and the existing signed route after a failed update.

Contract-Neutral: Clarifies existing update routes and release identities; no runtime, API, release policy or subsystem contract change.
Change-source: pulse-maintainer
2026-10-09 07:57:01 +01:00
rcourtman 19d016d7df fix(patrol): resolve disk alerts through canonical resource owners
Host filesystem alerts identify a disk child that Patrol does not collect as
a separate resource. Bind an exact collected alert to its current canonical
owner through the shared inventory contract, including linked agents, and
retain its filesystem, threshold and breach evidence in the scoped prompt.

Keep missing owners, ambiguous source identities and uncollected child
subjects fail-closed. Add evaluator-to-handler, repeated scope resolution
and browser admission coverage.
2026-10-08 17:22:29 +01:00
rcourtman 99f0aae77f Clarify unavailable Docker container updates (#2753)
When a Docker image update is available but the server refuses
execution, an Update button suggests Pulse can still apply it. Show a
readable amber Update available badge with a lock indicator. Its hover,
tap and keyboard-focus explanation preserves the server refusal and
directs the operator to their container manager on the host. Keep
available updates and audited action progress usable.

Validation: 15 update-control regression tests, frontend typecheck, full
commit governance checks and frontend lint. Browser verification at
1440, 900 and 390 pixels covers light/dark styling, hover, keyboard,
dismissal, passive status clicks and the available update review flow
using fixture responses without dispatching updates.
2026-10-08 12:20:16 +01:00
rcourtman 71359ee58b Keep unavailable container update badges readable
Muted two-line statuses obscure available image updates and expand otherwise compact container rows. Use one amber badge with a lock indicator, keeping the server refusal and host guidance in its accessible explanation.
2026-10-08 11:53:14 +01:00
rcourtman 197f9bac5e Clarify unavailable Docker container updates
An Update control suggests Pulse can apply an image even when the host cannot execute commands. Show update availability and host guidance with the server refusal, while preserving audited reviews and progress for actions that can run.
2026-10-08 11:33:29 +01:00
pulse-triage[bot] ad972dd629 Compose preserved Core runtime repairs with current main
Preserve d525ef6583 and reviewed 7f026a40 ancestry. Keep current main node-pair source attribution and holder-bound folds, add the preserved API seed and snapshot-threshold lifecycle controls, and retain upstream disk-exclusion semantics. No frontend source changed.

Change-source: pulse-maintainer
2026-10-08 11:26:30 +01:00