Changelog¶
Changelog¶
All notable changes to bijux-rag are documented here. This project adheres to Semantic Versioning and the Keep a Changelog format.
[0.1.0] – 2025-12-26¶
Added¶
- Core and Functional Primitives: Added RAG types (
RawDoc,Chunk), result monad (Result[T, ErrInfo]with monadic operations and folds likefold_results_fail_fast), immutable document trees viamake_chunk, and tree utilities (flatten,fold_tree) with stack-safety. - Effect Descriptions: Introduced
IOPlanfor deferred sync I/O (io_pure,io_bind,perform), retry wrappers (retry_idempotentwithRetryPolicy), and transaction bracketing (Session,Tx,with_tx). - Async Effects and Streams: Defined
AsyncPlan/AsyncGenfor async operations (async_pure,async_bind,async_gather,async_gen_map,async_gen_flat_map,async_gen_gather), with lifts for sync integration (lift_sync,lift_sync_with_executor). - Resilience and Policies: Added async policies for retries (
AsyncRetryPolicy), timeouts (TimeoutPolicy), backpressure (BackpressurePolicy), rate limiting (RateLimitPolicy), fairness (FairnessPolicy), and chunking (ChunkPolicy); included test fakes (FakeClock,FakeSleeper,ResilienceEnv). - Streaming Combinators: Provided bounded mapping (
async_gen_bounded_map), rate limiting (async_gen_rate_limited), fair merging (async_gen_fair_merge), and chunking (async_gen_chunk); added streaming maps (try_map_iter,par_try_map_iter). - Interop and Helpers: Included stdlib FP utilities (
merge_streams,running_sum) and Toolz-compatible functions (compose,curried_map,reduceby); added chunking policies (fixed_size_chunk). - Adapters and Pipelines: Implemented storage adapters (
FileStorage,InMemoryStorage) with CSV support; defined composable pipelines likeembed_docs. - Boundaries and APIs: Added CLI entrypoint (
bijux-rag) for processing/serving; FastAPI HTTP API with embedding/retrieval endpoints and OpenAPI schema. - Typing and Testing: Included
py.typedmarkers, msgpack stubs, and strict configs for MyPy/Pyright/Pytype; comprehensive tests with Hypothesis (laws, equivalence), coverage, and E2E markers. - Documentation and Tooling: MkDocs setup with Material theme, plugins (mkdocstrings, minify), and pages for overview, usage, API reference, architecture (ADRs), and changelog.
- Quality Pipeline: Linting (Ruff), code health (Vulture, Deptry, Interrogate), security (Bandit, Pip-Audit), modular Makefiles (test, lint, docs, build), Tox envs (3.11-3.13), and CI with GitHub Actions.
- Build and Compliance: Hatchling packaging with VCS versioning; SBOM (CycloneDX), citations (CFF, BibTeX); REUSE compliance with MIT/CC0 licenses.