You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #658's review round demonstrated the gap concretely: three real frontend bugs (a payload field mismatch hiding the re-run button, an optimistic-update leak, a missing branch_id on re-run) were caught only by manual review and a live browser pass — none by CI, because no workflow builds web/frontend at all.
Tests (bigger call):vitest currently reports "No test files found" — there are zero test files under web/frontend/src. Decide whether the frontend gets a test harness (component tests for payload-shape contracts against server/routers/* models would have caught all three bugs), or whether the build gate + review is the accepted bar.
Context: web/frontend is ~15k LOC and growing (PR #658 added a Tokens page, trash/restore, command palette...). The Python side has 6000+ tests; the UI has none.
PR #658's review round demonstrated the gap concretely: three real frontend bugs (a payload field mismatch hiding the re-run button, an optimistic-update leak, a missing branch_id on re-run) were caught only by manual review and a live browser pass — none by CI, because no workflow builds
web/frontendat all.Two decisions to make:
cd web/frontend && npm ci && npx tsc --noEmit && npm run buildon PRs touchingweb/frontend/**. This alone would catch type-level payload mismatches like theconfigIdvsconfigbug (job list: Config column has always rendered empty — renderer reads an invented 'configId' key #659 is the CLI-side twin).vitestcurrently reports "No test files found" — there are zero test files underweb/frontend/src. Decide whether the frontend gets a test harness (component tests for payload-shape contracts againstserver/routers/*models would have caught all three bugs), or whether the build gate + review is the accepted bar.Context: web/frontend is ~15k LOC and growing (PR #658 added a Tokens page, trash/restore, command palette...). The Python side has 6000+ tests; the UI has none.