Commit Graph

734 Commits

Author SHA1 Message Date
pulse-triage[bot] ac92490efb fix(release): mark store-history SLO measurement windows
The failed exact rehearsal buffered the store-history latency assertion, preventing resource telemetry from locating its actual test interval. Extend the existing exact API lifecycle allowlist and cover both targets with synthetic pass/fail fixtures without rerunning product qualification or changing thresholds. This is prospective observability, not clearance of the retained latency or crash evidence.

Change-source: pulse-maintainer
(cherry picked from commit f293d6fe33)
2026-09-09 13:41:38 +01:00
pulse-triage[bot] 672a80fa31 fix(release): retain streamed stress-test timing evidence
Buffered package logs cannot map the API stress-test failure to resource telemetry. Stream Go events and retain a bounded target lifecycle with distinct event, receipt and resource collection times, while preserving readable output and pipeline failure status. Synthetic decoder and worker tests cover pass, skip, failure and unavailable telemetry; this does not clear historical qualification or authorise a replay.

Change-source: pulse-maintainer
(cherry picked from commit 4462e43288)
2026-09-09 13:41:38 +01:00
pulse-triage[bot] 5f14b44278 chore(release): retain bounded backend resource evidence
The held latency failure lacks contemporaneous resource context, and isolated passing samples do not explain it. Retain allowlisted backend boundary counters including cgroup ancestors in the existing durable log, preserving backend failures and unchanged qualification thresholds. Focused tests cover failure exits, unavailable telemetry, ancestor collection and environment filtering.

Change-source: pulse-maintainer
(cherry picked from commit b116f2defc)
2026-09-09 13:41:23 +01:00
rcourtman bad8c4fc6b Publish reviewed release snapshots independently of branch tips
Continuous development must not change the source of an admitted release.
Allow the workflow to run at the qualified preparation PR head after its
normal merge, verifying exact source and workflow identity, canonical PR
provenance, and ancestry in the governed release line. Later branch commits
remain outside that release. Document the immutable-candidate contract and
verify source workflow compatibility before qualification.

Validation: snapshot identity and workflow contract tests passed, including
wrong-head, wrong-base, fork, unmerged and unbound dispatch rejection. The
existing release workflow promotion policy test also passed.

(cherry picked from commit b64709e7b7)
Change-source: pulse-maintainer
2026-09-07 21:26:02 +01:00
pulse-triage[bot] b03041cdb6 Test release dispatch identity guard against commit drift
The candidate publisher rejected its admitted SHA input. Execute the backported workflow guard in focused tests so accepting the input cannot silently permit source or workflow drift before checkout.

Change-source: pulse-maintainer
2026-09-07 12:50:23 +01:00
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
rcourtman 148df87f06 fix(release): backport canonical browser workspace identity repair
Backport PR1948 for the candidate preflight EACCES regression. Resolve main-only context by preserving release/v6.4 fixed smoke ports and omitting its unavailable PULSE_E2E_BASE_URL variable. No runtime changes, ACL widening, CLI download fallback or gate waiver. Supersedes the proposed ae1ac6ae95 and 0d0b105352 stack; normal reviewed source landing and exact qualification remain required.

(cherry picked from commit 8b73085e82)

Change-source: pulse-maintainer
2026-09-07 08:37:02 +01:00
pulse-triage[bot] 9d3b31a7b9 fix(release): bind forward 6.4.4 checkpoint to release train
The held regression candidate needs an honest forward beta above published 6.4.3-rc.1. Bind only 6.4.4 to release/v6.4 without capturing patch 40 or weakening candidate checks. Exercise the actual release and rehearsal branch-policy shell and retain historical rollback mapping.

Change-source: pulse-maintainer
(cherry picked from commit 64dba483d0)
2026-09-06 17:55:49 +01:00
rcourtman 56e51e622e Merge pull request #1825 from rcourtman/topic/release-train
Adopt the release train: promote the soaked candidate, not the branch tip
2026-09-02 02:08:32 +01:00
rcourtman df7ad9be43 Adopt the release train: promote the soaked candidate, not the branch tip
Stable promotions built whatever the dispatch branch was at that second.
The resolver checked that HEAD descends from the promoted release
candidate but never that its content matches, so v6.4.0 shipped 64
changed files, including product code, that v6.4.0-rc.12 had not
soaked. Every v6 version was mapped to main, which now moves every few
minutes under the autonomous maintainer, so each fix to a candidate
brought everything landed since and stable was never an exact soaked
commit. Five of six stable minor releases shipped under version-bound
owner exceptions that waived the soak.

From v6.5.0 the release train applies (RELEASE_PROMOTION_POLICY.md,
"Release Train"): a two-week train sized to measured velocity, a
release/v6.N branch per train declared in the control plane so the
workflow refuses a dispatch from anywhere else, a stable promotion that
may differ from its candidate only in release metadata unless
hotfix_exception names active customer harm, and a seven day soak for
minor releases. The 6.4.x line stays on main so the v6.4.3-rc.1
candidate already prepared there is unaffected. The gap is registered
as coverage gap release-train-exact-candidate-promotion.
2026-09-02 01:17:38 +01:00
rcourtman 73b3d8eff3 Complete rootful artifact source closure 2026-09-02 00:07:39 +01:00
rcourtman 500cc1bf17 Harden rootful qualification evidence boundary 2026-09-01 23:53:36 +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 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 60041ad9e6 Validate each rootless socket identity 2026-09-01 21:26:49 +01:00
pulse-triage[bot] b658a8361f Align release policy with safe workflow outputs
Change-source: pulse-maintainer
2026-09-01 18:32:39 +01:00
rcourtman 53267e149d Harden least-privilege installer lifecycle state 2026-09-01 15:53:02 +01:00
pulse-triage[bot] 1ef5618190 Verify exact release activation bytes
Change-source: pulse-maintainer
2026-09-01 13:29:06 +01:00
pulse-triage[bot] dc4639460a Bind continuity checks to activation asset bytes
Change-source: pulse-maintainer
2026-09-01 12:47:16 +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] a34f3c752b Keep convergence evidence off sealed releases
Change-source: pulse-maintainer
2026-09-01 11:38:55 +01:00
pulse-triage[bot] f313882a7b Pin container provenance workflow revision
Change-source: pulse-maintainer
2026-09-01 09:56:14 +01:00
pulse-triage[bot] fc691c3a05 Require hosted provenance for release containers
Change-source: pulse-maintainer
2026-09-01 09:36:24 +01:00
pulse-triage[bot] e1bce8b77f Build release payloads on ephemeral runners
Change-source: pulse-maintainer
2026-09-01 01:41:09 +01:00
pulse-triage[bot] bd146586e8 Make release continuity failures actionable
Change-source: pulse-maintainer
2026-08-31 21:20:30 +01:00
rcourtman 5754d924d7 Add rootful Docker secure-runtime qualification 2026-08-31 18:13:22 +01:00
pulse-triage[bot] da36bcd482 Keep subsystem lookup tests checkout-independent
Change-source: pulse-maintainer
2026-08-31 16:00:47 +01:00
rcourtman cdfcac5756 Refresh v6.4.2 final cutoff 2026-08-31 13:46:43 +01:00
pulse-triage[bot] 164b747e83 Make contract audit tests checkout-independent 2026-08-31 12:26:33 +01:00
rcourtman f47ac1f020 Define beta and RC release maturity 2026-08-31 11:42:03 +01:00
rcourtman 70c1d0a178 Authenticate RC artifacts before qualification 2026-08-31 09:49:41 +01:00
rcourtman 7650fdaba3 Wire secure runtime RC qualification 2026-08-31 01:50:48 +01:00
Richard Courtman d3884d64db Prepare v6.4.2 security patch 2026-08-31 01:03:09 +01:00
pulse-triage[bot] eb0d17c282 Restore trustworthy governance signals 2026-08-31 00:55:44 +01:00
Richard Courtman 08f7c5f0d5 Harden secure agent runtime boundaries 2026-08-31 00:06:24 +01:00
Richard Courtman a8bc2e044b Qualify helper-backed agent update recovery 2026-08-30 21:54:46 +01:00
pulse-triage[bot] e094a55b45 Integrate typed helper container summaries 2026-08-30 21:29:11 +01:00
pulse-triage[bot] cb079c9de0 Publish portable candidate build provenance 2026-08-30 20:34:04 +01:00
Richard Courtman b369dc5410 Accept canonical schema-v4 runtime evidence 2026-08-30 18:58:49 +01:00
Richard Courtman 77afff4f60 Bind action runner to enrolled agent identity 2026-08-30 18:49:12 +01:00
Richard Courtman 65bec55229 Exercise pending runner activation in systemd lab 2026-08-30 18:24:29 +01:00
Richard Courtman 98e8f86806 Harden secure runtime qualification provenance 2026-08-30 18:17:36 +01:00
pulse-triage[bot] d732b5a9e8 Restore scoped governance audit signal 2026-08-30 17:01:44 +01:00
Pulse Test 7e92ac8118 Harden secure runtime separation boundaries 2026-08-30 14:26:01 +01:00
pulse-triage[bot] 7d9e77ff32 Continuously verify stable container aliases 2026-08-30 13:55:41 +01:00
pulse-triage[bot] 9393b710da Preflight immutable release publication 2026-08-30 12:55:51 +01:00