lablup / lablup/backend.ai-webui
[bai-agent] Converge deep-link rules onto webui-map — subset checks in doctor, nightly URL sweep, then retire the duplicated webui-path.ts
- Dominant language
- TypeScript
- Stars
- 133
- Forks
- 81
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 344
Description
## Parent
FR-3740 — step F. Removes the last hand-duplicated map.
## What to build
- `doctor` subset checks: `LIST_PAGES ⊆ webui-map page ids` and `RESOURCE_BY_TYPE ⊆ schema.byName` (from `packages/backend.ai-agent-cli/src/webui-path.ts`) — the CLI's restated deep-link rules must be a subset of what the extractor sees.
- Nightly e2e sweep (Playwright, `e2e/`): parameterised by `webui-map.json`, visits every page/tab URL on the dev cluster and fails on 404 / unselected tab / error boundary. This catches "route alive but param renamed" (e.g. `statusCategory` → `status`) that no static check can.
- After one release of green nightly runs: replace `webui-path.ts`'s hand-written list-page rules with lookups into the map (keep the detail-view encodings, which are not in the map), delete the duplicated fixture, keep `webui-path.parity.test.ts` for `resourcePath` only.
## Acceptance criteria
- [ ] doctor fails when a list page is removed from routes but still referenced by the CLI.
- [ ] Nightly workflow file exists, runs on schedule, and reports per-URL results.
- [ ] `webui-path.ts` no longer restates page paths.
## Blocked by
- Steps C, D, E; a reachable cluster for the nightly.
JIRA Issue: FR-3778
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with packages/backend.ai-agent-cli/src/webui-path.ts, the doctor checks, webui-map.json, and the Playwright entry points under e2e/. Trace the existing webui-path.parity.test.ts coverage and the blocked prerequisites before implementing the subset checks and scheduled URL sweep. Done means the doctor detects mismatches, nightly results cover each URL, and webui-path.ts no longer duplicates page paths while retaining detail-view encodings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- playwright, typescript
- Domain
- ci-cd, cli, frontend, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100