|
13 | 13 | <img src="https://img.shields.io/badge/Storage-IndexedDB_v8-F59E0B" alt="IndexedDB v8"> |
14 | 14 | <img src="https://img.shields.io/badge/PWA-v3.0-5BB974?logo=pwa" alt="PWA v3.0"> |
15 | 15 | <img src="https://img.shields.io/badge/i18n-19_locales-2925_keys-0EA5E9" alt="i18n 19 locales — 2925 keys"> |
16 | | - <img src="https://img.shields.io/badge/Tests-7205%2B_%2F_589_files-22C55E" alt="7205+ tests / 589 files"> |
| 16 | + <img src="https://img.shields.io/badge/Tests-7219%2B_%2F_589_files-22C55E" alt="7219+ tests / 589 files"> |
17 | 17 | <img src="https://img.shields.io/codecov/c/github/qnbs/WorldScript-Studio?logo=codecov&label=Coverage" alt="Codecov Coverage"> |
18 | 18 | <img src="https://img.shields.io/badge/License-MIT-22C55E" alt="License MIT"> |
19 | 19 | <img src="https://img.shields.io/github/actions/workflow/status/qnbs/WorldScript-Studio/.github/workflows/ci.yml?branch=main&logo=github" alt="CI Status"> |
@@ -511,7 +511,7 @@ The Settings → AI panel shows a live GPU status badge with adapter details and |
511 | 511 | | **Document Export** | docx + jszip | Word-compatible `.docx` generation (lazy-loaded) | |
512 | 512 | | **PWA** | Service Worker + Web App Manifest v3 | Offline support, installability, Workbox chunking | |
513 | 513 | | **i18n** | Custom React Context (`I18nContext.tsx`) | 2925 keys × 19 locales (de/en/es/fr/it + ar/he/fa RTL Beta + ja/zh/pt/el/fi/sv/hu/is/eu/ru/ko Beta); EN fallback; `localStorage` persistence | |
514 | | -| **Testing** | Vitest 4.x (7205+ tests / 589 files) + Playwright E2E | Unit/integration + cross-browser E2E; Stryker mutation (manual workflow) | |
| 514 | +| **Testing** | Vitest 4.x (7219+ tests / 589 files) + Playwright E2E | Unit/integration + cross-browser E2E; Stryker mutation (manual workflow) | |
515 | 515 | | **Code Quality** | Biome (lint + format) + TypeScript 7 (tsgo) strict | `--error-on-warnings` in CI; zero `any` policy | |
516 | 516 | | **Visualization** | Force-directed graph | Interactive character relationship network | |
517 | 517 | | **Desktop** | Tauri v2 | Cross-platform installer; auto-updater via `latest.json` | |
@@ -549,7 +549,7 @@ WorldScript-Studio/ |
549 | 549 | │ ├── sw.js # PWA Service Worker |
550 | 550 | │ └── manifest.json # PWA Web App Manifest v3 |
551 | 551 | ├── tests/ |
552 | | -│ ├── unit/ # Vitest unit tests (7205+ tests, 589 files) — count spans tests/, components/, packages/*/tests/, not just this folder |
| 552 | +│ ├── unit/ # Vitest unit tests (7219+ tests, 589 files) — count spans tests/, components/, packages/*/tests/, not just this folder |
553 | 553 | │ │ ├── ai/ # aiSmallModules, aiCoreFallbackPaths |
554 | 554 | │ │ └── settings/ # WebLlmPanel, AiSections |
555 | 555 | │ └── e2e/ # Playwright specs + helpers.ts |
@@ -711,7 +711,7 @@ The main pipeline is [`.github/workflows/ci.yml`](.github/workflows/ci.yml). Opt |
711 | 711 | | `scorecard` | weekly + `main` push | OpenSSF Scorecard — SARIF uploaded to GitHub Code Scanning | |
712 | 712 |
|
713 | 713 | **Current test metrics (2026-08-27, source-synchronized; CI remains authoritative for pass/fail):** |
714 | | -- **7205+ unit tests** across **589 test files** — CI is authoritative for pass/fail |
| 714 | +- **7219+ unit tests** across **589 test files** — CI is authoritative for pass/fail |
715 | 715 | - Coverage thresholds: lines ≥ 80 · branches ≥ 66 · functions ≥ 72 · statements ≥ 78 — enforced in CI (see Codecov badge for live metrics) |
716 | 716 | - i18n: **2925 keys × 19 locales** (en/de/fr/es/it + ar/he/fa RTL Beta + ja/zh/pt/el/fi/sv/hu/is/eu/ru/ko Beta) |
717 | 717 |
|
|
0 commit comments