docs(tracker-web): add TEST_VALIDATION_LOG with baseline gate results

Generated with [Devin](https://cli.devin.ai/docs)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
saravanakumardb1 2026-05-28 19:39:29 -07:00
parent 77b074f3c0
commit d0707f22a5

View File

@ -0,0 +1,60 @@
# Test Validation Log — `@bytelyst/tracker-web`
This log tracks the validation/hardening effort for the tracker-web dashboard's test
suite. Every gate is run from the repo root, filtered to this package. A gate is only
marked green if it was actually executed and passed.
All commands are run as:
```bash
cd /Users/sd9235/code/mygh/learning_ai_common_plat
pnpm --filter @bytelyst/tracker-web <script>
```
---
## Baseline (before any changes)
Recorded at repo HEAD `77b074f3`.
| Gate | Command | Result | Notes |
| ------------- | --------------------------------------------------- | ------ | -------------------------------------------------------------------------------------- |
| typecheck | `pnpm --filter @bytelyst/tracker-web typecheck` | PASS | `tsc --noEmit`, exit 0 |
| lint | `pnpm --filter @bytelyst/tracker-web lint` | PASS | `eslint`, exit 0 |
| test (unit) | `pnpm --filter @bytelyst/tracker-web test` | PASS | 8 files, 55 tests |
| test:coverage | `pnpm --filter @bytelyst/tracker-web test:coverage` | RUNS | 90.78% stmts / 84.78% branch (only files imported by tests are measured) |
| build | `pnpm --filter @bytelyst/tracker-web build` | PASS | `next build --webpack`, 14 routes |
| format:check | `pnpm --filter @bytelyst/tracker-web format:check` | FAIL | `README.md`, `docs/roadmaps/UX_INTEGRATION_BYTELYST.md` not Prettier-formatted |
| test:e2e | `pnpm --filter @bytelyst/tracker-web test:e2e` | FAIL | 9 passed / 3 failed (see below) |
| size:check | `pnpm --filter @bytelyst/tracker-web size:check` | FAIL | `bundlesize` cannot load — `iltorb` native module won't build on Node 25 (env blocker) |
### Baseline e2e failures (3)
1. `Tracker Login Page shows error for invalid credentials` — depends on a live
platform-service. With no backend, the login proxy returns 502
"Platform service unavailable", which does not match `/failed|error|invalid/i`.
2. `Tracker — Public Roadmap roadmap page can toggle between board and list view`
list view renders "No items found" (no backend data), so `table, [role='list']`
never appears.
3. `Tracker — Health GET /api/health returns ok` — the dev server has no
`PLATFORM_API_URL` / `JWT_SECRET` / `DEFAULT_PRODUCT_ID` set, so `/api/health`
correctly returns `degraded` (503), not `ok`.
Root cause for all three: the e2e suite depends on a live platform-service and ambient
env, which violates the determinism requirement ("mock network at the route/proxy
boundary; don't depend on a live platform-service").
### Out-of-scope / environment blockers
- **`size:check` (bundlesize)**: `bundlesize@0.18.2` (latest, unmaintained) transitively
requires `brotli-size@0.1.0``iltorb@2.4.5`, a deprecated native addon that does not
compile on Node 25 (`Cannot find module './build/bindings/iltorb.node'`). `pnpm rebuild
iltorb` produces no `build/` output. The broken dependency lives in the root
`node_modules` (shared infra, out of scope to patch), and no newer `bundlesize` exists.
Bundle budgets are instead verified manually against the gzipped build output.
---
## Changes
(Subsequent entries appended below as work proceeds.)