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

Closed
#9,267 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.