CI / build + unit + e2e (pull_request) Successful in 2m5s
- Add .gitea/workflows/ci.yml: typecheck -> lint -> unit -> build -> deterministic Playwright e2e against the dev webServer (LLM_STUB=1). No dind/docker/static IP. - package-lock.json is committed (reproducible `npm ci`); verified npm install is a no-op. - Add CHANGELOG.md, set version 0.1.0, add .env (gitignored) + .env.example placeholder. - Document the mandatory feature-branch -> PR -> CI -> auto-merge workflow in AGENTS.md + README.md (e2e now runs in CI on every PR). - Add Playwright html/json reporters (playwright-report/, test-results/e2e.json) for the CI E2E-results summary step and the failure artifact upload.