Commit Graph

10106 Commits

Author SHA1 Message Date
pulse-triage[bot] 9025ea91a2 Name infrastructure dialogs from visible context
Change-source: pulse-maintainer
2026-09-01 12:20:52 +01:00
pulse-triage[bot] feafe5b8cb Keep chart narration within copy style
Change-source: pulse-maintainer
2026-09-01 12:20:52 +01:00
pulse-triage[bot] 351386bce7 Bound PDM and updater metadata responses
Change-source: pulse-maintainer
2026-09-01 12:20:52 +01:00
rcourtman dcbdf86a80 Keep the docs guard out of the branch-tip link scan
The new commit-time docs-mirror guard carries the forbidden branch-tip
docs URL as a scan constant, and the repo-wide link-drift smoke test
flagged the guard's own source for containing it, failing Script smoke
tests on main. Assemble the constant from parts so the runtime value is
unchanged while the literal never appears in the file. Both the drift
test and the mirror check pass locally at head.
2026-09-01 12:17:00 +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] ca2e296ce3 Make history charts readable to assistive tech
Change-source: pulse-maintainer
2026-09-01 11:48:41 +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] b1feb10b3f Preserve standalone Proxmox node labels after agent merge
Change-source: pulse-maintainer
2026-09-01 11:26:52 +01:00
rcourtman 60d0651a88 Cancel abandoned typed agent operations 2026-09-01 11:21:26 +01:00
rcourtman d28666c396 Guard shipped docs mirror sync at commit time
Docs under frontend-modern/public/docs are byte-for-byte copies of repo
docs, but the only guard was a CI vitest the git hooks never run. On
2026-09-01 two commits (f4886c2dfb, f313882a7b) each edited a mirrored
doc without its copy, passed the hooks, and broke main's Frontend job.

Add scripts/check_docs_mirror.py with an index-blob --staged mode wired
into the pre-commit hook: a commit that stages either side of an
out-of-sync pair (or an orphan shipped copy) fails with the exact sync
command, while pre-existing drift from other commits only warns. The
worktree mode runs as a named step in the public-docs workflow, with
unit tests in scripts/tests picked up by the existing runner. The
docsLinks vitest stays as the CI backstop.

Build-time generation of public/docs was considered and rejected: the
shipped set is a curated subset (61 of 421 docs), so generation still
needs a hand-maintained manifest while adding build, dev-server, and
test-order coupling.
2026-09-01 11:16:05 +01:00
pulse-triage[bot] b2339115ed Merge current upstream before publication
Preserve the reviewed maintenance batch while incorporating the shipped CODE_SIGNING_POLICY mirror synchronization from origin/main.

Change-source: pulse-maintainer
2026-09-01 11:05:51 +01:00
rcourtman b46240941a Sync shipped CODE_SIGNING_POLICY.md with the repo doc
f313882a7b added the container provenance pinning paragraph to docs/ only,
so the docsLinks drift guard failed the Frontend job on main, the same
shape as the UNIFIED_AGENT.md miss earlier today. Copy the updated doc
into the shipped public/docs mirror; the guard test passes (14/14).
2026-09-01 11:03:30 +01:00
pulse-triage[bot] f7d7e7af8c Clarify external watchdog direction
Change-source: pulse-maintainer
2026-09-01 11:00:03 +01:00
pulse-triage[bot] ba833e53c0 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 11:00:03 +01:00
pulse-triage[bot] 434f777a59 Keep collapsed threshold controls out of focus
Change-source: pulse-maintainer
2026-09-01 10:46:05 +01:00
rcourtman 4e22a49f02 Add native PVE action qualification harness 2026-09-01 10:43:35 +01:00
pulse-triage[bot] abd80f8a6f Bound discovery probe response bodies
Change-source: pulse-maintainer
2026-09-01 10:37:26 +01:00
pulse-triage[bot] faf69f76e6 Keep workflow outputs out of generated shell
Change-source: pulse-maintainer
2026-09-01 10:16:41 +01:00
pulse-triage[bot] a8f53e8847 Keep Patrol finding handoffs in context
Change-source: pulse-maintainer
2026-09-01 10:16:41 +01:00
pulse-triage[bot] b8158dce29 Keep PBS write evidence poll-scoped
Cached incomplete snapshots could retain an earlier no-writer observation when both the snapshot refresh and current task query failed. Reset task evidence before each live read so degraded visibility remains unknown and conservative.

Change-source: pulse-maintainer
Contract-Neutral: poll-scoped PBS task evidence cache correction; behavioral bug fix, no wire contract change
2026-09-01 10:16:41 +01:00
pulse-triage[bot] 6962b096de Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 10:05:53 +01:00
pulse-triage[bot] f313882a7b Pin container provenance workflow revision
Change-source: pulse-maintainer
2026-09-01 09:56:14 +01:00
rcourtman cbd95d0141 Make Go module security floors real floor checks
The dependency-floor smoke test asserted exact go list output, so the
maintainer lane's legitimate x/crypto v0.55.0 bump (which moved x/net to
v0.57.0) failed the Script smoke tests job on main even though both
versions clear the advisory floor. Compare versions with sort -V against
the advisory-safe minimum instead: upgrades pass, only a downgrade below
the floor fails. Verified the failing direction and the equal-version
case locally.
2026-09-01 09:54:59 +01:00
pulse-triage[bot] fc691c3a05 Require hosted provenance for release containers
Change-source: pulse-maintainer
2026-09-01 09:36:24 +01:00
rcourtman 01ff388c7e Preserve native Proxmox guest handoff 2026-09-01 09:31:40 +01:00
pulse-triage[bot] 28be044e14 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 09:06:05 +01:00
rcourtman b9f7df32df Sync shipped UNIFIED_AGENT.md with the repo doc
f4886c2dfb added the per-node cluster install note to docs/ only, and the
docsLinks drift guard rightly failed the Frontend job on main. Copy the
updated doc into the shipped public/docs mirror; the guard test passes.

Refs #1816
2026-09-01 09:05:45 +01:00
pulse-triage[bot] 412c75bd1b Keep Home investigation links scoped
Refresh the retained browser proof receipt parent for canonical integration; intervening changes do not touch frontend runtime paths.

Change-source: pulse-maintainer
2026-09-01 08:47:52 +01:00
pulse-triage[bot] f12c4007ab Serialize stable demo operations
Change-source: pulse-maintainer
2026-09-01 08:47:52 +01:00
pulse-triage[bot] 696cb39c08 Bound container stats response bodies
Change-source: pulse-maintainer
2026-09-01 08:47:51 +01:00
pulse-triage[bot] b49b3d89f4 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 08:18:37 +01:00
rcourtman 3f4ea6f640 Stop same-hostname standalone sites collapsing at presentation
Two hand-added standalone Proxmox connections whose machines are both
natively named pve survived the state-layer identity fixes but still
collapsed in the presentation host coalesce: a provider node row carries
no machine identity of its own, so once the site agents connected, one
site's node row absorbed an agent row on the shared short hostname and
the other site's node row folded into it. Input ordering varies per
snapshot, so the surviving row alternated between sites on every
refresh, which is exactly the reported NODES 1 view with the VM count
flipping 11/18 and the Agent badge hopping rows on v6.4.1.

Add a provider-scope veto mirroring the state rule: node facets from
different connection instances only merge with same-machine proof (same
node identity, same non-empty cluster, or same endpoint host). In a
bucket holding two distinct provider scopes, an agent row now attaches
only to the node whose state-layer agent link names it, instead of the
first compatible row. The merged row also keeps the Proxmox node row's
display-name-aware name instead of the agent's bare reported hostname,
which is the original 'Node Name field not observed' complaint.

Validated: internal/unifiedresources, internal/monitoring, and
internal/api green on linux/amd64 with the change.

Refs #1753
2026-09-01 06:38:34 +01:00
rcourtman f4886c2dfb Document per-node agent installs for PVE clusters
The generated install command is host-generic, but nothing said so, and
cluster operators kept asking how to cover every member (#1816, #1618).
State it in the agent Quick Start next to the command generator pointer.

Refs #1816
2026-09-01 06:36:02 +01:00
rcourtman 2ad094c927 Deflake typed action containment tests
The group-writable executable check wrote its fixture through os.WriteFile,
which filters the mode through the process umask, so under the runner's 022
umask the group-write bit never reached disk and validateTrustedExecutable
correctly trusted the file. Chmod the fixture to the asserted mode.

The Proxmox guest executor tests stamped their after observations one second
past the test-start clock, but actionStartedAt is stamped inside
ExecuteAction after handler setup, so a loaded runner overran the margin and
the independent observation was discarded as pre-action. Widen the
observation offset to a minute.

Both failures broke build-and-test on main (run 33454838531). Reproduced the
hostagent failure on Linux under umask 022 and verified both packages green
after the fix.
2026-09-01 06:15:46 +01:00
pulse-triage[bot] 6a104f07e8 Keep Home investigation context accessible
Change-source: pulse-maintainer
2026-09-01 02:43:59 +01:00
pulse-triage[bot] ba727edf12 Refresh trusted checkout action
Change-source: pulse-maintainer
2026-09-01 02:31:08 +01:00
pulse-triage[bot] 5375db5244 Keep fleet refresh failures visible
Change-source: pulse-maintainer
2026-09-01 01:41:09 +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] 3acc255559 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 01:41:09 +01:00
pulse-triage[bot] d82baf718d Update Go crypto dependency
Change-source: pulse-maintainer
2026-09-01 01:28:27 +01:00
rcourtman f9ae289bd5 Contain typed action subprocesses with systemd 2026-09-01 01:26:39 +01:00
pulse-triage[bot] 8cd65a3f24 Keep missing health telemetry non-green
Change-source: pulse-maintainer
2026-09-01 01:03:53 +01:00
pulse-triage[bot] c253495045 feat: add fleet health home
Change-source: pulse-maintainer
2026-09-01 01:02:17 +01:00
pulse-triage[bot] 2222c5ce37 Make security review baseline fail closed 2026-09-01 01:02:17 +01:00
pulse-triage[bot] 3fc25e5934 Bound AI provider HTTP responses 2026-09-01 00:56:50 +01:00
pulse-triage[bot] 1b536d4956 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 00:29:08 +01:00
pulse-triage[bot] 542b275b11 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 00:27:23 +01:00
rcourtman cd2eac71b2 Keep helper rollback recovery persistent 2026-09-01 00:26:37 +01:00
rcourtman ac47e67878 Harden helper quarantine file reads 2026-09-01 00:07:32 +01:00
rcourtman 4724c0764b Fence runner activation session authority 2026-08-31 23:52:25 +01:00