Spec explorer: full source in drill-in, explore any .sx file

- spec-explore-define uses serialize (full body) instead of signature
- _spec-search-dirs expanded: spec/, web/, lib/, shared/sx/ref/, sx/, sxc/, shared/sx/templates/
- explore() works with any filename, not just nav spec items
- Playwright tests use flexible regex for line/define counts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-02 00:10:45 +00:00
parent 45c2f2bfb0
commit 9594362427
4 changed files with 37 additions and 27 deletions

View File

@@ -18,8 +18,8 @@ test.describe('Spec Explorer', () => {
await loadExplorer(page, '(language.(spec.(explore.evaluator)))');
await expect(page.locator('h1')).toHaveText('Evaluator');
await expect(page.locator('text=141 defines')).toBeVisible();
await expect(page.locator('text=2501 lines')).toBeVisible();
await expect(page.locator('text=/\\d+ defines/')).toBeVisible();
await expect(page.locator('text=/\\d+ lines/')).toBeVisible();
await expect(page.locator('h2:has-text("Definitions")')).toBeVisible();
await expect(page.locator('#fn-make-cek-state')).toBeVisible();
await expect(page.locator('#fn-cek-step')).toBeVisible();