All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- DuckDB Vectorized Analytics Engine: Integrated DuckDB in
StatisticalAnalyzer(src/core/domain_services.py) for high-performance vectorized descriptive statistics with automatic fallback to Pandas/NumPy. - Async Background Job Queue System: Added
JobRepository(src/adapters/repositories/job_repository.py) and endpointsPOST /api/jobs/execute(returning202 Accepted+job_id) andGET /api/jobs/{job_id}for polling background execution. - CSV Formula Injection Sanitization: Implemented cell-level sanitization in
FileSystemAdapter.export_fileto escape=, +, -, @formula triggers in exported CSV and Excel files.
- Frontend Plotly Code-Splitting: Created
LazyPlot.tsxusing dynamicPromise.all([import(...)])for Plotly.js, reducing the initial JavaScript bundle from 4.8MB to 239KB. - Virtualized Data Table: Created
VirtualizedTable.tsxfor paginated (10, 25, 50, 100 rows) and scroll-limited rendering of tabular previews. - Health Probes: Added
/healthz(liveness) and/readyz(readiness) endpoints insrc/adapters/api/router.py.
- Hexagonal Architecture Core Ports: Added
FileIOProviderandPlotterProviderabstract ports tosrc/core/ports.pyto enforce strict hexagonal layer isolation. - Outlier Handling Skill: Registered
@register_skill("handle_outliers")inclean_skills.pyfor IQR detection, removal, and Winsorization capping. - Extended Test Suite: Added 32 new tests across
tests/test_skills.py,tests/test_domain_services_edge_cases.py, andtests/test_api_edge_cases.py, increasing test count from 21 to 53 passing tests and test coverage to 88%. - GitHub Actions CI Pipeline: Created
.github/workflows/ci.ymlrunning Python 3.11 linting (Ruff), type checking (Mypy), test coverage (Pytest), and Node.js 20 frontend builds. - Global Pytest Initialization: Added
tests/conftest.pyandsrc/core/agents/skills/__init__.pyfor automatic skill registration upon package import.
- Strict Layer Isolation: Removed all infrastructure imports (
src.adapters.*) from core skills (io_skills.py,visualization_skills.py), replacing them with dynamic dependency resolution via core provider ports. - Router Consolidation: Refactored
/api/outliersand/api/plotendpoints insrc/adapters/api/router.pyto delegate execution throughagent_manager.execute_skill(...). - Payload Extraction Refactoring: Added
_prepare_session_dataframehelper insrc/adapters/api/router.pyto remove duplicate session extraction logic across endpoints. - Statsmodels Fallback: Added robust linear regression fallback in
PlottingAdapter.plot_regressionwhenstatsmodelsis omitted or uninstalled. - Code Quality & Type Annotations: Fixed all Ruff linting warnings and updated Mypy configuration in
pyproject.tomlwith clean strict compliance.
- Fixed Vercel stateless execution payload extraction for
/api/clean/nullsand/api/clean/scale. - Fixed Vercel
/tmpexport path handling inFileSystemAdapter.export_file.
- Initial Vercel serverless deployment setup with FastAPI backend and React frontend.
- Native NumPy implementations for K-Means clustering, Z-Score scaling, and Kurtosis distribution shape calculations.
- AgentManager orchestration and 9 super-skills system.