From 8a9f03adf597dcbb2d55963591e79a5dbbccc2a6 Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Fri, 12 Jun 2026 19:28:45 -0400 Subject: [PATCH] test(l1): e2e intake test must use an out-of-scope problem for the ad-hoc path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 2A routes in-category problems (keyword fallback matches 'outlook' → email_outlook_client) to an AI-build walk, so the old Outlook fixture never reached the ad-hoc badge. Use a custom-LOB problem and click through the out-of-scope 'Walk it ad-hoc' fallback. Co-Authored-By: Claude Opus 4.7 --- frontend/e2e/l1-workspace.spec.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frontend/e2e/l1-workspace.spec.ts b/frontend/e2e/l1-workspace.spec.ts index fdf7248d..7e5718e9 100644 --- a/frontend/e2e/l1-workspace.spec.ts +++ b/frontend/e2e/l1-workspace.spec.ts @@ -71,14 +71,19 @@ test.describe('L1 Workspace', () => { page.getByRole('heading', { name: /Good (morning|afternoon|evening)/i }), ).toBeVisible() - // Fill in problem statement textarea + // Fill in problem statement textarea. The problem must NOT keyword-match + // any DEFAULT_L1_CATEGORIES token (Phase 2A routes in-category problems to + // an AI-build walk, not ad-hoc) — a custom LOB app is out of scope. const problemTextarea = page.getByPlaceholder("What's the user calling about?") await expect(problemTextarea).toBeVisible() - await problemTextarea.fill('Customer says Outlook is broken after the latest update') + await problemTextarea.fill('Custom LOB billing app crashes on launch for one user') // Click "Start walk →" button await page.getByRole('button', { name: /Start walk/i }).click() + // Out-of-scope prompt offers the free-form fallback — take it + await page.getByRole('button', { name: /Walk it ad-hoc/i }).click() + // Should navigate to /l1/walk/ await expect(page).toHaveURL(/\/l1\/walk\//, { timeout: 10_000 })