94529df775
Real CI at .gitea/workflows/ci.yml (Gitea reads .gitea/workflows, not the empty untracked .git/workflows/ci.yml cruft): backend dotnet build + dotnet test (39 tests) and frontend npm ci + build, on pushes to main/develop and all PRs. Establishes the merge gate recommended in the Phase 7 git-workflow review. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>