Commit Graph

10914 Commits

Author SHA1 Message Date
pulse-triage[bot] f474e873a5 Merge candidate 20260908T015515Z-core-runtime
Change-source: pulse-maintainer
2026-09-08 03:26:58 +01:00
pulse-triage[bot] a222424c63 Merge current upstream incident history before publication
Incorporate protected PR #1973 while preserving every reviewed local alert and notification commit in history. Reconcile its failed-read state with per-request ownership and retain exact combined browser evidence.

Change-source: pulse-maintainer
2026-09-08 03:21:41 +01:00
rcourtman 783571bb35 Merge pull request #1973 from rcourtman/fix/canonical-incident-history
Preserve canonical incident history and Assistant handoffs
2026-09-08 03:11:45 +01:00
pulse-triage[bot] 701362ac25 style(alerts): format incident timeline regression
Apply the repository's Prettier layout to the recurring incident timeline test so the required frontend check can execute the already-reviewed regression coverage. No test semantics change.

Change-source: pulse-maintainer
2026-09-08 03:10:10 +01:00
pulse-triage[bot] 4573fe6fca fix(notifications): preserve backoff after Retry-After override
A zero Retry-After on a rate-limited response reset the exponential schedule to zero, causing subsequent transient failures to consume retries immediately. Apply the response delay only to its own wait and retain the normal schedule for later failures. Local HTTP regressions cover both a subsequent 503 and a headerless 429; focused retry tests pass with the race detector over three repetitions.

Change-source: pulse-maintainer
2026-09-08 02:59:11 +01:00
pulse-triage[bot] e5ef265c77 fix(alerts): retain ownership of incident history requests
Invalidate pending reads on reset and disposal, and gate success, failure and loading writes per resource. Convert the four reproductions to ordinary tests and retain reset/reopen and stale-failure controls. Qualify the real hook and panel with 14 Chromium lifecycle cases; register that exact browser surface proof without broadening path policies. This does not qualify installed delivery or PR1973's absent error accessor.

Change-source: pulse-maintainer
2026-09-08 02:57:57 +01:00
pulse-triage[bot] bbec8d0e9f Merge candidate 20260908T013022Z-core-runtime
Retain exact reviewed delayed recovery receipt coverage.

Change-source: pulse-maintainer
2026-09-08 02:46:56 +01:00
pulse-triage[bot] ea2dca250f Merge candidate 20260908T013005Z-web-product
Retain exact reviewed incident lifecycle reproductions and controls.

Change-source: pulse-maintainer
2026-09-08 02:46:56 +01:00
pulse-triage[bot] cfe341348d test(notifications): preserve recurring receipts after delayed recovery
Guard delayed and duplicate recovery completion across manager restarts. Verify that consuming one occurrence and destination leaves the newer occurrence and other destination eligible, including nanosecond-distinct starts.

Change-source: pulse-maintainer
2026-09-08 02:42:01 +01:00
pulse-triage[bot] 20d2892d7d test(alerts): retain known incident request lifecycle failures
Retain deterministic reproductions of four unresolved main-branch races so request-ownership repairs cannot lose their acceptance cases between lane runs. Explicit it.fails markers describe known debt, not fixed behaviour; raw unmarked execution still fails four cases. Three ordinary controls protect row toggling, cache refresh, independent resources and current failures. No runtime or release behaviour changes.

Change-source: pulse-maintainer
2026-09-08 02:41:59 +01:00
pulse-triage[bot] 57d4568369 Merge candidate 20260908T010013Z-core-runtime
Integrate watchdog lifecycle regression coverage while preserving reviewed commit b49cd98f58 and its validated ancestry.

Change-source: pulse-maintainer
2026-09-08 02:21:37 +01:00
pulse-triage[bot] 42fa284813 Merge current upstream main before publication
Incorporate protected merge 9b57f7cacd while preserving the accepted alert reliability, persistence, and bootstrap regression commits and their ancestry.

Change-source: pulse-maintainer
2026-09-08 02:08:19 +01:00
rcourtman e2b6fe3b16 Preserve canonical incident history and Assistant handoffs
Filter canonical history before selecting occurrences, preserve source evidence
and expose bounded reads and failures. Reconcile duplicate saved shells without
splitting one alert lifecycle, and keep note identity and canonical risk intact.

Carry attributed operator notes into Assistant. Preserve mobile investigations
across layout changes, transfer composer focus on handoff and keep long event
text readable. Record scoped qualification and its unresolved wider limits.

Refs #1782
2026-09-08 02:08:15 +01:00
pulse-triage[bot] b49cd98f58 test(monitoring): isolate watchdog delivery and monitor recovery
Watchdog freshness coverage does not guard the distinction between successful failure-signal delivery and restored monitoring. Pin the three failed-cycle warning threshold independently of HTTP retries, and ensure destination recovery clears only the delivery incident until canonical monitoring progresses again. Runtime behaviour is unchanged.

Change-source: pulse-maintainer
2026-09-08 02:05:21 +01:00
pulse-triage[bot] 9b57f7cacd Merge pull request #1972 from rcourtman/maintainer/20260908T000813Z
Prevent stale monitoring from looking healthy
2026-09-08 01:00:01 +00:00
pulse-triage[bot] d44c6282de test(web): guard bootstrap timer cleanup across attempts
Slow-start recovery is advertised to preview users. Pin cleanup when the loading fallback unmounts and ensure a later attempt does not inherit the previous warning deadline. This guards existing UX without changing product behaviour; 34 focused bootstrap, connection badge and runtime tests pass.

Change-source: pulse-maintainer
2026-09-08 01:52:20 +01:00
pulse-triage[bot] 103076c65b fix(alerts): skip unchanged JSON recovery replacements
Issue #1966 reports excessive idle writes. Canonicalise complete alert records and compare bounded existing bytes before replacing a secure regular recovery mirror. Preserve changed-state writes, missing/corrupt-file repair, failed-write retries and the directory durability barrier.

JSON-only regression failed before the repair and passes with repeated race coverage; existing load/save identity and permission tests pass. This is not a total disk-write measurement or a request to widen the selected beta.

Change-source: pulse-maintainer
2026-09-08 01:36:48 +01:00
pulse-triage[bot] d540441045 Merge commit 'a77e1f3cc83bc61f41e59c57d623bde286d8d5b5'
Change-source: pulse-maintainer
2026-09-08 01:25:01 +01:00
pulse-triage[bot] bbd50fc170 Merge recurring incident timeline isolation coverage
Integrate the reviewed Web regression test without re-parenting its exact commit. The added coverage protects occurrence-specific timeline and note state when recurring alert loads complete out of order.\n\nChange-source: pulse-maintainer

Change-source: pulse-maintainer
2026-09-08 01:20:25 +01:00
pulse-triage[bot] fce4b4c601 Merge landed regression proposal before publication
Incorporate protected main merge 977afdd955 while preserving the exact reviewed watchdog boundary commit and its ancestry.

Change-source: pulse-maintainer
2026-09-08 01:16:05 +01:00
pulse-triage[bot] a77e1f3cc8 test(alerts): pin metric acknowledgement retention boundary
Metric recurrence must preserve acknowledgement inside the one-hour resolution retention window without silencing later occurrences. Cover the exact expiry boundary and original attribution with deterministic observation times; existing expiry coverage exercised discrete alerts only.

Change-source: pulse-maintainer
2026-09-08 01:12:54 +01:00
pulse-triage[bot] 977afdd955 Merge pull request #1969 from rcourtman/maintainer/20260907T231621Z
Strengthen recurring incident and guest-memory regression coverage
2026-09-08 00:11:17 +00:00
pulse-triage[bot] 9b42b234aa test(alerts): pin recurring incident timeline and note isolation
Recurring alerts share an identifier, so history must retain occurrence-specific timelines and note targets. Exercise out-of-order loads and historical note saving without changing the current occurrence draft or cache. This protects existing behaviour without extending release scope.

Change-source: pulse-maintainer
2026-09-08 01:06:09 +01:00
pulse-triage[bot] 221e7ea258 test(monitoring): pin watchdog freshness boundaries
Existing stall coverage checks a two-minute-old observation but does not pin the freshness cutoff or future-clock tolerance. Cover absent progress and both sides of these boundaries so a stale or implausible timestamp cannot silently become a healthy external signal. This adds sender-only regression coverage without changing watchdog behaviour or release scope.

Change-source: pulse-maintainer
2026-09-08 00:42:06 +01:00
pulse-triage[bot] b7e44ee28f Merge landed alert-reliability proposal before publication
Incorporate protected main merge 203b50a46e while preserving the exact reviewed test commits and their ancestry.

Change-source: pulse-maintainer
2026-09-08 00:20:46 +01:00
pulse-triage[bot] 203b50a46e Merge pull request #1967 from rcourtman/maintainer/20260907T222533Z
Keep recurring incidents distinct and clear withdrawn Proxmox memory
2026-09-07 23:17:43 +00:00
pulse-triage[bot] 6d7c66e13b test(monitoring): cover guest memory cache failure and recovery
Existing cache tests exercise reuse and retry separately. Cover the full successful-read, expiry, failed refresh, negative backoff and recovery transition so stale successes cannot hide collection failure and explicit zero available memory remains a valid pressure sample. This adds synthetic regression coverage only; it does not change runtime behaviour or establish installed acceptance.

Change-source: pulse-maintainer
2026-09-07 23:52:46 +01:00
pulse-triage[bot] d37f653a66 Merge candidate 20260907T221500Z-core-runtime
Preserve the reviewed JSON checkpoint replay acceptance commit exactly atop the reconciled canonical main history.

Change-source: pulse-maintainer
2026-09-07 23:38:09 +01:00
pulse-triage[bot] 0a464e21c8 Merge current upstream main before publication
Change-source: pulse-maintainer
2026-09-07 23:29:53 +01:00
pulse-triage[bot] 3f68a61c8d test(ai): verify occurrence projection across JSON checkpoint replay
Retain unordered and subsecond recurrence boundaries through incident-store reconstruction; assert unchanged projected identity and zero checkpoint replacements after replay. Canonical events remain in memory, with no durable event-store or installed write-rate claim.

Change-source: pulse-maintainer
2026-09-07 23:24:05 +01:00
pulse-triage[bot] 5e3a867198 Merge pull request #1959 from rcourtman/maintainer/20260907T150154Z
Protect alert credentials and preserve accurate recovery state
2026-09-07 22:19:47 +00:00
pulse-triage[bot] 6332fdce44 Merge reviewed Proxmox memory withdrawal repair
Change-source: pulse-maintainer
2026-09-07 23:10:22 +01:00
pulse-triage[bot] 7eec890025 fix(web): clear explicitly withdrawn Proxmox memory
A canonical snapshot can omit memory after the producer marks its Proxmox
facet unavailable. Retaining the previous display metric hides withdrawal
and leaves a stale percentage visible. Clear that explicit transition in
full and fast merges and emit the corresponding store operation, preserving
ordinary partial omission and trusted canonical metrics including zero.

Pin withdrawal and recovery with adapter tests and desktop/narrow Chromium
acceptance. Workload details remain canonical-only; do not invent raw totals
or Usage UI. Record inspected screenshots and matching subsystem contracts.

Change-source: pulse-maintainer
2026-09-07 23:03:54 +01:00
pulse-triage[bot] a41c60597b fix(ai): bound retained incident timelines to their occurrence
The real monitoring lifecycle dispatcher reproduces a closed incident reopening when its next occurrence fires: canonical projection selected all later events for the same alert. Bound retained-shell projections to their exact start and the next retained start, keeping subsecond recurrence and historical acknowledgement separate. Add in-memory callback coverage with both projections attached; twenty race repetitions pass along with focused incident tests. No retention migration, canonical-only fallback rewrite, notification-delivery claim or aggregate write-byte claim.

Change-source: pulse-maintainer
2026-09-07 22:58:51 +01:00
pulse-triage[bot] c857802df6 fix(ai): preserve incident occurrence identity during lifecycle replay
Issue #1966 reports distinct incident IDs for one occurrence. Deterministic lifecycle replay creates eleven shells for one resolved start, including after JSON restart; open-only matching also lets an old resolution close a newer occurrence. Match exact lifecycle starts and retain closed identity on replay, without changing legacy zero-start matching or retention. Add recurrence, restart and canonical-shell regression coverage; focused incident race tests pass for twenty repetitions. This does not establish total write savings or migrate existing duplicates.

Change-source: pulse-maintainer
2026-09-07 22:39:41 +01:00
pulse-triage[bot] 653a28192a fix(discovery): preserve current records during suggestion backfill
Backfill could save a stale List snapshot after manual discovery repaired a service, restoring unknown identity and dropping its URL and engine version. Derive and persist missing suggestions from the current record under the store lock instead, without holding it across monitor reads.

Add a deterministic SetReadState/manual-refresh interleaving and encrypted restart assertions, plus coverage for current identity, dismissed proposals, deletion and persistence failure. The discovery package passes twenty race-enabled repetitions.

Change-source: pulse-maintainer
2026-09-07 22:20:18 +01:00
pulse-triage[bot] c394f297c6 Merge candidate 20260907T204500Z-core-runtime
Change-source: pulse-maintainer
2026-09-07 22:08:55 +01:00
pulse-triage[bot] e41381681a fix(ai): skip unchanged incident JSON checkpoints
Repeated alert lifecycle evaluations retain one occurrence but still replace the whole incident file. Compare bounded existing bytes before replacement, preserving changed-state saves and retry after failure or file loss.

Focused regression reproduced 21 replacements for one initial save plus 20 unchanged evaluations before the fix. Repeated race-enabled incident tests cover unchanged checkpoints, metadata, restart, resolution, recurrence and failed-write retry. This does not establish the cause of all writes or duplicate incidents reported in #1966.

Change-source: pulse-maintainer
2026-09-07 21:56:02 +01:00
pulse-triage[bot] 1502a8506c Merge candidate 20260907T201522Z-web-product
Change-source: pulse-maintainer
2026-09-07 21:47:29 +01:00
pulse-triage[bot] 916de59433 Merge candidate 20260907T201519Z-core-runtime
Retain the exact reviewed automatic guest-link regression test on current canonical main.

Change-source: pulse-maintainer
2026-09-07 21:42:13 +01:00
pulse-triage[bot] 6feddfebee test(web): verify hybrid memory updates in Chromium
Exercise canonical REST and socket snapshots through the Proxmox table and guest drawer for issue #1962. Preserve platform fallback and measured-zero presentation without substituting nested agent memory; backend polling remains separately qualified.

Change-source: pulse-maintainer
2026-09-07 21:36:04 +01:00
pulse-triage[bot] a7484acca4 style(web): restore alert recovery formatting gate
Apply the repository formatter to the two alert recovery test files rejected by the protected frontend check. This is an additive formatting-only correction; reviewed commit identities and behavior remain unchanged.

Change-source: pulse-maintainer
2026-09-07 21:32:33 +01:00
pulse-triage[bot] f604b1db4a test(monitoring): distinguish automatic guest links from registry merges
Issue #1962 describes automatic correlation into a hybrid VM, while the retained-link regression only exercises a manual merge. Exercise the hostname link selector through source snapshot reconstruction and next-poll memory resolution, preserving standalone host identity, cross-instance VMID isolation and ambiguous-name refusal. This narrows the acceptance boundary without changing matching behaviour or claiming installed recovery.

Change-source: pulse-maintainer
2026-09-07 21:28:07 +01:00
pulse-triage[bot] db6edc9fcb Merge candidate 20260907T185505Z-core-runtime
Change-source: pulse-maintainer
2026-09-07 21:12:16 +01:00
pulse-triage[bot] d9f2637ee2 Merge current upstream source main into reviewed maintenance
Incorporate the protected release-snapshot workflow landing while preserving every reviewed maintenance commit and the additive governance correction in local history.

Change-source: pulse-maintainer

# Conflicts:
#	docs/release-control/v6/internal/subsystems/deployment-installability.md
2026-09-07 21:02:31 +01:00
rcourtman 1a822d164b Merge pull request #1965 from rcourtman/release-snapshot-workflow
Publish reviewed release snapshots independently of branch tips
2026-09-07 20:24:51 +01:00
pulse-triage[bot] 092405e33c fix(governance): validate reviewed split completions exactly
A reviewed notification correction and its required contracts and API proof were accepted as separate immutable commits, leaving the protected per-commit governance check unable to pass without rewriting reviewed history. Add a fail-closed exact-pair validator that reconstructs the completion commit in a detached worktree and runs the normal guard over the combined file set; all unregistered commits continue through the unchanged per-commit path.

Change-source: pulse-maintainer
2026-09-07 20:13:34 +01:00
pulse-triage[bot] 4120f22374 Test linked guest memory after registry reconstruction
Keep stale/offline/unavailable controls, diagnostic and alert agreement, and verify isolation with a simultaneous duplicate VMID in another instance. Test-only follow-through for issue #1962.

Change-source: pulse-maintainer
2026-09-07 19:58:58 +01:00
pulse-triage[bot] 238c9762ba style(web): format hybrid memory regression fixture
Apply the repository Prettier policy to the newly integrated issue #1962 reactive-boundary fixture. The exact reviewed candidate remains preserved as a merge parent, and the focused test behavior is unchanged.

Change-source: pulse-maintainer
2026-09-07 19:58:26 +01:00
pulse-triage[bot] 53042d55e1 Merge candidate 20260907T184501Z-web-product
Change-source: pulse-maintainer
2026-09-07 19:57:22 +01:00