chore(e2e): log resolved suite inputs to diagnose login mismatch (BUNYIP-167) #187

Merged
nrupard merged 1 commit from chore/BUNYIP-167-log-resolved-config into main 2026-06-22 20:29:14 +02:00
Owner

What

Temporary diagnostic to end the login-mismatch guessing. preflight.setup.ts now logs logResolvedConfig() (lib/env.ts) on every run:

[config] resolved suite inputs:
  baseURL (hub)    = https://a8n.systems
  opBaseURL        = https://api.a8n.systems
  apiBaseURL       = https://api.a8n.systems
  isProductionApex = false
  email            = e2e-user@a8n.run
  tenantId         = 00000000-0000-0000-0000-000000000001
  oidcClientId     = b0000000-0000-4000-8000-000000000002
  oidcRedirectUri  = https://msp.a8n.systems/auth/callback
  password         = len 11, sha256[:12]=3c78868b4a27
  totpSecret       = len 8, sha256[:12]=a00d76646eba

Non-secret values (URLs, the test email, tenant, OIDC client/redirect) in plaintext; password + TOTP only as length + sha256 prefix.

How to use

The pull_request CI run on this branch prints the [config] block against staging. Then on c-01:

  • compare email / baseURL to what you log into manually;
  • '<the real password>' | hash sha256 | str substring 0..12 and compare to the password fingerprint.

If the password fingerprint differs -> the secret is not the account password. If email/baseURL are off -> wrong account / wrong deployment.

Note

Temporary (BUNYIP-167); revert once the mismatch is found. tsc --noEmit clean; output verified locally.

#BUNYIP-167

## What Temporary diagnostic to end the login-mismatch guessing. `preflight.setup.ts` now logs `logResolvedConfig()` (lib/env.ts) on every run: ``` [config] resolved suite inputs: baseURL (hub) = https://a8n.systems opBaseURL = https://api.a8n.systems apiBaseURL = https://api.a8n.systems isProductionApex = false email = e2e-user@a8n.run tenantId = 00000000-0000-0000-0000-000000000001 oidcClientId = b0000000-0000-4000-8000-000000000002 oidcRedirectUri = https://msp.a8n.systems/auth/callback password = len 11, sha256[:12]=3c78868b4a27 totpSecret = len 8, sha256[:12]=a00d76646eba ``` Non-secret values (URLs, the test email, tenant, OIDC client/redirect) in plaintext; password + TOTP only as length + sha256 prefix. ## How to use The pull_request CI run on this branch prints the `[config]` block against staging. Then on c-01: - compare `email` / `baseURL` to what you log into manually; - `'<the real password>' | hash sha256 | str substring 0..12` and compare to the `password` fingerprint. If the password fingerprint differs -> the secret is not the account password. If `email`/`baseURL` are off -> wrong account / wrong deployment. ## Note Temporary (BUNYIP-167); revert once the mismatch is found. `tsc --noEmit` clean; output verified locally. #BUNYIP-167
chore(e2e): log resolved suite inputs to diagnose the login mismatch
Some checks failed
E2E / Playwright against deployment (pull_request) Failing after 49s
Check / fmt + clippy + build + tests (pull_request) Successful in 2m18s
Create release / Create release from merged PR (pull_request) Has been skipped
6128680ab2
A staging login fails "email or password incorrect" while a manual login with the same plain-password account works, so the suite is using a different host, a different email, or different password bytes than the account. The logs did not reveal which.

Add logResolvedConfig() (lib/env.ts), called from preflight.setup.ts (runs first, every run). It prints the NON-SECRET resolved inputs in plaintext (baseURL/opBaseURL/apiBaseURL, isProductionApex, email, tenantId, oidcClientId, oidcRedirectUri) and a SAFE fingerprint of the password and TOTP secret (length + sha256[:12], never plaintext). Compare the password fingerprint to `'<real password>' | hash sha256` on the host to confirm byte-for-byte whether the secret matches the account.

Temporary diagnostic (BUNYIP-167); revert once the mismatch is identified. tsc --noEmit clean; specs still collect; preflight output verified locally.

#BUNYIP-167

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
nrupard deleted branch chore/BUNYIP-167-log-resolved-config 2026-06-22 20:29:14 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/bunyip!187
No description provided.