Commit Graph

11270 Commits

Author SHA1 Message Date
rcourtman 301178b7ae Merge pull request #2120 from rcourtman/docs/customer-owned-licensing
Clarify contractor administration of customer-owned licences
2026-09-19 20:02:56 +01:00
rcourtman eac340191b Clarify contractor administration of customer-owned licences
Distinguish independent customer-owned Community, Relay and Pro installations
from provider-owned MSP entitlements so outside IT support alone does not
trigger an MSP requirement. Preserve per-customer subscriptions and the
prohibition on pooling licences across unrelated customers.
2026-09-19 20:00:36 +01:00
rcourtman 4fa1df096e Merge pull request #2116 from rcourtman/fix/csrf-preflight-store
Fix CSRF test initialization for release preflight
2026-09-17 13:06:16 +01:00
rcourtman 39c46011cc test(api): isolate CSRF middleware fixtures
Initialize the persistent CSRF store for middleware tests that construct session-cookie requests, and restore the package test store afterward. This keeps exact release preflight runs from panicking before they can report qualification results.
2026-09-17 12:35:20 +01:00
rcourtman 4ad59c4406 Merge pull request #2114 from rcourtman/chore/portal-vitest-security
chore(portal): patch Vitest security dependency
2026-09-17 01:26:25 +01:00
rcourtman 019852f1f3 chore(portal): patch Vitest security dependency
Update the Pulse Account portal Vitest dependency to 4.1.11, clearing Dependabot security alerts 154 and 155 for Vitest and @vitest/mocker.

Contract-Neutral: Dev-only Vitest security dependency update; no product contract or runtime behavior changed.
2026-09-17 00:32:56 +01:00
rcourtman 95ad983199 Merge pull request #2103 from rcourtman/dependabot/npm_and_yarn/tests/integration/typescript-7.0.2
build(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /tests/integration
2026-09-17 00:32:16 +01:00
rcourtman a7cc23d37b Merge pull request #2102 from rcourtman/dependabot/npm_and_yarn/tests/integration/types/node-26.5.1
build(deps-dev): bump @types/node from 20.19.24 to 26.5.1 in /tests/integration
2026-09-17 00:31:54 +01:00
rcourtman 23fd90e0ce Merge pull request #2105 from rcourtman/dependabot/docker/dot-devcontainer/docker-e75168a720
build(deps): bump golang in /.devcontainer
2026-09-17 00:25:08 +01:00
rcourtman 76a8b06a29 Merge pull request #2108 from rcourtman/fix/token-inventory-reload
Keep agent credentials consistent across monitor reloads
2026-09-15 10:16:55 +01:00
rcourtman 8fad031d95 Keep agent credentials consistent across monitor reloads
Reloading configuration replaced the monitor's config pointer while API and
authentication handlers retained the original object. Tokens created afterwards
could authenticate successfully while Agent Doctor reported an unlisted token.

Refresh the canonical runtime configuration in place before constructing the
replacement manager. Cover repeated reloads, live token creation and revocation.
2026-09-15 09:37:01 +01:00
dependabot[bot] 634bedbd64 build(deps): bump golang in /.devcontainer
Bumps golang in `/.devcontainer` from `9d2f36f` to `3c3e25a`.


Updates `golang` from `9d2f36f` to `3c3e25a`

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: docker
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-15 03:35:13 +00:00
dependabot[bot] 3e8a85ae79 build(deps-dev): bump typescript in /tests/integration
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 7.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-15 03:30:38 +00:00
dependabot[bot] 35ae26bf35 build(deps-dev): bump @types/node in /tests/integration
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 20.19.24 to 26.5.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.5.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-15 03:30:32 +00:00
pulse-triage[bot] 80bb10b09e Merge pull request #2091 from rcourtman/maintainer/b9a6228c06e6411abfa9ee6b150ed863
Preserve settings during security setup and bind stable promotion to observed source
2026-09-15 02:20:27 +00:00
pulse-triage[bot] 6a611905be Scope the dedicated proof to quick security setup
Use an exact runtime-file policy before the general API fallback, so setup preservation evidence cannot substitute for unrelated API changes. Assert both setup routing and unchanged organization/RBAC verification requirements. Retain the original failed broader-registry test evidence.

Change-source: pulse-maintainer
2026-09-15 02:28:17 +01:00
pulse-triage[bot] 6b3780c8a6 Keep API proof registrations in canonical order
Sort the dedicated regression path into the existing exact-file list as required by the registry audit. Accepted proofs and enforcement remain identical.

Change-source: pulse-maintainer
2026-09-15 02:27:13 +01:00
pulse-triage[bot] 5f33ea3a3c Register the dedicated security setup contract regression
The per-commit API guard needs the actual dedicated preservation test declared in its verification registry. Restore that tested artifact and add its exact path to the existing backend API proof list. Retain all existing requirements and reviewed commit identities; no history rewrite, contract-neutral override, or unrelated proof substitution is used.

Change-source: pulse-maintainer
2026-09-15 02:22:04 +01:00
pulse-triage[bot] b5cf4d5cc7 Use the governed follow-up reference shape
Represent the retained L1 maintenance residual with the required kind and id fields so the status audit resolves its owned follow-up.

Change-source: pulse-maintainer
2026-09-15 02:16:52 +01:00
pulse-triage[bot] 8e85d69638 Retain the unresolved maintenance release follow-through
Link the L1 residual to an explicit owned follow-up when claiming the independent settings repair. Source admission, failed checks, installed recovery and exact-candidate observation remain unfinished rather than disappearing with the claim change.

Change-source: pulse-maintainer
2026-09-15 02:16:33 +01:00
pulse-triage[bot] d7e9e61bc5 Bind setup preference regression to API contract verification
Place the authenticated settings-preservation regression in the established API contract proof surface so the owning contract guard consumes its actual assertions, without waiving verification or changing runtime behavior.

Change-source: pulse-maintainer
2026-09-15 02:13:42 +01:00
pulse-triage[bot] f0f7e51d15 Preserve system preferences when rotating local authentication
Quick security setup previously replaced system.json with defaults even for authenticated force reconfiguration. Initialize only absent settings under the persistence save mutex, preserving existing bytes and read failures. Cover credential rotation, custom and malformed settings, missing settings, and read errors without changing authorization or token scopes.

Change-source: pulse-maintainer
2026-09-15 02:11:52 +01:00
pulse-triage[bot] f04c230afb Bind maintenance stable releases to their soaked source
Apply existing candidate content-drift validation to every future stable promotion, including v6.4 patches. Preserve patch and minor soak durations and the explicit hotfix reason path. Extend regression cases to maintenance releases and give historical unit fixtures explicit source paths rather than reading the live checkout.

Change-source: pulse-maintainer
2026-09-15 00:36:23 +01:00
rcourtman e7f36efceb Merge pull request #2089 from rcourtman/fix/pr-validation-refresh
Cancel superseded pull request validation
2026-09-14 23:44:50 +01:00
pulse-triage[bot] c90ecfbe68 Merge pull request #2087 from rcourtman/maintainer/ba2b16974cb14cabadf8c24af4fe4178
Preserve warning-level alert notification preferences
2026-09-14 22:30:53 +00:00
rcourtman 092e988239 Cancel superseded pull request validation
Replacement PR checks were queued behind obsolete runs even after the
previous revision failed. Cancel prior validation only for pull_request
events, preserving completed verdicts for branch pushes and manual runs.

Contract-Neutral: Only PR concurrency changes. Semantic YAML comparison confirms all jobs and triggers, including frontend dependency security checks, are unchanged. No security verification change is warranted. The scheduling contract is updated.
2026-09-14 23:07:22 +01:00
pulse-triage[bot] 10d466e1a3 style(alerts): format warning preference repair
Resolve the PR2087 frontend formatting gate without changing severity behavior or rewriting the reviewed source. Re-run the production-component browser matrix and refresh its content hashes; whole-tree formatting and local TypeScript checking pass.

Change-source: pulse-maintainer
2026-09-14 22:46:12 +01:00
pulse-triage[bot] e8bbda6f71 fix(alerts): preserve warning-level notification preferences
Retain warning severity through email API save/reload and webhook editing instead of coercing it to all. Add adapter round-trip and webhook edit/save regressions for issue #2069 with alerts, API and notifications contracts. Browser verification covers production components at desktop and narrow widths using synthetic settings; backend filtering is unchanged.

Change-source: pulse-maintainer
2026-09-14 22:36:28 +01:00
pulse-triage[bot] ce1e99ba4e Merge pull request #2082 from rcourtman/maintainer/01b9d5b9163d46c9be355e56c542fc50
fix: preserve disk identity and tolerate TrueNAS alert argument shapes
2026-09-14 09:30:30 +00:00
pulse-triage[bot] 7e21b005fa test(governance): synchronize lifecycle lookup proof fixture
Canonical Governance for PR2082 failed because the host-agent lifecycle lookup expectation omitted the registered physical-disk round-trip regression. Include that exact proof file while preserving strict list equality and the existing runtime implementation and registry.

Change-source: pulse-maintainer
2026-09-14 08:54:07 +01:00
pulse-triage[bot] 455089a81d test(governance): align physical disk proof expectations
Keep the canonical completion guard unit fixtures synchronized with the registered physical-disk runtime proof so governance validates the actual contract inventory.\n\nChange-source: pulse-maintainer

Change-source: pulse-maintainer
2026-09-13 18:56:25 +01:00
pulse-triage[bot] 646bba571b fix(truenas): accept non-object REST alert arguments
Preserve snapshot refresh and formatted alerts when legacy args are scalar, array or null. Restrict SMART metadata to typed object fields and cover repeated snapshot collection plus error boundaries for #2077.

Change-source: pulse-maintainer
2026-09-13 18:42:50 +01:00
pulse-triage[bot] c9e71eac86 test(monitoring): register physical disk round-trip runtime proof
Register the focused skipped-poll regression under monitoring runtime verification as well as the shared lifecycle and read-state edges.

Change-source: pulse-maintainer
2026-09-13 18:26:15 +01:00
pulse-triage[bot] 01742e2279 fix(monitoring): preserve physical disk source identity on refresh
Skipped disk polls must write the Proxmox source key back into inventory rather than hashing the canonical resource ID again. Add repeated-cycle runtime and JSON projection coverage for serial-less disks, distinct node/controller scopes and removal.

Change-source: pulse-maintainer
2026-09-13 18:25:42 +01:00
pulse-triage[bot] a081769c05 Merge pull request #2074 from rcourtman/maintainer/20260913T142652Z
Keep qualified releases safe through skipped checks and cancellation
2026-09-13 15:06:07 +00:00
pulse-triage[bot] ae38b93c0c fix(release): stop public writer chain on workflow cancellation
Preserve successful qualification and optional skipped ancestors while rejecting workflow cancellation independently of completed needs. Cover tag, Docker, Helm, readiness, convergence dispatch and activation; retain evidence and cleanup joins.

Change-source: pulse-maintainer
2026-09-13 14:21:55 +01:00
pulse-triage[bot] f9569426f5 fix(release): publish qualified tags after optional skipped checks
Use an explicit status guard while requiring successful preparation and qualification. Model the beta skipped-ancestor path and adverse direct prerequisites; retain immutable identity and all release gates.

Change-source: pulse-maintainer
2026-09-13 13:03:02 +01:00
pulse-triage[bot] 1c289e746a Merge pull request #2072 from rcourtman/maintainer/20260913T095259Z
Recognise canonical vSphere 8.0.3 without breaking connection checks
2026-09-13 10:36:08 +00:00
pulse-triage[bot] 244af2bafe test(vmware): align API probe expectations
Include the canonical 8.0.3.0 release in the API handler fixtures and expected negotiation sequence. This repairs the exact hosted API-suite failure on the reviewed VMware candidate without changing runtime behavior.

Change-source: pulse-maintainer
2026-09-13 10:59:02 +01:00
pulse-triage[bot] 6f301ee8fb fix(vmware): probe canonical vSphere 8.0.3 JSON release
Probe 8.0.3.0 before the legacy spelling and older API schemas. Issue #2070 demonstrates method routing on the canonical version while Pulse reports 8.0.2.0. Retain legacy fallback and hard authentication/permission failures.

Add canonical negotiation, legacy/older fallback and auth/permission regression controls; update the runtime contract. Five reduced-function race probes fail before and pass after. Full package validation is unavailable with the installed offline dependency cache. This repairs negotiation, not the unresolved metrics/events/folder enrichment report.

Change-source: pulse-maintainer
2026-09-13 09:25:10 +01:00
pulse-triage[bot] 343f15eec5 Merge pull request #2065 from rcourtman/fix/proxmox-node-guest-navigation
Show a node's guests from the Proxmox overview row
2026-09-12 22:55:38 +01:00
rcourtman 709eeb2f77 Align node filter source contracts with inventory options
Keep the shared-owner and memoization assertions while allowing the
platform-scoped inventory argument used to preserve nodes without guests.
2026-09-12 18:36:35 +01:00
rcourtman c7c503994b Merge pull request #2063 from rcourtman/fix/disposable-release-qualification
Isolate release preparation and qualification on hosted VMs
2026-09-12 18:33:17 +01:00
rcourtman 982465e63c Show a node's guests from the Proxmox overview row
Selecting a node filters its guests and reveals an off-screen guest
heading without moving results that are already visible. Repeating the selection
clears only the node filter. Keep node details on the
chevron and preserve other guest filters when changing or clearing nodes.

Build node filter options from inventory as well as guests so empty nodes
retain their names and selection after reload. Do not present unrelated
inventory failures as the cause of an empty filtered result.

Refs lane L8. Update the owning interaction and identity contracts.
2026-09-12 17:24:46 +01:00
rcourtman 9e87fae07b Align backend partition proof with hosted release isolation
The native installer suite still required the retired persistent runner
label. Require the fresh hosted runner while preserving the canonical
partition command, capacity checks, watchdogs and cache constraints.
2026-09-12 16:00:04 +01:00
rcourtman 051ce81a72 Isolate release preparation and qualification on hosted VMs
Persistent prerelease runners can retain state from earlier source execution
and influence later admission, build output or qualification. Use the
existing hosted stable-release path for every channel while preserving
exact-source checks, resource planning, watchdogs and release gates.
2026-09-12 15:44:11 +01:00
pulse-triage[bot] 5a4163ff83 Merge pull request #2060 from rcourtman/maintainer/20260911T224651Z
Retain the reviewed release-version reuse guard
2026-09-11 23:28:08 +00:00
pulse-triage[bot] 8de708f260 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-11 22:46:07 +01:00
pulse-triage[bot] 3de526bd7b Merge pull request #2058 from rcourtman/maintainer/20260911T204749Z
Prevent published release versions from being reused
2026-09-11 21:26:31 +00:00
pulse-triage[bot] d80be16c86 Merge candidate 20260911T204403Z-delivery-trust
Change-source: pulse-maintainer
2026-09-11 21:53:13 +01:00