Canonical source
This page mirrors
CHANGELOG.md
at the repository root. Edit that file, not this one.
Changelog¶
All notable changes to Infolake (Truth Atlas).
The format is based on Keep a Changelog, and the project adheres to Semantic Versioning.
[5.2.0] — 2026-04-22¶
Added¶
src/layout with one installable distribution (infolake), declared inpyproject.toml.- Plugin system under
infolake.extensions:Protocolinterfaces and an entry-point backedRegistryfor LLM backends, embedders, fetchers, pipeline stages, projectors, and graph edge sources. infolake.diagnosticspackage withpynvml-based per-GPU snapshots,psutil-based host runtime snapshots, service probes, OpenTelemetry + Prometheus wiring, and a unifiedSystemReportmodel.infolake-doctorCLI (JSON / text /--watch/--gpu-only/--no-gpu).infolake.core.container.ContainerDI dataclass;get_config()/get_db()lazy accessors with PEP 562__getattr__for backward-compatibleconfig/dbimports.- Full
compose.ymlwithqdrant,vllm(GPU),worker(GPU),backend,frontend, plus anobservabilityprofile addingprometheus,grafana, anddcgm-exporter.compose.override.ymlfor dev (bind-mounted source, hot reload, optional Vite dev server). - Multi-stage Dockerfiles under
docker/(CUDA base, vLLM, worker, backend, nginx frontend) with real HTTP healthchecks, GPU device reservations, and bind-mounted state dirs. pyproject.toml-driven tool config:ruff(lint + format),mypy(strict oncore/backend),pytest+ coverage,deptry. Root.pre-commit-config.yamlwith ruff/ruff-format/mypy/detect-secrets hooks. GitHub Actions CI (lint,test,frontend,docker-smoke).Makefilewithup,up-obs,down,ps,logs,build,test,lint,fmt,typecheck,check,doctortargets./api/readyreadiness endpoint returning a distilledSystemReport.config/default.json+config/local.example.json;AppConfigextended withdiagnostics.telemetryandpipeline.stagessections (bothextra="forbid").
Changed¶
atlas_core→infolake.core;atlas_backend→infolake.backend;crawling/enrichment/mapping→infolake.pipelines.*;database→infolake.db;scripts→infolake.cli;atlas_core.services→infolake.services. All Python imports were rewritten via a one-shot AST-aware rewriter (onlyfrom ... import/import ...statements modified).- Oversized modules converted to facade packages:
repositories.py(1 179 LOC) →infolake.core.repositories.{documents,domains,fts,pipeline_runs,regions,stars};llm_client.py(700 LOC) →infolake.core.llm.{protocol,outlines,instructor,legacy,factory};mapping/pipeline.py(996 LOC) →infolake.pipelines.mapping.{pipeline,build_graph,spectral,project,color,label};crawling/orchestrator.py(710 LOC) →infolake.pipelines.crawling.{orchestrator,scheduler,fetcher,writer}. - Module-level import side effects removed:
config = Config()anddb = Database()no longer instantiate at import time; lazy PEP 562__getattr__preserves the legacy names. tests/conftest.pyrewritten:INFOLAKE_CONFIG_PATHpoints at a temp fixture JSON, no moreConfig._instancemonkey patching.scripts/services.py(583 LOC) replaced byinfolake-servicesCLI: orchestration verbs (up,down,ps,logs,build,status) proxy todocker compose; in-container runners (enrich,enrich-loop,crawl,pipeline,smoke) keep their Python-level behaviour.- Backend readiness:
FastAPI.on_startupwires optional Prometheus + OpenTelemetry viainfolake.diagnostics.telemetry.install_all. - Environment variables renamed:
ATLAS_CONFIG_PATH→INFOLAKE_CONFIG_PATH;ATLAS_LOG_LEVEL→INFOLAKE_LOG_LEVEL;ATLAS_ALEMBIC_DATABASE_URL→INFOLAKE_ALEMBIC_DATABASE_URL. Legacy names are still read as fall-through.
Removed¶
- Root
node_modules/and straypackage.json/package-lock.json. Theshadcndev dependency lives underfrontend/package.json. - Committed runtime artefacts at the repo root (
run.log,database_inspection_report.txt,test_seed copy.txt) and strayfrontend/{logs,data,checkpoints}directories. docker-compose.yml(superseded bycompose.yml+compose.override.yml).
[5.1.x] — Pre-refactor history¶
| Version | Date | Changes |
|---|---|---|
| 5.1.0 | Apr 2026 | Schema trimmed to v5.1 table/column set, Meilisearch removed, FTS moved to SQLite FTS5, Pydantic+SQLModel boundary stack, Outlines/instructor LLM clients. |
| 5.1.1 | Apr 2026 | Environment/config/services cleanup: single config.json, Alembic two-revision cutover applied, deprecated scripts/modules removed, unified scripts/services.py launcher added, operator docs refreshed. |
| 5.1.2 | Apr 2026 | OutlinesLLMClient migrated to the outlines ≥1.0 API (from_openai / from_transformers + Generator); unblocks enrichment against the installed outlines 1.2.x. |