Route current upgrades to current guidance; preserve existing login and monitoring state when diagnosing missing PVE backups. Require endpoint-specific access evidence rather than blanket ACL changes or setup-token rotation.
Contract-Neutral: Documentation and regression checks only; no collector, permission, authentication or upgrade contract changes.
Change-source: pulse-maintainer
Publish failed and unfinished source-test names in the existing shard artifact without waiting for other workflow jobs. Keep logs, timings, test selection and failure exits unchanged; record unknown completion and omitted unsafe or excess identities explicitly. Pin privacy, bounds, pipefail and timing-refresh compatibility, and align the existing shard contract with current compile admission.
Change-source: pulse-maintainer
Source inspection shows connection/agent status is not a dedicated PVE backup last-success control. Use existing collection timestamps where available without inventing a settings field or treating a live agent as fresh backup inventory.
Contract-Neutral: Documentation-only correction of existing PVE backup diagnostics; runtime collection and access contracts are unchanged.
Change-source: pulse-maintainer
Replace node deletion, registration-state removal and blanket ACL instructions with source-aware checks of existing native evidence, ordinary API collection and the actual rejected request. Preserve credential and backup safety boundaries in the shipped guide, with regression checks against the collector and setup behaviour.
Contract-Neutral: Documentation-only correction of existing PVE backup diagnostics; runtime collection and access contracts are unchanged.
Change-source: pulse-maintainer
Preserve the exact specialist commit and retained policy and mirror proof; improve the existing bug forms without requiring diagnostics or adding a product surface.
Change-source: pulse-maintainer
Ask for optional existing platform-release and API/agent context in both bug forms. Keep the Pulse deployment separate, accept unavailable details, and forbid active diagnostics or connection changes just to report. Preserve all required core report fields and the matching triage and contributor guidance, including shipped mirrors.
Contract-Neutral: Issue-form context, contributor guidance and regression checks only; no runtime, API, permission or canonical subsystem shape changes.
Change-source: pulse-maintainer
The omitted-unit-suite control raised ValueError instead of an assertion. Require each step exactly once before checking positions so the control reports the intended missing-check failure.
Contract-Neutral: Regression-test diagnostic only; the frontend workflow and all product contracts are unchanged.
Change-source: pulse-maintainer
PR2624 spent 8m45s on successful unit tests before its deterministic bundle-size rejection; PR2626 and PR2627 now fail at that same gate. Type-check, build the real embedded assets and apply the unchanged size budgets before spending that test time. Passing source still runs every existing check.
Contract-Neutral: Reorder existing frontend CI commands only; no product interface, dependency graph, bundle budget or required-check change.
Change-source: pulse-maintainer
Additively integrate published main dcb69cfb02 while retaining reviewed tip 52fe83d266 and every accepted commit. Preserve both subsystem contracts and independent alert tests. Reconcile the reactive row-history helper with reviewed memory provenance and visible freshness cues; exact source, browser and protected checks remain required.
Change-source: pulse-maintainer
PlatformResourceTable was the only renderer of UnifiedResourceTable, and
nothing imports it. Every platform page (Proxmox, Docker, Kubernetes,
TrueNAS, vSphere, Machines) renders its own native tables, and
/infrastructure only shows the opening-workspace placeholder. A
production build of main already tree-shook the whole cluster (none of
its strings ship), yet it still carried 11 source files, 7 test files,
registry ownership in two subsystems and contract rules for a table
nobody sees.
Removed: PlatformResourceTable and its PLATFORM_STATUS_FILTER_OPTIONS;
UnifiedResourceTable with its host, service, PBS and PMG cards, source
badge cell, state hook, viewport sync and models; and
ClusterDeployBanner, which only the host card rendered (the live cluster
deploy flow is the Settings ClusterAgentDeployDialog). Their tests go
with them.
Coverage for live code those tests also exercised is kept: the detail
mapper no-fetch boundary and the online boolean sensor case move to
resourceDetailMappers.test.ts, the ResourceFacetSummary render cases
move to their own test file, and both files become registered proofs for
the policies that govern their subjects. Guardrail tests, the shared
template registry, registry.json, status.json evidence and the
performance, unified-resources, frontend-primitives and cloud-paid
contracts drop the deleted paths and the rules that only governed them.
Rollup used to name the large shared chunk after sharedPlatformPage; it
now names it MetricBar, so the bundle baseline entry is re-keyed at its
measured size.
Carry the exact validated six-file correction from 7699c5e3 and 29ad279b onto the current assignment without importing their unrelated frontend ancestry. Let reports separate failing server, agent and platform versions from an observed working baseline; preserve unknowns, passive evidence and API-only setups. Original candidates and adverse proofs remain unchanged.
Contract-Neutral: Community intake fields, mirrored guidance and regression tests only; runtime, release, installer and label automation contracts are unchanged.
Change-source: pulse-maintainer
Compile all race-test binaries without execution only when source, graph, backend embeds or this admission path can affect Go. Preserve required check failures, docs/frontend-only skips and all full runtime/vet and frontend audit checks. Exercise inert and broken fixtures, diff classification and prerequisite propagation.
Change-source: pulse-maintainer
Retain exact candidate d66afd1648 and its source-aqp2m1i5 proof. Reject deterministic mirror faults before dependency work at four CI entrypoints without removing existing checks or changing runtime source.
Change-source: pulse-maintainer
PR2576's deterministic mirror failure admitted expensive frontend, backend and browser work that could not land. Run the existing whole-tree checker before dependency work in the build admission job and all three E2E entrypoints, retaining every existing check, secret scan and test gate. Exercise the actual workflow commands with synced, stale and orphaned guides.
Change-source: pulse-maintainer
Complete the remaining verification from fda52d78 after the equivalent mirror repair reached the assigned source. Check every target and workload precaution in both copies so the focused intake check cannot pass on repository guidance alone.
Contract-Neutral: Verification-only coverage of established intake precautions; no contract or runtime change.
Change-source: pulse-maintainer
The declared 80-case trace reproduced a stopped watchdog running its inherited EXIT cleanup before classification, deleting a captured critical finding. Guard cleanup by Bash subshell ownership, including Bash 3.2, and exercise the actual hook with a deterministic child-exit control and a rejected legacy hook. Retain parent cleanup and every existing audit verdict and deadline.
Contract-Neutral: Repair captured-report lifetime only; advisory classification, strict and inherited verdicts, invocation scope, retry budgets and external permissions remain unchanged.
Change-source: pulse-maintainer
The VM clarification in #1891 exposed container advice selected from the original topic rather than the affected workload. Clarify the existing summary and installation fields and preserve the distinction in triage, using already observed responsiveness without another update, backup or guest-agent probe. No extra required field or reporter refile is introduced.
Contract-Neutral: Existing intake descriptions and triage guidance only; form fields, validation, labels, automation and runtime contracts are unchanged.
Change-source: pulse-maintainer
Preserve the exact Web candidate and rendered-help proof. Require independent thaw, every-covered-filesystem writes and liveness, and restore only prior-active service and timer states. No native recovery is claimed.
Change-source: pulse-maintainer
Preserve the exact Product intelligence candidate. Add scoped read-only state and image inspection to the existing Docker guide without retrying an uncertain update or claiming installed recovery.
Change-source: pulse-maintainer
Accept the exact Delivery candidate with helper-only trigger coverage, bounded Linux race suites and a helper build. Runtime authority, installed recovery and frontend behavior are unchanged.
Contract-Neutral: Native source-verification coverage only; installed helper authority, signed migration, isolation and guest-recovery contracts are unchanged.
Change-source: pulse-maintainer
Give Docker operators the missing host, container and bounded inspection steps before another update, retaining image and receipt uncertainty without exposing configuration.
Contract-Neutral: Existing documentation and synthetic recipe checks only; no runtime, action, permission or update-contract change.
Change-source: pulse-maintainer
Put thaw, every-covered-filesystem writes and workload liveness in the opening precaution. Keep post-backup evidence independent of Pulse and QGA, spell out the four prior service/timer states and verify timer restoration without starting a previously inactive server. Cover the rendered decision table and preserve the documented command allowlist.
Contract-Neutral: Clarifies the existing manual backup precaution and prior-active restoration; no collector, service, scheduling, permission or frontend runtime contract changes.
Change-source: pulse-maintainer
The native workflow did not admit helper/protocol/filesystem/signature-only edits and omitted their suites. Extend its existing Linux jobs with bounded uncached race coverage and an actual helper build, preserving ordinary-user execution and all installed/PVE acceptance boundaries. Regression controls reject missing triggers, platforms, packages and hidden failure.
Contract-Neutral: Native source-verification coverage only; installed helper authority, signed migration, isolation and guest-recovery contracts are unchanged.
Change-source: pulse-maintainer
Replace blanket cookie clearing and hash escaping with source-specific, non-destructive guidance. Keep local lockout, SSO, browser sessions, API scopes and CSRF distinct, and link the existing private recovery recipes. Add six documentation/source-consistency checks and keep the served guide identical.
Contract-Neutral: Documentation and text/source-consistency tests only; existing authentication, permissions, cookies, lockout and request behaviour are unchanged.
Change-source: pulse-maintainer
Retain both reviewed commit identities and the exhaustive measured-weight selector. Current-source enumeration, actual workflow failure controls and focused contract proof are adequate for this CI-only diff; failed ISO preparation remains unresolved, not a suite verdict.
Change-source: pulse-maintainer
Bring the existing contribution guide and shipped copy in line with live diagnostic behaviour and safe intake: reuse displayed results, defer checks during backup or host incidents, review every public attachment and accept passive or unavailable performance evidence. Four discovered guidance tests protect these distinctions; no runtime or new surface changes.
Contract-Neutral: Existing reporting guidance and its tests only; diagnostic runtime, issue form fields, label automation and release contracts are unchanged.
Change-source: pulse-maintainer
Reconcile the reviewed disclosure with batch-start upstream 478a03b9ed. Retain early cuts, no scheduled patch releases, promotion enforcement and the user-facing release guide without losing private-support, independent-review or containing-version claims. Extend the focused disclosure assertions to retain the merged guidance.
Change-source: pulse-maintainer
Preserve exact candidate e0ea064e8f and its privacy, independent-review and verified-availability corrections. Resolve the overlapping disclosure to the reviewed text; preserve upstream early-cut, no-patch and user-guidance details in an additive follow-up.
Change-source: pulse-maintainer
Two completed PR runs put 24 minutes of overlapping package test time on rest-1 versus 14 on rest-0. Assign whole package binaries deterministically by recorded cost while deriving exhaustive coverage from the checked-out go list. Keep both required check names, every race test, failure propagation and the separate contiguous internal/api shards unchanged.
Contract-Neutral: Rebalance existing CI work only; no runtime, required-check, exhaustive coverage, race-test or dependency-admission contract changes.
Change-source: pulse-maintainer
Remove obsolete selective-backport, model scheduling and automated email claims. Explain all-main cuts, frozen candidates, checked release availability and independent source review on the existing disclosure page and its shipped mirror.
Change-source: pulse-maintainer
Exercise a receipt-only follow-up over unverified outgoing source rather than an unchanged source range, explicitly retain the CI skip when only metadata changes, and compare receipt tree identities across a merge instead of Git display headings. The existing range guard and receipt admission policy are unchanged.
Contract-Neutral: Test-only corrections establish the existing local and CI browser admission semantics without changing production or contract behaviour.
Change-source: pulse-maintainer
Since 4 October 2026 releases are mechanical: the release train cuts the
next minor from main 14 days after the last stable (or earlier on
request), soaks the release candidate on Preview for 24 hours, and
promotes it unchanged unless an open release-blocker issue stops it.
The shipped release docs, the promotion policy, the checklist, the source
of truth, several governance pages and two workflow comments still
described the retired model: release lines, steward judgment, 72-hour
soaks, a nightly rehearsal and patch releases scheduled by severity.
State the train's rules once, in the Release Train section of the
promotion policy, checked against the train itself, and point the rest
at it. Remove the unused internal copy of the promotion resolver, which
still enforced the old 72-hour soak.
Merge published upstream through fac0cf1652 without rewriting either history. Preserve the locally reviewed Windows command-client cleanup when resolving its equivalent upstream patch. All incoming frontend files retain their exact upstream content and original receipt. The supplied 6bf99407 preflight candidate remains unintegrated pending its own exact-source regression proof.
Contract-Neutral: Upstream convergence preserves published source identities and existing cleanup behavior; no new runtime or receipt semantics are authored by this merge.
Change-source: pulse-maintainer
An amber vSphere datastore or network gave no reason on its row: the
vCenter alarm behind it sat one click away in the drawer or one tab
away on the Overview. The alarm text itself led with boilerplate
("Network network-302 has VMware alarm ... (yellow)"), so the Overview
truncated the part that mattered.
A vCenter incident summary is now what vCenter flagged: the alarm's
own name, or "vCenter health is <colour>". Every surface that shows
it already names the resource and severity. Alert cards, notification
templates, and Patrol titles carry the resource name. Patrol's seed
context now names the resource on each alert line, and Patrol titles
key off the incident code instead of parsing the wording, while still
reading records persisted in the old form.
The alert card used to find vSphere by looking for "vmware" in the
message. It now routes on the incident provider, which also sends ESXi
host alarms to vSphere instead of to Machines, where hosts are not
listed. The card's own test becomes a registered alerts proof.
The Datastores and Networks tables gain the exception-first Health
column that TrueNAS storage uses. The cell moves into a shared
PlatformIssueReason, so the two platforms cannot drift; TrueNAS
renders the same. A row's dot and its reason now come from one
classification. Hosts shows only from a 72rem container, where it
reads instead of truncating, and the tablet band splits columns by
weight.
Use the existing CI range guard in local pre-push validation so missing, stale, partial or invalid final-content browser proof cannot produce a green local verdict. Bind the outgoing range to exact commits and its common ancestor, preserving honest own-parent receipts when upstream advances or merges. A refused receipt stops before compilation and type-checking; changed-graph strict audit and all protected rules stay unchanged.
Contract-Neutral: Local preflight now invokes the existing browser evidence rule; production code, receipt admission semantics and protected CI policy are unchanged.
Change-source: pulse-maintainer
Reproduce the local pre-push gap with real disposable Git histories and the existing browser receipt guard: missing, stale, partial, wrongly parented and nonpassing proof must not receive a local green verdict. Valid own-parent receipts and merges must remain usable without rebinding; upstream-only changes are not outgoing work.
Contract-Neutral: Test-only local delivery admission controls; no runtime, browser receipt rules or protected delivery policy change.
Change-source: pulse-maintainer
A composed stylesheet can differ from every earlier browser receipt. Show the final digest and bounded valid receipt origins so its owner can identify the exact missing pass without manually reconstructing source and parent identities. Invalid receipts never supply hints, and all existing admission rules stay enforced.
Contract-Neutral: Diagnostics only; browser receipt validation, coverage and admission rules are unchanged.
Change-source: pulse-maintainer
Close the connected exit-propagation gap in the CI service harness: a version or sc.exe query that prints plausible text but exits nonzero must not become accepted evidence. Check each captured native exit before inspecting the text, retaining the existing checked installer invocation.
The workflow and harness regressions now cover twelve native boundaries. Controlled PowerShell execution remains required by native Windows CI and explicitly unavailable in the offline Linux guest; production installation, service operations and customer acceptance are not inferred.
Contract-Neutral: CI proof verdict propagation only; production agent, installer, service lifecycle and permission contracts are unchanged.
Change-source: pulse-maintainer
PowerShell steps containing multiple native commands only expose the last exit to Actions. Check all agent build/version/self-test and lifecycle build/invocation exits immediately, keeping the original status in the error. A later success can no longer conceal an earlier failure or start lifecycle mutation after a failed build.
The regression validates all seven workflow boundaries, rejects each missing guard and tolerant steps, and runs the actual guards against controlled native exits when PowerShell is available. Windows CI requires that runtime regression; offline Linux explicitly retains the unavailable runtime as a skip.
Contract-Neutral: Native CI verdict propagation only; production agent identity, installer behaviour, service lifecycle and authority are unchanged.
Change-source: pulse-maintainer
Consume the full change list so an early dependency-path match cannot make printf receive SIGPIPE under pipefail and select inherited-advisory warning mode. Exercise the actual workflow classifier and real audit runner with bounded offline controls, including a critical finding; exact paths and existing audit policy stay unchanged.
Contract-Neutral: Repair the existing complete-list classification obligation only; strict dependency paths, inherited-warning policy, audit verdicts, permissions and publication contracts are unchanged.
Change-source: pulse-maintainer
Run the existing bounded strict audit before expensive local checks when frontend manifests or its audit runner change. Fail missing frontend dependencies rather than print a passing pre-push verdict after a skipped type-check. Preserve per-commit contract binding, CI gates and the inherited-advisory policy; execute real disposable Git and canned-provider orchestration controls without an external advisory query.
Contract-Neutral: Local developer preflight now reports incomplete checks honestly; no runtime, API, dependency graph or protected CI policy changes.
Change-source: pulse-maintainer
Retain the audit child's exit status alongside its captured report. Failed or stopped zero-count reports stay unavailable; positive findings still stop re-query and the existing unchanged-graph warning policy is preserved. Exercise failure, signal and real watchdog controls, and model npm's clean terminal status in the smoke provider.
Change-source: pulse-maintainer
Accept Delivery candidate 20261006T015404Z-delivery-trust with its exact six commits. Retain verified binary and VERSION backups on incomplete recovery, restore original paths and metadata, and avoid activating partial restores. Reviewed signed offline transaction and installer evidence source-vz0ldvxn; native systemd and released acceptance remain separate.
Change-source: pulse-maintainer