--- type: overview summary: What each end-to-end suite judges, the shortcut that kept two defects invisible, and the failure mode that is not ours to fix triggers: keywords: [e2e, harness, playwright, chromium, journey, suite, profile, broker page, notebook, wallet profile, ng-e2e-helpers] paths: - "packages/polyfill/e2e/**" - "packages/ng-e2e-helpers/**" vocabulary: - term: journey gloss: one named end-to-end story in the applicative suite, reported pass or fail as a whole not: [scenario, test case, spec] - term: batch gloss: one run of a suite, which mints its own physical user and discards the previous one not: [session, campaign] --- # e2e-harness — the suites, and what they can and cannot tell you Three suites drive real browsers against the real broker and the real wallet application. They are the only place the emulation meets what it emulates, so a green unit suite says nothing about them. They are also expensive and, on a machine whose network moves, unreliable in ways that look exactly like product defects. Most of what this concept holds exists so an agent does not spend hours diagnosing a product bug that is a transport failure — or, worse, trust a green run that measured nothing. The generic half of that machinery is a package of its own, `ng-e2e-helpers`, and this repo **publishes** it: a NextGraph application in any repository pulls `ng-e2e-helpers/contract_ng-e2e-helpers` and declares back what it consumes. Our own suites are one of those consumers, and declare it in the same folder — same pair, no boundary to cross. ## Read first - `ng-e2e-helpers/contract_ng-e2e-helpers` — the engagement, written from the caller's point of view. - `ng-e2e-helpers/usage_polyfill-e2e` — what our own suites actually call, and where the fit still costs them code. - `knowledge_what-each-suite-judges` — which suite answers which question. - `rule_never-shortcut-the-sign-in` — the shortcut that hid a 404 and a regression at once. - `caveat_a-dropped-pipe-kills-a-run` — the failure mode that is not ours.