tidaldb/tests/e2e/features
jordan 77f68d181c
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
verify: flip the two log tripwires post-roll, calibrate the backup assertions
Post-deploy half of the deploy-verification contract for m12-harden-20260831.

Flipped, exactly as each assertion instructed its own successor to do:
- 06-logs.spec.ts: asserted `jsonLines === 0`. JSON_LOGS is live, so it now
  asserts every sampled line parses as JSON. The ANSI check stays pinned at 0.
- 09-operator-authority.spec.ts: asserted JSON_LOGS was absent from the
  StatefulSet. Now asserts JSON_LOGS=1 AND TIDAL_SERVICE_NAME=tidaldb, because
  the second is load-bearing: enabling structured logs makes the app's own
  `service` field win in the fleet's Vector normalize transform, silently
  renaming the log stream tidaldb -> tidal-server and blinding every query keyed
  on it. The fleet's _stream_fields contract pins field names but no legal
  values, so nothing there would have caught the flip.

Calibrated, NOT loosened — the two backup assertions were unpassable by
construction for ~25 minutes every day:
- The schedule fires at 03:30 and measured runs take 9.1-24.8 min (n=15), so the
  newest object is legitimately InProgress during its own window. The "newest
  backup completed cleanly" test now selects the newest FINISHED backup; a
  namespace where nothing has ever finished still fails.
- "no backup stuck in progress" asserted InProgress -> fail, full stop. It now
  bounds in-flight age at 60 min: ~2.4x the slowest success and a quarter of the
  240.0 min timeout that the observed PartiallyFailed runs (2026-08-17/19/25) all
  hit. A gate that cries wolf on a schedule gets muted, and then it is not a gate.

Both thresholds come from reading every backup in the namespace, not from a
guess. Playwright 34/34 and hermetic semantics 5/5 against the deployed image.
2026-08-30 22:06:20 -06:00
..
01-cluster-convergence.spec.ts e2e: get the Playwright harness green end to end, and close the stale-evidence gap 2026-08-30 15:27:56 -06:00
02-public-endpoint.spec.ts test(e2e): Playwright evidence harness for the deploy-verification runbook 2026-08-23 14:03:29 -06:00
03-auth-boundary.spec.ts test(e2e): Playwright evidence harness for the deploy-verification runbook 2026-08-23 14:03:29 -06:00
04-network-isolation.spec.ts test(e2e): Playwright evidence harness for the deploy-verification runbook 2026-08-23 14:03:29 -06:00
05-metrics-dashboard.spec.ts test(e2e): Playwright evidence harness for the deploy-verification runbook 2026-08-23 14:03:29 -06:00
06-logs.spec.ts verify: flip the two log tripwires post-roll, calibrate the backup assertions 2026-08-30 22:06:20 -06:00
07-tidalctl.spec.ts harden: restore CI verification, remove four wire-level fabrications, instrument the 401 path 2026-08-30 20:55:58 -06:00
08-backups.spec.ts verify: flip the two log tripwires post-roll, calibrate the backup assertions 2026-08-30 22:06:20 -06:00
09-operator-authority.spec.ts verify: flip the two log tripwires post-roll, calibrate the backup assertions 2026-08-30 22:06:20 -06:00
10-ranking-semantics.spec.ts harden: restore CI verification, remove four wire-level fabrications, instrument the 401 path 2026-08-30 20:55:58 -06:00
11-ranking-integrity.spec.ts harden: restore CI verification, remove four wire-level fabrications, instrument the 401 path 2026-08-30 20:55:58 -06:00