Commit Graph

5422 Commits

Author SHA1 Message Date
pulse-triage[bot] 6cf72e6d88 Compose reviewed alert diagnostics and setup guidance with upstream CI correction
Preserve every accepted commit while incorporating the published setup-node advisory-cache repair. Upstream changes a separate workflow; retain the proved runtime and documentation candidate bytes.

Change-source: pulse-maintainer
2026-10-02 12:05:07 +01:00
rcourtman fc9d85c640 Pin setup-node caching off in the dependency advisory watch
The scheduled watch reads each release line's lockfile in the default
branch's cache scope, so it deliberately writes no dependency cache.
It sets no cache input, but the pinned setup-node enables npm caching
on its own once package.json names npm as its packageManager. Nothing
declares that today; adding it later would silently reopen a
default-branch cache write here. Set package-manager-cache: false, as
five release workflows already do, assert it in the workflow test, and
say how the contract's no-dependency-cache promise is kept.
2026-10-02 11:30:08 +01:00
pulse-triage[bot] 33d6d729c1 Integrate reviewed Apprise diagnostic confidentiality repair
Change-source: pulse-maintainer
2026-10-02 10:57:53 +01:00
pulse-triage[bot] 5635f74043 Integrate reviewed getting-started safety and retirement guidance
Change-source: pulse-maintainer
2026-10-02 10:48:57 +01:00
pulse-triage[bot] 1ce98f2693 Keep Apprise credentials and private payloads out of diagnostics
Suppress raw CLI targets/output, HTTP response bodies and credential-bearing endpoint paths across firing, recovery, tests, queue audits and settings logs. Preserve exact delivery inputs, typed causes and retry classification; retain structured status, counts and safe validation reasons.

Contract-Neutral: Shared agent-lifecycle and storage-recovery references are unchanged; this diagnostic repair alters no agent or storage behaviour, API schema, destination admission or delivery policy.
Change-source: pulse-maintainer
2026-10-02 03:34:36 +01:00
pulse-triage[bot] b32a4369e7 Integrate reviewed native TrueNAS CORE telemetry and History repair
Change-source: pulse-maintainer
2026-10-02 02:56:46 +01:00
pulse-triage[bot] 439604c0bd Make getting-started installs fail closed and plans current
Chain signed installer downloads, verification and execution in the English, German and Spanish landing pages so a failed trust step cannot run stale or unverified bytes. Keep the pinned signer, namespace and release URLs, preserve real installer exits, and correct the existing plan and paired-app retirement guidance. Exercise the copyable Bash gate with offline command stubs and run those documentation regressions in Public docs CI.

Contract-Neutral: Public documentation and its secret-free CI validation only; no runtime, entitlement, release-selection or subsystem contract delta.
Change-source: pulse-maintainer
2026-10-02 02:53:31 +01:00
pulse-triage[bot] 45eec9a20e Keep native TrueNAS Thermals in local and persisted host History
Finish the connected #2077 outcome: persist an observed TrueNAS host temperature through the existing canonical writer, so local chart coverage cannot suppress the Thermals panel. Extend the pinned REST-to-chart control to cover the write, persistent readback and full local-window fast path; preserve source and absence gates.

Change-source: pulse-maintainer
Contract-Neutral: Restores existing TrueNAS Thermals history through its canonical writer; no agent lifecycle, schema, route, resource identity or alert-policy delta.
2026-10-02 02:09:48 +01:00
pulse-triage[bot] 579eee2907 Preserve independent ARC and stop cancelled CORE reporting before I/O
Complete the native CORE #2077 repair after its whole-suite adverse result: retain ARC without inventing free RAM, enforce live-window freshness even with coarse RRD steps, and assert bounded graph splitting including CPU temperature. Keep empty/zero, aligned ARC and transport boundaries intact.

Change-source: pulse-maintainer
2026-10-02 01:49:25 +01:00
pulse-triage[bot] bab5cf77d6 Prove native CORE catalogue overflow fails without partial totals
Exercise the unique-device selection ceiling separately from deduplication, and keep the graph-isolation account aligned with catalogue-selected requests. No runtime logic or public contract shape is changed.

Change-source: pulse-maintainer
2026-10-02 00:48:46 +01:00
pulse-triage[bot] c78840e371 Classify the native CORE reporting fixture for canonical verification
Bind the anonymised JSON regression input to the existing TrueNAS runtime proof policy. The repair restores existing canonical behavior and has no public contract shape change; its source, tests and substantive monitoring account remain in the preceding commit.

Change-source: pulse-maintainer
2026-10-02 00:32:55 +01:00
pulse-triage[bot] b50313c599 Decode native CORE reporting rows across live metrics and History
Use external RRD timing, native legends, scoped device graphs and measured CPU temperature for issue #2077. Keep absent, empty and zero buckets distinct, normalize CORE CPU states and preserve ARC alignment, safe transport failures and canonical projection. Add native-shape and end-to-end monitoring controls without changing release selection.

Change-source: pulse-maintainer
Contract-Neutral: Restores existing canonical metrics and temperature behaviour for CORE input formats; no public schema, route, resource identity or alert-policy delta.
2026-10-02 00:32:32 +01:00
pulse-triage[bot] 76e1aea061 Make notification troubleshooting bounded and delivery-aware
Use the existing delivery activity and failure classes before collecting raw logs. Keep both Docker streams and log-reader exits visible, warn about provider echoes and duplicate retries, and distinguish test success from real alert delivery. Exercise the copied bounded recipes and their unsafe predecessor with synthetic readers.

Change-source: pulse-maintainer
2026-10-02 00:28:59 +01:00
pulse-triage[bot] fc4deb6c17 Integrate reviewed command-channel troubleshooting guidance
Preserve the exact product-intelligence candidate and clarify execution scope versus live channel admission without changing runtime behaviour.

Change-source: pulse-maintainer
2026-10-02 00:00:47 +01:00
pulse-triage[bot] c08583dd54 Distinguish command permission from a connected agent channel
The LXC discovery report reached command-capable credentials but could not distinguish them from live command-channel admission. Explain the blocked state, keep successful guest checks, and provide a bounded local journal check without credential resets, broader permissions or full-log disclosure. Bind the guidance and command syntax to the existing service events.

Change-source: pulse-maintainer
2026-10-01 23:25:48 +01:00
pulse-triage[bot] c3f627d0d6 Keep monitor bootstrap verification in canonical order
Move the quiet-hours startup regression beside the other monitor proof files without changing any runtime, test or contract content. This corrects the registry audit's lexical ordering error.

Change-source: pulse-maintainer
2026-10-01 23:10:43 +01:00
pulse-triage[bot] 5213b794b2 Revalidate queued alert delivery against current quiet hours
Keep continuous and late replay held without spending a provider attempt. Split mixed batches atomically so eligible alerts retain admitted destinations, occurrence links and retry budgets, and bind saved monitor policy before activating persisted work. Add local receipt, cancellation, rollback, reconstruction and race regression coverage with the owning contracts and verification routes.

Change-source: pulse-maintainer
2026-10-01 23:05:07 +01:00
pulse-triage[bot] 680ac756e6 Integrate reviewed CORE response guidance
Change-source: pulse-maintainer
2026-10-01 22:23:21 +01:00
pulse-triage[bot] 0834ec0e14 Keep quiet-hours verification paths in canonical order
Repair the deterministic registry audit rejection by moving the dedicated quiet-hours test into its lexicographic position and matching the existing indentation. Preserve all verification entries, path policies and runtime bytes.

Change-source: pulse-maintainer
2026-10-01 21:54:09 +01:00
pulse-triage[bot] 36066f0406 Explain how to find CORE graph responses without exposing a capture
The CORE reporter could find requests but not the matching replies. Clarify Firefox message filtering, per-request IDs, CPU versus temperature and bounded response sharing in the canonical and shipped guide; keep secrets and full captures out of diagnostics. Add guidance regression coverage while preserving the existing authenticated connection recipes.

Change-source: pulse-maintainer
2026-10-01 21:32:16 +01:00
pulse-triage[bot] cecbd5418b Respect local clocks through alert quiet-hours changes
Compare scheduled civil minutes on each selected day so repeated or missing DST minutes cannot shift suppression. Calculate non-full-day replay from real clock boundaries and keep location fallback read-only for concurrent policy consumers. Retain category controls and the existing full-day replay boundary; pin the civil-time contract and dedicated regression proof.

Change-source: pulse-maintainer
2026-10-01 21:11:11 +01:00
pulse-triage[bot] db35048aca Integrate reviewed audit recovery guidance repair
Preserve the exact reviewed specialist commit and its documentation and signer controls alongside the current canonical frontier.

Change-source: pulse-maintainer
2026-10-01 20:42:05 +01:00
pulse-triage[bot] efb6fb742b Integrate reviewed RAID spare-count repair
Preserve exact Core candidate identity for issue #2369, its required-member provenance and genuine-deficit controls. Retain source proof limitations and the owned compatible patch route; no frontend content changes.

Change-source: pulse-maintainer
2026-10-01 20:36:29 +01:00
pulse-triage[bot] 86c707da35 Preserve audit evidence in verification and recovery guidance
Distinguish failed verification from a tampering diagnosis, unsigned history, query errors and runtime gates. Remove live-key replacement and regeneration advice, correct default store paths, and preserve matching keys and history for isolated recovery. Bind the shipped guides to regression checks and exercise recovery distinctions with the real signer and encryption manager on synthetic temporary data.

Contract-Neutral: Audit documentation and synthetic regression controls only; no signing, storage, entitlement, API or frontend runtime behaviour changes.
Change-source: pulse-maintainer
2026-10-01 20:08:53 +01:00
pulse-triage[bot] f99803f46d Integrate reviewed Docs accessibility and guidance repair
Change-source: pulse-maintainer
2026-10-01 20:00:13 +01:00
pulse-triage[bot] 14d3dc3b6c Fix MD RAID spare counts without hiding member failures
Retain configured RAID members separately from source-native totals through collection, reports and canonical read views. Correct the healthy legacy mdadm tuple from #2369 without subtracting spares from mdstat requirements or suppressing real deficits, failures and recovery warnings. Preserve observed zero-active counts through fallback, and verify collector, wire, ingestion, health and canonical activation/resolution boundaries.

Change-source: pulse-maintainer
2026-10-01 19:56:47 +01:00
pulse-triage[bot] 9a1c063f6d Integrate reviewed request-log troubleshooting repair
Preserve the exact specialist commit and existing Docker alert lifecycle repair; improve bounded JSON/console log correlation and safe evidence guidance.

Change-source: pulse-maintainer
2026-10-01 19:52:09 +01:00
pulse-triage[bot] 04d12bc16e Restore semantic column headers in shipped documentation tables
Extract the Windows-independent Docs repair from candidate 136d039de4a1f8f7debfb1f82d4fffd8bf610083. Add trusted scope after sanitization without expanding document-controlled attributes. Preserve table-local scrolling and verify the current eight-header plans table in desktop Chromium and phone WebKit; native Windows work remains separate.

Change-source: pulse-maintainer
2026-10-01 19:27:17 +01:00
pulse-triage[bot] b04d892670 Make request-log troubleshooting work with service JSON
Search the literal response request ID across JSON and console output, limit log collection, retain reader failures and distinguish missing logs from HTTP success. Explain safe browser evidence and default-level coverage without asking users to repeat a state-changing request. Execute the copied journal and Docker commands against bounded synthetic readers, including stderr, failures, no match and a console-only negative control.

Contract-Neutral: Documentation and executable recipe checks for existing request logging only; no API, authentication, runtime, schema or frontend behaviour changes.
Change-source: pulse-maintainer
2026-10-01 19:12:00 +01:00
pulse-triage[bot] 2ae06bb2f3 Compose retained Docker update restart repair for exact proof
Preserve assigned main maintenance while completing the retained alert lifecycle validation.

Change-source: pulse-maintainer
2026-10-01 18:26:13 +01:00
pulse-triage[bot] 53e69c06fe Integrate reviewed topology-free demo readiness diagnostics
Change-source: pulse-maintainer
2026-10-01 18:14:16 +01:00
pulse-triage[bot] bb1903e48d Stop demo diagnostics at failed tailnet readiness
Failed setup now yields local-only, topology-free diagnostics. Require recognised Running state and successful tailnet ping before TCP, retain probe exits without raw private output or fallback probes, and exercise twenty synthetic readiness/privacy cases. Parent controls expose false success and private output on both channels. Keep workflow identities, secrets, action pins, mutation gates and release scope unchanged.

Change-source: pulse-maintainer
2026-10-01 17:36:26 +01:00
pulse-triage[bot] 14c489921e Make Docker troubleshooting account-specific and bounded
Replace the login-user Docker-group shortcut with actual service-account and collector-profile guidance. Add a one-shot LXC socket/daemon diagnostic that keeps failures visible without collecting container identity or credentials, with executable bounded fixtures.

Contract-Neutral: Existing documentation and diagnostic tests only; collector access, runtime commands, opt-in gates and entitlements are unchanged.
Change-source: pulse-maintainer
2026-10-01 16:59:32 +01:00
pulse-triage[bot] ed8415ea6a Keep active Docker update age through restart
A restored image-update incident must not wait another whole delay before positive reports refresh it. Recover pending age from the same resource's active occurrence, retaining acknowledgement and delivery identity while preserving explicit recovery and a new update's normal delay. Exercise both checkpoint authorities, both cleanup paths, cached and unknown evidence, 24/48-hour delays and isolated hosts through the public checker.

Change-source: pulse-maintainer
2026-10-01 16:58:21 +01:00
pulse-triage[bot] d24ace81cb Integrate reviewed Relay retirement FAQ and entitlement guidance
Resolve overlapping copy assertions by retaining main’s stronger retirement and license-boundary checks plus the candidate’s continuing paired-access and FAQ/plan coverage. User-visible documentation is unchanged from the reviewed candidate; no runtime frontend source changed.

Change-source: pulse-maintainer
2026-10-01 16:29:10 +01:00
pulse-triage[bot] 858abc579a Integrate reviewed listener-owned health and telemetry transition repair
Change-source: pulse-maintainer
2026-10-01 16:28:26 +01:00
pulse-triage[bot] 4f6a71d69f Keep FAQ and plan guidance aligned with Relay retirement
The existing FAQ and linked entitlement guide still advertise Relay purchases and remote web access after the reviewed retirement change. Explain continuing app access, subscriber Pro continuity, current plans and phone-alert alternatives; distinguish old Relay payloads without changing their runtime gates. Preserve shipped mirrors and enforce the accepted security guidance's continuing-access boundary.

Contract-Neutral: Documentation and copy assertions reflect existing retirement policy; runtime entitlements, routes and access controls are unchanged.
Change-source: pulse-maintainer
2026-10-01 15:28:12 +01:00
pulse-triage[bot] b1b5bd3fda Integrate reviewed private Unix lifecycle command repair
Merge the exact reviewed Web tip and retain its stronger retirement copy assertions where concurrent test-only maintenance overlaps. Runtime frontend content remains exactly browser-verified; existing credential issuance, identity and transport policy are preserved.

Change-source: pulse-maintainer
2026-10-01 15:24:52 +01:00
pulse-triage[bot] 291cb526dd Merge commit '33345f29817789e47c1f4ce20d689f9f14e1c4bb' into maintainer-async/20261001T134237Z-core-runtime/pulse
Change-source: pulse-maintainer
2026-10-01 14:43:57 +01:00
pulse-triage[bot] b21f086e85 Keep Unix lifecycle credentials out of copied commands
Replace literal credential bootstraps with the exercised bounded Core private-entry pattern, preserve a checked local private-file route for non-terminal FreeBSD command fields, and consolidate Unix repair, upgrade and removal transport without changing token issuance, TLS choice or host identity. Removal does not depend on a new binary preflight. Windows credential transport remains the next rework step. Add executable PTY/file/lifecycle proofs and the missing DOMPurify after-attributes detached-subtree regression, with parent-bound browser evidence.

Change-source: pulse-maintainer
2026-10-01 14:07:33 +01:00
pulse-triage[bot] 33345f2981 Preserve telemetry sender transitions and bound-socket health
Adapt PR2351 to current main without losing bounded probe deadlines, retries, explicit binds or confidentiality. Inspect IPv6 wildcard socket mode so unrelated servers sharing the port cannot determine Pulse health. Apply the telemetry callback only after a persisted explicit boolean transition, including stale-disk and null-input boundaries.

Retain real HTTP/HTTPS wildcard and same-port isolation regressions, callback persistence-order tests, and the owning subsystem contracts. No dependency manifests, frontend source or telemetry payload schema change. Exact runtime proof remains dependent on the unavailable root graph; it is not represented as passed.

Change-source: pulse-maintainer
Original-source: https://github.com/rcourtman/Pulse/pull/2351
Original-commit: f50c4d6e3b
Co-authored-by: rcourtman <8825017+rcourtman@users.noreply.github.com>
2026-10-01 13:28:21 +01:00
pulse-triage[bot] 04429cb42c Keep setup and metrics guidance credential-safe
Replace token arguments, an ignored API_TOKENS bootstrap and plaintext DaemonSet credentials with scoped UI-created tokens, private files and a pre-created Secret. Route hosted installation to the existing private-file flow and retain HTTP errors and encoded resource identities in metrics queries. Exercise copied recipes, failure stops and actual curl requests with synthetic credentials.

Contract-Neutral: Documentation-only private-file setup and metrics access guidance; no runtime, API, entitlement or deployment contract delta.
Change-source: pulse-maintainer
2026-10-01 13:26:10 +01:00
pulse-triage[bot] 9189a7262e Integrate reviewed manual-version auto-update consent repair
Change-source: pulse-maintainer
2026-10-01 13:01:48 +01:00
pulse-triage[bot] 48b22f9412 Integrate reviewed connected-dashboard broadcast allocation repair
Preserve exact Core candidate c0525852f8 and its differential, affected-race and benchmark evidence. Compose with the fixed initial main frontier; installed CPU and release follow-through remain separately owned.

Change-source: pulse-maintainer
2026-10-01 12:55:46 +01:00
pulse-triage[bot] c0525852f8 Avoid discarded identity candidates in live broadcast projections
The residual whole-broadcast profile attributes about 80 percent of synthetic allocation to connected-infrastructure grouping. Request only its unchanged 0.90 identity floor, and discard equal or worse-priority fallback peers before allocating and sorting them. Keep general matching and all group identity, ambiguity, explanation and review semantics against independent pre-repair oracles. Update the obsolete broadcast-wrapper source assertion to the prepared single-pass path.

Change-source: pulse-maintainer
2026-10-01 12:18:28 +01:00
pulse-triage[bot] b281ee80e1 Reconcile initial main frontier with reviewed local maintenance
Change-source: pulse-maintainer
2026-10-01 12:15:01 +01:00
rcourtman 4eeb297ca6 Watch main and every active release line for new frontend advisories daily (#2366)
On 30 Sep and 1 Oct two new advisories (brace-expansion
GHSA-q2hr-2g5m-vwhr, DOMPurify GHSA-p98j-92pf-mc4p) failed the required
frontend audit on every PR across main, release/v6.4 and release/v6.5,
holding the v6.5 RC for days and blocking the v6.4.6 preparation. The
existing scheduled npm-audit is informational and only sees main. This
adds a daily workflow that runs the same complete frontend audit as
Build and Test on main and every active release line, fails on any
finding, and names the branch, advisories and fix. The maintainer's
release-path health check raises it to Delivery immediately.
2026-10-01 12:01:43 +01:00
pulse-triage[bot] 36200e07db Use canonical resource fields in broadcast regression fixtures
The first exact candidate proof compiled and passed frontend snapshot tests, but rejected two monitoring fixture fields that only exist on frontend projections. Use the canonical resource name and tags to test the same sort/freshness boundaries. Preserve that failed aggregate result; no production code or expectation is relaxed.

Change-source: pulse-maintainer
2026-10-01 11:50:43 +01:00
pulse-triage[bot] eb7e70135d Preserve auto-update consent during manual version changes
An update, rollback or reinstall must not silently enable unattended updates. Share the existing-install opt-in prompt and retain affirmative CLI and interactive choices without changing helper refresh or fresh-install defaults.

Exercise all five existing main flows and add bounded configuration/timer intent observations to the signed published lifecycle rehearsal, including changed and unavailable negative controls.

Change-source: pulse-maintainer
2026-10-01 11:50:33 +01:00
courtmanr@gmail.com 64d8dbc7fc Watch main and active release lines daily for new npm advisories
On 30 Sep-1 Oct 2026 GHSA-q2hr-2g5m-vwhr (brace-expansion) and
GHSA-p98j-92pf-mc4p (DOMPurify) failed the required "Audit complete
frontend dependency graph" step on every pull request to main,
release/v6.4 and release/v6.5. That held the v6.4.6 preparation PR and
the v6.5 RC for days with no owner. The scheduled audit in
security-scan.yml only informs and runs on the default branch, so
release lines were never checked.

dependency-advisory-watch.yml runs daily and on dispatch. It lists main
plus every release/v<major>.<minor> line at or newer than the latest
stable's line (all lines if that lookup fails), then audits each in a
fail-fast-free matrix. Each job fetches only that line's
frontend-modern/package.json and package-lock.json with git and runs
scripts/npm-audit-retry.sh all on them under the same Node.js pin that
build-and-test requires. npm audit reads the lockfile, so nothing is
installed. The job never checks out or runs the audited branch's code,
because a scheduled run holds the default branch's cache scope and
CodeQL flagged running npm ci there as cache poisoning.

A job fails when the audit fails, and its step summary and annotation
name the branch, the GHSA ids and the fix (npm audit fix
--package-lock-only plus raised floors in dependencySecurity.test.ts).
Read-only, hosted-only, no secrets, no uploads.
2026-10-01 11:46:12 +01:00