Replaces google/gemini-2.5-flash with deepseek/deepseek-v4.1-flash (released 2026-09-10) as the diagnosticModel for the hosted lifecycle diagnostic and its synthetic fixture/wire tests.
Preserve nanosecond API timestamps for incident queries, compare recipient alert identity and RFC3339-second starts, and reject ambiguous same-second recurrences. Require a recipient receipt for terminal retry as well as its original notification audit.
Change-source: pulse-maintainer
Installed beta.2 correctly cancels obsolete terminal firing rows on resolution. Exercise operator retry while the occurrence is live, then verify distinct recurrence delivery, and retain failed retry responses.
Change-source: pulse-maintainer
Installed beta.2 correctly cancels obsolete terminal firing rows on resolution. Exercise operator retry while the occurrence is live, then verify distinct recurrence delivery, and retain failed retry responses.
Change-source: pulse-maintainer
The first immutable beta.2 fixture stopped with 403 before alert stimulus because the documented token omitted monitoring:write. Include the required scope and verify both corrected admission and the original denial through the production scope guard. Preserve rejected attempts and require reviewed fresh fixtures; no product authorization checks are changed.
Change-source: pulse-maintainer
Saved enrollment records can correlate with a live Proxmox host after a
reinstall. The continuity overlay then replaced its current agent payload
with an older offline identity, hiding metrics and marking the node offline.
Use canonical matching to add only absent continuity resources. Preserve
current identity, telemetry and provider links without deleting history or
changing token admission. Cover repeated reads and identity collisions.
Refs #1913
The first immutable beta.2 fixture stopped with 403 before alert stimulus because the documented token omitted monitoring:write. Include the required scope and verify both corrected admission and the original denial through the production scope guard. Preserve rejected attempts and require reviewed fresh fixtures; no product authorization checks are changed.
Change-source: pulse-maintainer
Published notification recovery still lacks installed ordinary-recipient lifecycle evidence. Add a synthetic-only HTTP driver with bounded faults, occurrence-aware receipts, preserved-state restart attestations and explicit incomplete-acceptance reporting so qualification can gather that evidence without changing the frozen product.
Validate the harness failure/observation guards and its report/template contracts separately from installed acceptance. No production code or release gate changes.
Change-source: pulse-maintainer
Manual checks previously bypassed only the browser cache, so a newly
published preview could remain hidden behind a fresh-looking server result.
Carry explicit freshness to the provider, retain prior evidence on failure,
and omit unknown dates instead of rendering year one.
Distinguish logical adapter-call and provider-neutral request limits from transport retries, compatibility fallbacks, and provider billing attempts. Keep the hosted fixture behavior unchanged.\n\nChange-source: pulse-maintainer
Change-source: pulse-maintainer
Use production Assistant instructions with synthetic inventory and approval-only planning. Keep gateway inference distinct from native Gemini transport, retain adverse output, and enforce fixed session and token budgets. Hosted execution remains opt-in; local regressions cover model-owned continuation, wire planning and hard call limits.
Change-source: pulse-maintainer
The workflow stages and verifies its activation marker in the unpublished
draft, then publishes the complete release immutably. The policy still
placed the marker upload after publication and implied public read-back
could return the committed release to draft.
Describe the implemented commit boundary, inert private staging and the
complete readiness join. Preserve source identity, signing, qualification
and customer convergence requirements without changing release execution.
Record clean, consistent releases as the highest current objective.
Keep release consistency explicitly unconfirmed until actual release
and recovery evidence establishes dependable delivery.
Apply the repository's Prettier layout to the pending-history clear regression so the required frontend check can run the already-validated test without a formatting failure.
Change-source: pulse-maintainer
Revalidate policy, active occurrence, acknowledgement and snooze at the monitoring callback boundary. Preserve current routing and cooldown behaviour with live-incident fixtures. Pin pre-deadline policy changes and queued email routing versus resolution independently.
Change-source: pulse-maintainer
Apply the locked formatter to the two pending-history scenarios so the tracked delivery proposal can pass its frontend formatting gate. All six focused history tests pass; no runtime behaviour changes.
Change-source: pulse-maintainer
First-run setup saved the configured administrator but left the router authorizer on its startup identity. This split Settings capability checks: administrator-only panels remained visible while API Access and Pulse Intelligence were denied until restart. Keep the captured authorizer aligned when setup commits the identity, and clear its prior bypass on successful development reset.
Cover the exact split with real file-backed RBAC policy and session setup, preserve outsider denial and identity replacement, and synchronise concurrent policy reads. Extension implementations still require independent compatibility review; this is not installation or release acceptance.
Change-source: pulse-maintainer
A history request started before a successful clear can return deleted rows afterwards and repopulate the view. Invalidate those reads and settle loading only after the clear succeeds, preserving history on failure and allowing later refreshes.
Change-source: pulse-maintainer
Cleanup only marked the active alert acknowledged, leaving recurrence retention and reducer state unlike manual acknowledgement. A short recovery and refire consequently reopened it unacknowledged. Mirror automatic acknowledgements into both tracking paths and request persistence before callbacks.
Regression fails before the repair at short recovery/refire. Focused cleanup, manual acknowledgement and automatic acknowledgement race tests pass.
Change-source: pulse-maintainer
The regression temporarily replaces zerolog's global logger. A prior WebSocket
handler can still be finishing after its own test returns, so joining only this
probe's handler does not prevent a race with that earlier log write. Run the
hook in a bounded child invocation of the same race-instrumented test binary.
Change-source: pulse-maintainer
Independent review reproduced a global logger race with a preceding upgraded WebSocket handler. Run the deterministic probe in the same race-instrumented test binary as an isolated child rather than assuming our handler join also covers earlier tests. The corrected probe fails against the original server and the complete agentexec race package passes with the repair.
Change-source: pulse-maintainer
A session was discoverable before its registration acknowledgement reserved the write lock. An immediate dispatch could therefore become the first frame, which the unified client rejects while awaiting registration. Reserve the new connection write lock under the session-map lock so no dispatcher can overtake the handshake.
The deterministic publication-window regression fails before the repair. Agentexec package race tests and real unified-agent typed receipt replay/cancellation tests pass after it; no timeout thresholds or admission checks are relaxed.
Change-source: pulse-maintainer
A session was discoverable before its registration acknowledgement reserved the write lock. An immediate dispatch could therefore become the first frame, which the unified client rejects while awaiting registration. Reserve the new connection write lock under the session-map lock so no dispatcher can overtake the handshake.
The deterministic publication-window regression fails before the repair. Agentexec package race tests and real unified-agent typed receipt replay/cancellation tests pass after it; no timeout thresholds or admission checks are relaxed.
Change-source: pulse-maintainer
Update compress and Prometheus common independently of the grouped database proposal. Common requires x/net 0.58.0; all other selected modules and existing checksums remain unchanged. Extend real exporter wire coverage for wildcard, browser and JSON fallback requests alongside gzip, protobuf and optional zstd compatibility.
Contract-Neutral: Dependency maintenance and expanded compatibility coverage only; no Pulse API, deployment policy, toolchain or enabled exporter format changes.
Change-source: pulse-maintainer