feat(l1): AI decision-tree builder — Phase 2A #193

Merged
chihlasm merged 42 commits from feat/l1-ai-tree-builder-phase-2a into main 2026-06-12 23:41:16 +00:00
Showing only changes of commit 8a9f03adf5 - Show all commits

View File

@@ -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/<uuid>
await expect(page).toHaveURL(/\/l1\/walk\//, { timeout: 10_000 })