Skip to content

feat(core): comprehensive Evalium platform release, infrastructure doctor, and hardening - #91

Merged
hardikkaurani merged 13 commits into
mainfrom
feature/evalium-production-release
Sep 21, 2026
Merged

hardikkaurani merged 13 commits into
mainfrom
feature/evalium-production-release

Conversation

@hardikkaurani

@hardikkaurani hardikkaurani commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

Overview

This pull request consolidates all uncommitted platform enhancements, infrastructure tooling, security hardening, and branding alignment across the Evalium repository. The work is organized into 10 focused, logical commits spanning infrastructure, backend services, enterprise auth, multi-language SDKs, CLI tools, frontend shell enhancements, and development tooling.


Changes by Commit

1. feat(infra): add environment doctor script and runtime pin files (8a69ca1)

  • Added scripts/check_environment.py with multi-component system diagnostics covering Python, Node.js, Docker, PostgreSQL, Redis, and Celery connectivity.
  • Added comprehensive unit test coverage in backend/tests/test_environment_doctor.py.
  • Added runtime version pins across .node-version (22.16.0), .nvmrc (22.16.0), .python-version (3.12.0), and .java-version (17).

2. docs: rebrand platform references and documentation to Evalium (a545eb0)

  • Standardized product naming and branding from EvalForge to Evalium across all core documentation.
  • Updated README.md, CONTRIBUTING.md, MAINTAINERS.md, GOVERNANCE.md, CODE_OF_CONDUCT.md, SECURITY.md, SUPPORT.md, ROADMAP.md, docs/PRD.md, docs/CONTRIBUTOR_ISSUES_CATALOG.md, and docs/deployment_guide.md.

3. fix(backend): harden database connection pool, redis lifecycle, and secrets fallback (a569020)

  • Configured PostgreSQL connection pool settings (pool_pre_ping=True, pool_recycle=1800, pool_timeout=30, max_overflow=20) to prevent stale connections during idle windows.
  • Hardened Redis connection lifespan and error recovery within backend/app/core/redis.py.
  • Added defensive fallback logic in backend/app/core/secrets.py to gracefully handle missing secret stores in non-production environments.
  • Updated application startup and shutdown routines in backend/app/main.py.

4. fix(migrations): standardize batch mode operations and foreign keys for SQLite/Postgres (8131a26)

  • Updated Alembic migrations (f1a2b3c4d5e6, f2a3b4c5d6e7, h4a5b6c7d8e9, i5b6c7d8e9f0) with SQLite-compatible batch_alter_table contexts.
  • Standardized foreign key constraints and naming conventions for clean migrations across both SQLite and PostgreSQL.

5. fix(auth): resolve Google OAuth token exchange error and streamline auth redirect (31d87e9)

  • Resolved token endpoint exchange errors and invalid client parameter handling in google_oauth_service.py.
  • Improved state verification with HMAC-SHA256 signature checking and single-use nonces.
  • Updated authentication redirection routes in backend/app/api/v1/router.py, frontend/src/pages/Connect.tsx, and frontend/src/pages/Landing.tsx.

6. fix(backend): fix dataset router path checks, job telemetry properties, and typing errors (63adfb1)

  • Fixed path verification logic in backend/app/datasets/routers/dataset.py to guard job.file_path before evaluating os.path.basename.
  • Replaced untyped dictionary construction with comprehension in backend/app/datasets/services/benchmark.py.
  • Fixed duration computation edge case when experiment.started_at is None in backend/app/datasets/services/experiment.py.
  • Added missing telemetry property accessors (hostname, active_tasks_count, completed_tasks_count, failed_tasks_count) to Worker model in backend/app/jobs/models/job.py.
  • Replaced deprecated datetime.utcnow() calls with timezone-aware datetime.now(timezone.utc).
  • Resolved all Pyright static type checker diagnostics across router and service layers.

7. feat(cli): enhance evalforge CLI command handling and update developer examples (00b976d)

  • Improved CLI argument parsing and error reporting in cli/evalforge_cli/main.py.
  • Updated CLI package metadata and dependencies in cli/pyproject.toml.
  • Synchronized walkthrough scripts and examples: examples/curl_api_walkthrough.sh, examples/python_quickstart.py, examples/run_cli_eval.sh, examples/typescript_quickstart.ts, and examples/README.md.

8. feat(sdk): synchronize SDK versions, error models, and packaging metadata (3e4f4a9)

  • Synchronized client interfaces and error class hierarchies across Python, Java, and TypeScript SDK packages.
  • Updated sdk/python/evalforge/__init__.py, client.py, exceptions.py, pyproject.toml, and README.md.
  • Updated Maven configuration in sdk/java/pom.xml.
  • Updated package specifications in sdk/typescript/package.json.

9. feat(frontend): update shell navigation, apply theme tokens, and refine utilities (7438578)

  • Updated frontend/src/layouts/WorkspaceShell.tsx navigation items and active states.
  • Enhanced WCAG AA contrast ratio compliance for badges and status indicators in frontend/src/index.css.
  • Synchronized page components: Overview.tsx, SettingsPages.tsx, and utility helper functions.
  • Updated frontend configurations in package.json and playwright.config.ts.

10. chore(tooling): configure trunk linters, docker compose prod, and lock dependencies (ada3413)

  • Configured Trunk Check linters (prettier, taplo, black, ruff, yamllint) in .trunk/trunk.yaml.
  • Added css.lint.unknownAtRules: "ignore" in .vscode/settings.json for Tailwind directives.
  • Updated production Docker Compose configuration in docker-compose.prod.yml and docker-compose.yml.
  • Added .markdownlint.yaml configuration.
  • Locked dependencies in backend/requirements.lock.

Verification and Testing

  1. Automated Unit & Integration Tests:

    • pytest backend/tests/test_developer_platform.py backend/tests/test_jobs.py passed with 14/14 tests passing.
    • backend/tests/test_environment_doctor.py passed with all assertions satisfied.
  2. Static Analysis & Type Checking:

    • Pyright executed across all modified backend modules with 0 errors, 0 warnings, and 0 informations.
  3. Code Formatting & Linters:

    • Prettier verified across JavaScript, TypeScript, JSON, and YAML files.
    • Taplo verified across TOML configuration files.
    • Trunk Check verified with no outstanding issues.

- Add production-grade Google OAuth 2.0 / OpenID Connect login
- Support canonical identity mapping based on Google sub to OAuthIdentity
- Implement single-use HMAC-SHA256 signed CSRF state with 10-minute expiry
- Add Open Redirect protection, OIDC nonce validation, and JWKS token verification
- Preserve existing email/password and API key authentication flows
- Auto-provision default organization, workspace, and scoped session key
- Add official Google Login button and OAuth callback route in frontend
- Add comprehensive 25-case test suite including 12 adversarial security attacks
Copilot AI lite review requested due to automatic review settings September 21, 2026 18:32
@vercel

vercel Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
eval-forge Ready Ready Preview Sep 21, 2026 6:38pm UTC

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@hardikkaurani
hardikkaurani merged commit f1d7a8b into main Sep 21, 2026
3 of 6 checks passed

This branch was successfully deployed

1 active deployment
Preview — eaa58948 Deployed Sep 21, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants