# v2.0.0-alpha.2 — Desktop contract + hard-constraints guards Two v2.0 stability items are now locked down by automated contract tests. No runtime behavior changes — these are regression guards. ## Added - **Desktop i18n parity test** — enforces that the desktop webview's string table covers exactly the same keys across English, Korean, Japanese, and Simplified Chinese (no missing, extra, or duplicate keys), and that every `data-i18n*` key used in the HTML exists. The "stable desktop contract" — the desktop UI covering project management, status/budget, git, session archives, replay, handoff preview, guarded execution, project inspector, and team handoff — is now guarded. - **Hard-constraints test** — locks the auth policy (provider key env vars blocked, `allowApiKeyEnv` off, cli-session mode) and asserts that no package declares a direct LLM API client dependency. ## Constraints (reaffirmed) - No direct LLM API client, no API-key storage, no auto commit/push/PR, no daemon requirement, no real-time chat platform, no default semantic/vector indexing. Deterministic, local-first, subprocess-only. ## Next in v2.0 - Installer/update story finalized; public docs pass. - Per-artifact schema v2 bumps as breaking changes require them.