Commit Graph

461 Commits

Author SHA1 Message Date
pulse-triage[bot] 8f516a014b Bind release dispatches to the admitted commit
A workflow dispatch by branch can resolve after that branch moves, allowing an unreviewed tip to enter the release pipeline. Require every publishing dispatch to name its expected source SHA and make the workflow reject a different source or workflow commit before checkout.

Change-source: pulse-maintainer
(cherry picked from commit a461fc9c0a)
(cherry picked from commit f503b13442)
2026-09-07 12:49:23 +01:00
pulse-triage[bot] 2455c36112 chore(release): prepare v6.4.4-beta.1 checkpoint
Advance the protected v6.4 release line to the bounded alert-reliability beta, align install and chart metadata, and add the user-facing packet. Extend same-commit package and installer proof so alpha, beta, and RC preparation is governed without weakening the completion guard. Disclose the fresh stable Retry/Dismiss 503 report without claiming this candidate repairs that installed failure.

Change-source: pulse-maintainer
2026-09-07 10:45:36 +01:00
pulse-triage[bot] 425c98d6db ci: retain exact benchmark collection provenance
PR #1933 failed paired normalization benchmarks despite unchanged hot-path source. Preserve actual checkout identities, selected toolchains and sample order so investigation does not confuse PR head metadata with measured source. Keep thresholds and sample collection unchanged.

Change-source: pulse-maintainer
(cherry picked from commit cbfe0d8eac)
2026-09-06 14:31:11 +01:00
pulse-triage[bot] 3f3d7d6df3 fix(release): run checks on versioned trains
Release-line proposals were receiving documentation and boundary checks while Build and Test and Core E2E excluded release/v* targets. Apply the reviewed branch-admission contract to the active train before publishing further alert regression coverage, without changing existing path or job gates.

Change-source: pulse-maintainer
2026-09-06 01:17:26 +01:00
pulse-triage[bot] 657211f056 Fix portable root ownership for installer lifecycle state
Issue #1890 reports macOS agent updates stopping because the root group does not exist. Use numeric superuser ownership in the two shared lifecycle writes without relaxing failure handling or the least-privilege group boundary. Add a regression fixture that rejects named root ownership and checks that chown failures still prevent replacement.

Change-source: pulse-maintainer
(cherry picked from commit 19c2b6a925)
2026-09-04 22:46:06 +01:00
rcourtman 14a7d0bdaf Merge action-runner replay and Windows portability fixes 2026-09-02 00:16:26 +01:00
rcourtman 500cc1bf17 Harden rootful qualification evidence boundary 2026-09-01 23:53:36 +01:00
rcourtman b763b80680 Build the FIFO lifecycle installer test only on unix
agent_state_dir_lifecycle_test.go calls syscall.Mkfifo, which does not
exist on Windows, so scripts/installtests has failed to compile in the
Windows leg of Unified Agent Native Verification since 53267e149d and the
install.ps1 contract tests there have not run. Every test in the file
drives install.sh through bash and systemd, so tag the file unix-only,
matching the other lifecycle lab files. GOOS=windows go vet now passes.
2026-09-01 23:05:22 +01:00
rcourtman 584cef81a1 Add rootful runtime qualification packet 2026-09-01 22:40:50 +01:00
pulse-triage[bot] 5fb7177b8a Require compiler dispatch run details
Change-source: pulse-maintainer
2026-09-01 22:26:46 +01:00
rcourtman 96a4dceb9d Pin umask 022 in installtests so trust fixtures are host-independent
install.sh refuses connection state, token, and lifecycle files whose
parent directory is group- or world-writable. The fixtures build those
parents with t.TempDir, which inherits the process umask, so on a worker
with umask 002 the state directory came out 775 and seven TestInstallSH
cases failed on the pulse-dev release preflight while passing on GitHub
runners and macOS. Set umask 022 for the package on unix so the tests
prove the installer contract rather than the host's umask.
2026-09-01 22:20:15 +01:00
rcourtman 62bfdbca7e Prepare v6.4.3-rc.1 release
Open the v6.4.3 candidate line from main. The v6.4.2 tag was staged on
2026-08-31 but never activated: its release run was cancelled after the
private Pro build failed the compiler memory gate, so the latest published
stable is still v6.4.1. This candidate carries the complete v6.4.2 change
set plus the corrections landed since that tag, including the stale PBS
Backup Running state (#1815), the Windows Unified Agent auto-update 404
(#1820), and shared-token same-hostname agent identity collapse (#1753).

Packet: VERSION, compose and install-docker defaults, Helm chart metadata,
release notes with a declined visual plan, changelog, pointer docs and
the shipped docs mirror, and the deployment-installability cutoff note.
Rollback target is v6.4.1 and the mobile decision is no-mobile-impact.

Tests: the packet tests now describe the 6.4.3 train, v6.4.2 is recorded
as an unpublished stable so it is never derived as the previous stable or
rollback target, and the Python v6.4.2 notes expectation matches the
phrase the notes actually use.
2026-09-01 21:37:41 +01:00
rcourtman bc3dd3b704 Give rootless qualification hosts unique identities 2026-09-01 21:18:24 +01:00
rcourtman f364cfc73b Reset Podman qualification storage on teardown 2026-09-01 20:49:43 +01:00
rcourtman fec53eb39e Wait for rootless runtime mounts to release 2026-09-01 20:26:46 +01:00
rcourtman 089ce2379d Clean runtime fixtures before qualification teardown 2026-09-01 20:13:15 +01:00
rcourtman 19f264701e Wait for stable rootless recovery evidence 2026-09-01 20:01:15 +01:00
rcourtman 861f0f07bc Persist rootless qualification receipts 2026-09-01 19:47:15 +01:00
rcourtman e89eaac9d4 Require VCS metadata in rootless packet builds 2026-09-01 19:37:23 +01:00
rcourtman 67dce69e73 Remove safe profile state on uninstall 2026-09-01 19:28:01 +01:00
rcourtman 3d6116d17f Handle unloaded user manager cleanup 2026-09-01 19:08:53 +01:00
rcourtman 4db44f7a26 Handle unloaded user manager teardown 2026-09-01 18:59:01 +01:00
rcourtman 5c276d1037 Use portable helper network canary 2026-09-01 18:48:52 +01:00
rcourtman 5b47049e3f Exercise ambiguity through typed helper boundary 2026-09-01 18:27:53 +01:00
rcourtman 296d04fffa Make rootless ambiguity proof deterministic 2026-09-01 18:15:20 +01:00
rcourtman 0726312e5c Bound rootless ambiguity probe cancellation 2026-09-01 18:00:26 +01:00
rcourtman 0e944562e9 Restore telemetry parity after rootless daemon restart 2026-09-01 17:36:08 +01:00
rcourtman 6a45460aff Handle collected transient units in rootless qualification 2026-09-01 17:28:05 +01:00
pulse-triage[bot] f8de8b90ce Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 17:24:14 +01:00
rcourtman 7d7cb44855 Canonicalize rootless telemetry parity hashing 2026-09-01 17:16:30 +01:00
rcourtman bfd53cd7bd Remove privileged helper state on full uninstall 2026-09-01 17:05:49 +01:00
pulse-triage[bot] 8d9b07905c Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 17:04:10 +01:00
rcourtman 69a300827f Model durable collector teardown in rootless qualification 2026-09-01 16:54:50 +01:00
pulse-triage[bot] 4f7a3d0006 Close runner output alias bypasses
Change-source: pulse-maintainer
2026-09-01 16:54:07 +01:00
pulse-triage[bot] 7ead40fe5b Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 16:54:07 +01:00
rcourtman f44968e6c6 Isolate rootless qualification cgroups 2026-09-01 16:37:11 +01:00
pulse-triage[bot] c1c0e5c6f1 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 16:31:15 +01:00
rcourtman 5e471c1dd5 Use supported rootless Docker qualification networking 2026-09-01 16:25:18 +01:00
rcourtman 63d1aca4c0 Fix rootless qualification packet staging 2026-09-01 16:15:21 +01:00
pulse-triage[bot] 9a5af6ff79 Keep Windows agent update signatures addressable
Change-source: pulse-maintainer
2026-09-01 16:11:04 +01:00
pulse-triage[bot] 91d120ea5d Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 16:03:53 +01:00
rcourtman 53267e149d Harden least-privilege installer lifecycle state 2026-09-01 15:53:02 +01:00
pulse-triage[bot] 9c307ed1e4 Continuously verify stable installs
Change-source: pulse-maintainer
2026-09-01 15:15:27 +01:00
pulse-triage[bot] af2fcabe7a Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 12:47:15 +01:00
rcourtman 11aadbfb1b Add rootless runtime qualification harness 2026-09-01 12:29:44 +01:00
pulse-triage[bot] 168f52972a Expose complete stable release continuity failures
Change-source: pulse-maintainer
2026-09-01 12:26:46 +01:00
pulse-triage[bot] b766210c02 Align release contract tests with hardened workflows
Change-source: pulse-maintainer
2026-09-01 12:11:50 +01:00
pulse-triage[bot] a34f3c752b Keep convergence evidence off sealed releases
Change-source: pulse-maintainer
2026-09-01 11:38:55 +01:00
rcourtman 4e22a49f02 Add native PVE action qualification harness 2026-09-01 10:43:35 +01:00
pulse-triage[bot] f12c4007ab Serialize stable demo operations
Change-source: pulse-maintainer
2026-09-01 08:47:52 +01:00