- PR workflow: full tests with dev dependencies (pytest, ruff, pip-audit)
- Release workflow: production-only build for main and tags
- Use upload-artifact@v3 for Gitea compatibility
- Separate docs deployment for main branch
- Faster CI by avoiding dev deps in production builds