Commit Graph

62 Commits

Author SHA1 Message Date
pulse-triage[bot] 82ad139f0a test(e2e): keep shared multi-tenant fixture non-white-label
The multi-tenant bootstrap granted white_label, which security/status maps to commercial suppression. Settings shell tests then reached General instead of the expected billing pages. Keep the shared fixture non-white-label and assert that both general-purpose profiles exclude this presentation-changing entitlement. Dedicated commercial-boundary tests and production policy are unchanged.

Change-source: pulse-maintainer
2026-09-07 13:56:57 +01:00
pulse-triage[bot] 38f0960d4b test: qualify owned cleanup with real Chromium writers
Process fixtures did not prove that browser-generated artefacts finish before supervisor cleanup. Exercise real Chromium late cookie, screenshot, trace and video writers for all three catchable signals, while keeping full-stack qualification limits explicit.

Change-source: pulse-maintainer
2026-09-05 17:13:24 +01:00
pulse-triage[bot] 57beb6010f test: reap isolated browser writers before credential cleanup
Shell-only signal traps could leave browser descendants writing sensitive state after cleanup, and simultaneous runs shared the same cookie cache. Give the Linux qualification runner an invocation-owned cookie root and a child-subreaper supervisor so catchable interruption waits for writers before removing owned artifacts. Preserve normal reports for inspection and fail closed if writers cannot be reaped. Focused fixtures cover all three signals, late detached writers, concurrent isolation and forced termination; no real-browser cleanup or release readiness is claimed.

Change-source: pulse-maintainer
2026-09-05 16:31:12 +01:00
pulse-triage[bot] 296a131c0a test(e2e): use session identity for cross-org sharing diagnostic
Reproduced the restricted primary token being refused after organisation reload. Keep token isolation intact and exercise the sharing flow with a cookie session, with explicit authentication preconditions.

The diagnostic still fails on missing acceptance controls; retain that failure, quarantine and exact runtime receipts. Record process-group TERM cleanup limits rather than claiming complete artifact cleanup.

Change-source: pulse-maintainer
2026-09-05 15:02:06 +01:00
pulse-triage[bot] 0b73d36011 test(e2e): separate quarantined multi-tenant diagnostic from tier gates
The shell multi-tenant suite previously selected a spec ignored by every project, preventing real backend diagnosis. Add an explicit desktop-only configuration that rejects tier identity, while retaining the normal quarantine. Cover discovery and tier refusal and document the evidence boundaries. A local source-built diagnostic returned five passes, one failure at organisation-switch login, and one skip; this is not release qualification.

Change-source: pulse-maintainer
2026-09-05 14:39:37 +01:00
pulse-triage[bot] a6a02847ef test: isolate shell runner browser artifacts and multi-tenant auth
Concurrent qualification runs could overwrite shared browser artifacts and authentication state, while an inherited PLAYWRIGHT_BASE_URL could send browser traffic outside the shell-owned stack. Scope outputs and fixture credentials to each invocation and clear that endpoint override so isolation evidence refers to the intended stack.

Focused runner checks cover inherited overrides and cleanup. Recorded concurrent Docker diagnostics reached healthy stacks but browser execution remained blocked by the existing multi-tenant quarantine; this test-only repair does not claim browser or release qualification and changes no user-visible application surface.

Change-source: pulse-maintainer
2026-09-05 13:13:28 +01:00
pulse-triage[bot] 6e156f59fe Merge source-built integration runner repair
Integrate the reviewed source-stage selection and run-owned entitlement targeting on top of the existing teardown-failure guard. The merge preserves the candidate commit unchanged and combines compatible qualification harness repairs.

Change-source: pulse-maintainer
2026-09-05 12:30:21 +01:00
pulse-triage[bot] c979637368 fix(test): select source server and scope entitlement bootstrap
The integration runner otherwise selects the final prebuilt-agent Docker stage, which requires release payload inputs and prevents source-server qualification. Entitlement helpers also use a legacy container variable and inherited overrides that can target an unrelated runtime. Select the source-server stage explicitly and bind the managed shell path to its run-owned server, with regression assertions for both behaviours.

Contract-Neutral: integration harness and regression tests only; no product surface or runtime contract changes.
Change-source: pulse-maintainer
2026-09-05 12:01:51 +01:00
pulse-triage[bot] 7b096f82bb fix(test): stop integration suites after setup teardown failure
Reproduced startup, health and entitlement failures continuing through all ten suites despite failed teardown. Use the same fatal teardown guard on setup and port discovery failures so later scenarios cannot inherit dirty state.

Contract-Neutral: qualification harness only; no user-visible product surface. Focused stubbed runner tests and bash syntax checks pass; no runtime qualification claimed.

Change-source: pulse-maintainer
2026-09-05 11:58:10 +01:00
pulse-triage[bot] 3c08780e70 test: align teardown stubs with isolated runs
The independently reviewed runner changes add per-invocation project flags, generated identities, and allocated-port discovery before teardown. Model those calls so the teardown regression reaches and verifies the failure it is intended to guard.

Contract-Neutral: combined integration-harness test correction only; no product surface changes.
Change-source: pulse-maintainer
2026-09-05 11:41:13 +01:00
pulse-triage[bot] 9c81488a81 Merge teardown-failure qualification guard
Combine the reviewed teardown guard with per-invocation integration isolation while preserving both candidate commits.

Change-source: pulse-maintainer
2026-09-05 11:40:14 +01:00
pulse-triage[bot] f1bdc44ea5 test: isolate shell integration runs and scope cleanup
Shared image tags, container names and host ports let concurrent checkout qualification collide or inspect another runtime. Give each shell integration invocation its own identities and allocated listeners, and scope failure cleanup to those resources so results cannot silently qualify unrelated bytes.

Contract-Neutral: Integration harness isolation and documentation only; no user-visible frontend, product contract or release surface changes.
Change-source: pulse-maintainer
2026-09-05 11:36:38 +01:00
pulse-triage[bot] ff2a173206 fix(test): stop integration runs when teardown fails
Prevent a successful test command from hiding failed Docker cleanup and letting subsequent suites inherit dirty state. Stubbed core/all regressions fail on the original runner and pass with explicit termination.

Contract-Neutral: qualification harness correction only; no product surface changes.
Change-source: pulse-maintainer
2026-09-05 11:36:23 +01:00
pulse-triage[bot] 69a129e39c fix(test): rebuild integration images from the qualifying checkout
Existing local test tags could silently run older server or mock API bytes. Always invoke cached Docker builds and stop on build failure. Three stubbed runner regressions fail before this repair and pass after it; no installed or browser qualification is claimed.

Contract-Neutral: Integration harness freshness only; no product or release surface changes.
Change-source: pulse-maintainer
2026-09-05 11:09:05 +01:00
pulse-triage[bot] 0d32dac16e Keep release toolchains within support 2026-08-30 06:40:25 +01:00
pulse-triage[bot] 61a58758b2 Stabilize telemetry candidate validation
Fail schema-version drift in the fast E2E preflight before starting the browser matrix, and align the stable telemetry preview proof with schema 15.

Change-source: pulse-maintainer
2026-08-29 18:21:50 +01:00
pulse-triage[bot] 974f102333 Stabilize E2E tier test identity
Treat Playwright source coordinates as presentation metadata so cold transform-cache line mappings cannot split one test across all/stable/probation listings. Pin project, spec, and full-title identity with a focused Node regression.

Change-source: pulse-maintainer
2026-08-29 16:31:54 +01:00
Pulse Test e1bc14bd4a Harden alert recovery and qualification 2026-08-28 11:28:38 +01:00
rcourtman 248b242034 test(alerts): automate operator qualification 2026-08-27 11:06:26 +01:00
rcourtman b92893351d Make release dry-run diagnostics fail closed (#1758)
* Make release dry-run diagnostics fail closed

Select the installed Chromium project with retries disabled, replace the unconditional pass with fail-closed API and rendered-UI readiness assertions, retain actionable runtime evidence, and guard the release workflow contract against regression.

Contract-Neutral: Release diagnostic and workflow verification hardening only; no product runtime contract changes.

* Expose stable E2E failure identities

Project Playwright JUnit failures into bounded GitHub annotations so repeated stable-tier failures can be diagnosed without rerunning or weakening the gate. Keep the full reports and runtime logs as the forensic record, and cover annotation parsing and escaping with deterministic tests.

Contract-Neutral: This changes CI failure observability only and does not alter product runtime behavior, stable-tier membership, retries, or verdict semantics.

---------

Co-authored-by: rcourtman <rcourtman@users.noreply.github.com>
2026-08-22 07:28:29 +01:00
rcourtman 887b85bc83 Validate Core E2E tiering against run evidence (#1711)
Contract-Neutral: E2E test tier metadata and validation only; no deployment runtime or public contract change.

Co-authored-by: Pulse Autonomous Maintainer <rcourtman@users.noreply.github.com>
2026-08-11 23:18:14 +01:00
rcourtman 99af2a0bf2 Accelerate mock history readiness 2026-07-20 04:21:26 +01:00
rcourtman 584aa10699 Stabilize multi-tenant org switch in release E2E 2026-07-09 14:34:46 +01:00
rcourtman 1a05c715ac Reuse authenticated state in multi-tenant release E2E 2026-07-09 13:40:35 +01:00
rcourtman c728539f07 Restore completed Core E2E verdicts: shard CI, drop release tag from test image
Every main push since the v6 branch flip was cancelled at the 45-minute
job timeout with no verdict. The flip brought the full 94-spec suite onto
main (the last green run, 2026-06-29, ran only 2 specs on the v5 main),
and it runs sequentially against a release-tagged image whose mock-fixture
gate returns 403 without a demo entitlement. Dozens of specs fail, retry
twice each, and burn the budget: of the 31 minutes of suite time in run
28907574469, 18.8 minutes were failing attempts.

- Add GO_BUILD_TAGS build arg (default release) and build the pulse:test
  e2e image with it empty, matching the dev harness the suite is green
  under. Shipped images keep the release tag; release-gate behavior keeps
  its dedicated -tags release Go tests.
- Shard Playwright 4 ways across a CI matrix (214/202/205/203 tests per
  shard) with per-shard report artifacts and an aggregate verdict job.
- Cap CI at 20 failures so an env-broken run reports red in minutes
  instead of grinding into a no-verdict cancellation.
2026-07-08 08:00:55 +01:00
rcourtman 54b7e9933d Harden integration bootstrap token seed 2026-06-14 23:32:38 +01:00
rcourtman 377fd5131d Harden release integration bootstrap gate 2026-06-14 22:26:13 +01:00
rcourtman 09ed857869 Converge UI primitives and readiness guards 2026-06-13 16:31:52 +01:00
rcourtman 391cea1b13 Fix managed hot-dev LAN browser binding 2026-05-19 09:08:32 +01:00
rcourtman 91d7102a27 Make managed hot-dev verification deterministic 2026-05-18 17:29:50 +01:00
rcourtman 99e65d7e68 Rename retired trial acquisition proof assets 2026-04-28 18:38:10 +01:00
rcourtman cc26f59f01 Retire self-hosted trial activation callback 2026-04-28 16:36:09 +01:00
rcourtman 0b52968cd0 Retire self-hosted trial start route 2026-04-28 15:05:58 +01:00
rcourtman 410590c2e1 Fix hosted mobile approval proof runtime setup 2026-04-24 17:14:47 +01:00
rcourtman badda3781c Harden hosted mobile proof setup 2026-04-24 13:13:36 +01:00
rcourtman befb0160f7 Harden hosted mobile approval proof setup 2026-04-24 11:50:59 +01:00
rcourtman a442eb6bda Normalize hot-dev auth defaults 2026-04-22 16:28:52 +01:00
rcourtman f94601e26f Add hosted staging smoke entrypoint 2026-04-15 12:17:57 +01:00
rcourtman d38dcb00da Align trial-start proofs with retry burst 2026-04-10 17:48:20 +01:00
rcourtman 259285ad40 Unify Playwright route base selection 2026-04-10 17:33:18 +01:00
rcourtman 659c5f5988 Prefer explicit Playwright browser base URL 2026-04-10 17:26:18 +01:00
rcourtman b3bfb254fe Add integrated demo commercial boundary smoke 2026-04-09 10:43:07 +01:00
rcourtman 0c1fafa800 Centralize demo commercial boundary policy 2026-04-07 10:24:53 +01:00
rcourtman ce4e418d84 Add hosted mobile token revoke helper 2026-04-02 23:26:13 +01:00
rcourtman 9bc6d6ffff Fix hosted mobile onboarding proof bootstrap 2026-03-30 10:52:06 +01:00
rcourtman 444e827392 Fix hosted approval proof tenant scoping 2026-03-30 09:33:15 +01:00
rcourtman 313defb69b Bootstrap hosted managed backend API tokens 2026-03-29 23:28:50 +01:00
rcourtman 2fdf0e16c8 Support enterprise mobile approval proof backend 2026-03-29 21:52:18 +01:00
rcourtman 6817b67fbd Scope insecure E2E TLS health checks 2026-03-29 13:50:03 +01:00
rcourtman d877763fde test(integration): restart managed runtime for verify 2026-03-28 23:36:49 +00:00