Commit graph

485 commits

Author SHA1 Message Date
rcourtman
78af7a881f Demote flaky Proxmox display-name E2E spec
Contract-Neutral: Demotes one flaky E2E spec under the documented stable-to-probation tier policy; product behavior and public contracts are unchanged.
2026-08-05 15:27:19 +01:00
rcourtman
7977f3661a Stabilize remaining shard 3 E2E contracts 2026-08-05 11:55:16 +01:00
rcourtman
9579968952 Harden TrueNAS E2E workspace readiness 2026-08-05 11:28:07 +01:00
rcourtman
f39afe3ea7 Repair remaining probation E2E contracts 2026-08-05 10:48:45 +01:00
rcourtman
dee1f9c0be Stabilize Safari E2E contracts 2026-08-05 10:19:43 +01:00
rcourtman
9f870bf474 Repair stable Core E2E contracts 2026-08-05 09:29:23 +01:00
rcourtman
763aa5e0f1 Fix migration test mock mode isolation
Some checks are pending
Build and Test / Backend tests (api) (push) Blocked by required conditions
Build and Test / Secret Scan (push) Waiting to run
Build and Test / Detect changed areas (push) Waiting to run
Build and Test / Frontend (push) Blocked by required conditions
Build and Test / Backend tests (rest-0) (push) Blocked by required conditions
Build and Test / Backend tests (rest-1) (push) Blocked by required conditions
Build and Test / Script smoke tests & backend build (push) Blocked by required conditions
Build and Test / Benchmarks (push) Blocked by required conditions
Canonical Governance / governance (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 6/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 7/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 8/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 1/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 2/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 3/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 4/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 5/8) (push) Waiting to run
Core E2E Tests / Agent registration lifecycle (push) Waiting to run
Core E2E Tests / E2E verdict (push) Blocked by required conditions
2026-08-04 20:56:48 +01:00
rcourtman
bc265ada2e Prevent RC regressions at release boundary 2026-08-01 13:58:05 +01:00
rcourtman
9ab38b940e Gate every release cut on a render-level smoke suite
v6.2.0-rc.5 shipped with an empty Proxmox workloads table and a crashing
Thresholds page (#1663) while the assertions that catch exactly that were
failing in CI: spec 64 red in the non-gating probation tier two hours
before the tag, and the gating Core E2E verdict red on the release commit
itself — which the release pipeline never consults. integration_tests is
also skipped entirely for prereleases, so the builds users test shipped
with no integration coverage at all.

Close the hole with a release_smoke job that runs for every cut,
prereleases included, and blocks create_release and the release verdict:
four interaction-free render assertions (Proxmox nodes+workloads, Docker
hosts+containers, Kubernetes clusters+pods, Alert thresholds) against the
mock-mode image built from the verified frontend bundle. The mock fixture
graph now always contains one freshly provisioned zero-used guest
filesystem, so the omitted-zero-numerics wire shape that crashed rc.5
stays exercised on every mock-backed surface. Verified locally: the suite
passes on main and fails on the rc.5 frontend for exactly the two shipped
regressions.
2026-08-01 13:29:40 +01:00
courtmanr@gmail.com
3a6af11e86 Stabilize Patrol shell checks across desktop and mobile 2026-07-26 20:49:22 +01:00
courtmanr@gmail.com
e405270e89 Prepare v6.1.2 stable patch release 2026-07-26 20:38:42 +01:00
rcourtman
afc419ddab Add durable Proxmox node display names
Some checks are pending
Build and Test / Secret Scan (push) Waiting to run
Build and Test / Frontend & Backend (push) Waiting to run
Canonical Governance / governance (push) Waiting to run
Patrol Qualification Regression / Catalog, scorer, and replay regression (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 8/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 4/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 5/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 6/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 7/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 1/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 2/8) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 3/8) (push) Waiting to run
Core E2E Tests / Agent registration lifecycle (push) Waiting to run
Core E2E Tests / E2E verdict (push) Blocked by required conditions
Unified Agent Native Verification / Linux ARM64 (push) Waiting to run
Unified Agent Native Verification / Linux x64 (push) Waiting to run
Unified Agent Native Verification / Windows x64 (push) Waiting to run
Unified Agent Native Verification / macOS ARM64 (push) Waiting to run
Unified Agent Native Verification / macOS Intel (push) Waiting to run
Unified Agent Native Verification / FreeBSD cross-build contract (push) Waiting to run
2026-07-24 15:46:56 +01:00
rcourtman
478a9e933d Complete canonical web interface links
Preserve tenant-scoped metadata through partial URL updates and project stable URLs across runtime identities. Use a safe adjacent launch control across overview tables with desktop and mobile regression coverage.
2026-07-24 12:42:16 +01:00
rcourtman
4a2335ce7f fix(ai): harden local compatible providers 2026-07-24 12:35:31 +01:00
rcourtman
9da4d4e966 Add powered-off alert tolerance 2026-07-24 12:23:29 +01:00
rcourtman
f744e0700e Fix availability summaries and webhook secret handling 2026-07-24 11:56:30 +01:00
rcourtman
3a913752de Fix Proxmox cluster membership reconciliation 2026-07-24 11:21:27 +01:00
rcourtman
2ac70dab70 Fix audit storage migration and viewer races
Refs #1464
2026-07-24 10:33:57 +01:00
rcourtman
ac0fb263c2 Fix Proxmox workload refresh coherence 2026-07-24 10:11:56 +01:00
rcourtman
8d23529c02 Fix availability check identity projection 2026-07-23 23:46:34 +01:00
rcourtman
639e88104c Demote operational-trust protection posture spec to probation
tests/90-operational-trust-protection-posture.spec.ts failed the
stable tier on main in run 29731882505 — the first tiered run. One
incident on main demotes: it rejoins the gate after 10 consecutive
green runs, per the rule above PROBATION_SPECS.

Contract-Neutral: probation demotion per documented tier rule: spec 90 failed on main run 29731882505; CI gating list only, no dev-runtime delta
2026-07-20 10:55:07 +01:00
rcourtman
f2fa92f576 Split Core E2E into gating stable and non-gating probation tiers
Mined per-spec failure data from the 32 completed Core E2E main runs
since the 2026-07-18 quarantine delist (failed-shard logs; a green
shard means every spec in it passed). 26 specs failed or retry-flaked
within the 10 most recent completed runs; they seed PROBATION_SPECS in
tests/integration/playwright.config.ts. The remaining 62 files form the
stable tier and are the only specs that can fail the e2e-verdict job.

Mechanism extends the existing quarantine list rather than adding a
parallel one: PULSE_E2E_TIER=stable ignores probation specs,
PULSE_E2E_TIER=probation runs only them, unset runs the full suite
(local behavior unchanged). CI runs both tiers per shard against the
same containers; the probation pass sits behind continue-on-error with
its own report/results dirs and artifacts, so a probation flake is
reported in the shard summary without painting main red.

Promotion rule, documented next to the list: a probation spec promotes
to stable after 10 consecutive green main runs with no failure and no
retry-flake; one incident on main demotes a stable spec back. In the
newest completed run (29729544151) every failure was in a probation
spec — under this split that run's verdict is green.

Contract-Neutral: CI-only E2E tier split: gating semantics of push-CI verdict; local npm test behavior and dev-runtime orchestration unchanged, no public contract delta
2026-07-20 10:32:26 +01:00
rcourtman
05c44f199f Stabilize populated browser fixtures
Contract-Neutral: Browser-only qualification fixture synchronization; no deployment or public runtime contract changes.
2026-07-20 09:47:03 +01:00
rcourtman
b858e7fd2d Stabilize shared browser qualification
Contract-Neutral: Browser qualification keeps the existing deployment, authentication, and mobile layout contracts while reusing the accepted test credential and avoiding a WebKit synchronous-layout probe.
2026-07-20 09:12:01 +01:00
rcourtman
a65194de3a Stabilize mobile workload geometry probe 2026-07-20 08:42:01 +01:00
rcourtman
c73e78aeea Stabilize RC runtime ownership
Contract-Neutral: RC qualification fixes preserve existing public API, tenant, monitoring, and organization contracts while correcting canonical runtime ownership and test fixtures.
2026-07-20 07:50:22 +01:00
rcourtman
86bf879b7b Satisfy update readiness in signature E2E 2026-07-20 06:13:28 +01:00
rcourtman
96fce4cbcb Use mobile assistant submit control 2026-07-20 05:19:15 +01:00
rcourtman
99af2a0bf2 Accelerate mock history readiness 2026-07-20 04:21:26 +01:00
rcourtman
9ea7689373 Preserve VMware exclusion test boundaries 2026-07-20 03:51:05 +01:00
rcourtman
0b6d1cdc18 Stabilize mobile browser interactions 2026-07-20 03:33:46 +01:00
rcourtman
eeab775445 Harden browser release qualification
Contract-Neutral: Release qualification reliability fixes preserve existing runtime, route, and deployment contracts
2026-07-20 03:15:13 +01:00
rcourtman
12eef62f76 Stabilize cross-platform release gates 2026-07-20 02:32:29 +01:00
rcourtman
e9dddf86b8 Harden RC qualification coverage
Contract-Neutral: RC qualification and contract-preserving reliability fixes; no canonical product contract changes
2026-07-20 01:13:26 +01:00
rcourtman
dbd4b14b73 Isolate Core E2E runtime state
Contract-Neutral: Core E2E scheduling and mock-readiness harness change; no deployment, installability, or runtime contract delta
2026-07-20 00:14:37 +01:00
rcourtman
d7eb4457c4 Stabilize shared E2E runtime state
Contract-Neutral: E2E harness reliability fix; no deployment or installability runtime contract changes
2026-07-19 23:24:21 +01:00
rcourtman
4fcca0993b Isolate vSphere workload fixture routing
Match only the canonical workloads request so unrelated resource traffic does not contend through the Playwright route handler.

Contract-Neutral: Test fixture routing only; no public subsystem contract change
2026-07-19 22:27:08 +01:00
rcourtman
19ec17372e Stabilize vSphere drawer verification
Contract-Neutral: Test fixture normalization without a public subsystem contract change
2026-07-19 21:58:50 +01:00
rcourtman
2f1ffa94ef Stabilize page header alignment verification
Contract-Neutral: Test-only coordinate normalization without a public subsystem contract change
2026-07-19 21:24:36 +01:00
rcourtman
5d01c5e469 Stabilize Core E2E release paths
Contract-Neutral: Canonical route normalization and test stabilization without a public subsystem contract change
2026-07-19 21:03:58 +01:00
rcourtman
7ce7bbf323 Finish Core E2E release gate alignment
Contract-Neutral: Core E2E authentication and release-gate test alignment does not change the deployment-installability public contract
2026-07-19 19:33:19 +01:00
rcourtman
6343b1f5cd Complete Core E2E release gate repair
Contract-Neutral: Mobile Assistant viewport containment and release-gate test repairs do not change the ai-runtime public contract
2026-07-19 18:30:27 +01:00
rcourtman
f6a59eb1c6 Repair Core E2E release gate
Contract-Neutral: RC4 gate repair only: responsive layout correction, internal test hook, and E2E-only runtime target; no public subsystem contract changes
2026-07-19 17:29:51 +01:00
rcourtman
83672a00a8 Harden Operational Trust rollout contracts 2026-07-19 15:11:02 +01:00
rcourtman
cd75722da3 Build canonical Operational Trust action loop
Refs #1034
2026-07-19 15:11:01 +01:00
rcourtman
69533c7afb Build canonical availability resource facets 2026-07-19 15:11:01 +01:00
rcourtman
07a4d05ca3 Build canonical Patrol attention workbench 2026-07-19 15:11:01 +01:00
rcourtman
93dbdd91cf Build canonical protection posture 2026-07-19 15:10:38 +01:00
rcourtman
816d55e03d Recover spec 68 infrastructure onboarding against evolved discovery UI
Some checks are pending
Build and Test / Secret Scan (push) Waiting to run
Build and Test / Frontend & Backend (push) Waiting to run
Canonical Governance / governance (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 1/4) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 2/4) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 3/4) (push) Waiting to run
Core E2E Tests / Playwright Core E2E (shard 4/4) (push) Waiting to run
Core E2E Tests / E2E verdict (push) Blocked by required conditions
The discovery-config surface changed: with discovery disabled by default the
empty state offers a 'Configure discovery' button (which opens the Discovery
settings dialog), and the 'Run discovery' scan button only renders once
discovery is enabled.

- Landing test: assert 'Configure discovery' and that 'Run discovery' is absent,
  instead of the stale 'Run discovery' / 'Discovery settings' button names.
- Discovery settings dialog test: open it via 'Configure discovery' (the dialog
  title/copy/close-button assertions were already current).
- Explicit discovery scan test: enable discovery for that test by passing the
  real /api/system/settings response through with discoveryEnabled flipped on,
  so the 'Run discovery' scan button appears and the candidate->review flow runs.

Verified: all 5 desktop tests pass against the managed local backend.
Contract-Neutral: E2E quarantine recovery
2026-07-19 09:51:23 +01:00
rcourtman
eddcbd5aa0 Recover spec 76 assistant tool-output-preview against current UI
Re-pin the assistant-drawer flow to the current surfaces: open via the
page-contextual 'Ask Pulse Assistant about TrueNAS' launcher on a live
/truenas page (not the retired /settings/infrastructure/platforms/truenas), and
resume the stubbed session through the 'Pulse Assistant sessions' menu -> the
'Resume Tool output preview proof' option (the session-picker list, not a bare
resume button).

Broaden the /api/ai/sessions stub glob to '**/api/ai/sessions*' so it matches
the picker's ?limit= query (the trailing * excludes the /messages subpath). The
tool row now renders the human summary with the target ('Run read-only command
on current resource') and the raw command preview ('$ printf preview-proof-0606')
as two separate lines, and the details control is the tool-row toggle
(title 'Show tool details'), not a standalone 'Details' button.

Verified: passes against the managed local backend.
Contract-Neutral: E2E quarantine recovery
2026-07-19 09:45:49 +01:00