Make the /reset endpoint more robust by accepting task_id and seed from either a JSON body or query parameters. ResetRequest.task_id is now optional (defaults to BUG_DETECTION). The endpoint resolves final values with precedence: default < body < query, then calls env.reset(final_task_id, final_seed). Added fastapi Body import, an info log on reset, and a test (test_api_reset_robustness) that verifies no-body, empty-body, query-only, and query-overrides-body behavior.
Enhance architectural grader by computing quality as a mix of semantic term matches and message length: extract full text, match against architectural keywords, compute semantic_score (capped) and length_score, then combine as 0.7*semantic + 0.3*length. Clarified final weighting comment and kept final score normalization. Add extract_json utility to robustly parse JSON from LLM outputs (handles raw JSON, fenced code blocks, and brace-based fallback), increase LLM max_tokens to 800, and use extract_json in call_llm for more reliable parsing of model responses.
Add TESTING=true to the CI workflow and set APP_ENV=test in tests so test runs are marked as testing. Update TrustedHostMiddleware to treat 'test' like 'development' (allow all hosts) and include 'testserver' in allowed hosts for non-dev cases so FastAPI's TrustedHost won't block TestClient requests.
Avoid initializing the SQLite DB during tests by checking the TESTING env var in app.lifespan and logging accordingly. Add scripts/reset_db.py to remove and re-create the DB file for fresh state during development/benchmarks. Update tests: conftest sets TESTING=true and test_api uses a shared client fixture instead of creating TestClient per test. Update results.json sample data (IDs and durations) as part of test/sample data refresh.
Bump core version to 2.0.0 (FastAPI metadata and health_check) and update dashboard package metadata (version 2.0.0, add author). Add Divyansh Rawat as a co-author in LICENSE and owners in codelens.yaml. Polish README: reformat tables, clarify scoring and API reference, add Authors & Maintainers, fix example whitespace, and improve Docker/testing instructions for readability. These changes prepare a new release and improve attribution and documentation.
feat: finalize CodeLens. production suite (Docker, CI/CD, Documentation)
- Complete 100% professional rebrand to 'CodeLens.' across all assets
- Implement multi-stage, non-root Docker builds for production security
- Establish 5-job unified GitHub Actions pipeline (Lint, Test, Validate, Docker, GHCR)
- Rewrite README.md into a professional 12-section technical manual
- Create CONTRIBUTING.md, CHANGELOG.md (v1.0 to v2.0), and MIT LICENSE
- Standardize all configuration templates (.env.example, .dockerignore)
- Add PyYAML dependency and verify with 155/155 passing tests
Add a new brand asset (assets/codelens-brand-v2.svg), remove the old assets/logo.svg, and update README.md to reference the new SVG. The new asset updates the logo dimensions and refreshed styling (400x100) to reflect updated branding.
Add a white rounded-rect background to the logo SVGs for better visibility on dark backgrounds, and expand the viewBox/height to accommodate it. Updated files: assets/logo.svg, dashboard/public/logo.svg, static/dashboard/logo.svg. assets/logo.svg also includes a brief comment noting the background.
feat: finalize CodeLens. rebranding and production environment polish
- Complete transition to CodeLens identity across all source code and documents
- Integrate high-precision SVG logo and signature red-dot favicon
- Optimize Dashboard header with minimalist monospaced typography
- Fix backend static routing in app.py to correctly serve root brand assets
- Create GET_STARTED.md with troubleshooting for venv and database initialization
- Standardize all CLI commands (migrate.py init) and Docker tags
- Resolve Tailwind CSS linting warnings and refactor app startup to lifespan pattern
- Added 30 parametrized scenario validation tests (97 total cases)
- Implemented shared fixtures in conftest.py with in-memory DB override
- Added persistence layer tests for SQLite and leaderboard logic
- Expanded grader tests with edge cases for line tolerance and penalties
- Added API error path and pagination tests
- Fixed logic bug in SecurityGrader keyword thresholding
- Configured pytest-cov with 80% coverage enforcement