Release date: 7 August 2026
Status: Stable (architecture modernization)
Major packaging and architecture release. The public CLI surface is unchanged; import paths, optional extras, and honesty gates for experimental features are the breaking surface for integrators and contributors.
billing, events, hooks, platform, pdf
replace the old core / utils / services grab-bags.openfatture.ai.runtime.AssistantRuntime.ai/tools).MissingExtraError.noqa / type: ignore suppressions.| Removed / old | Use instead |
|---|---|
openfatture.core.* |
openfatture.billing.*, openfatture.events.*, openfatture.hooks.* |
openfatture.utils.* |
openfatture.platform.* |
openfatture.services.pdf.* |
openfatture.pdf.* |
openfatture.ai.voice.* |
removed |
openfatture.web_scraper.* |
removed |
In-process plugins package |
removed; use hooks under ~/.openfatture/hooks |
There are no compatibility shims. Update imports or pin to 1.3.x.
# Core (billing, SDI, payment, PDF, CLI)
uv sync
# Optional stacks
uv sync --extra ai
uv sync --extra rag # includes AI
uv sync --extra ml
uv sync --extra lightning
uv sync --extra all
openfatture assistant / interactive require the ai extra.
lightning_allow_mock=false.LNDClientError.lightning_allow_mock=true (local/dev only).ReindexQueue requires a reindex_callback (wired by AutoIndexingService).openfatture init
openfatture assistant [MESSAGE] [--session ID] [--stream/--no-stream] [--json]
openfatture interactive start
openfatture config ...
openfatture status [--json]
Domain workflows stay on the assistant and application tools.
| Path | Role |
|---|---|
AssistantRuntime → ChatAgent tool loop |
Product path (CLI / interactive) |
ai.runtime.graph.build_tool_loop_graph |
Multi-node LangGraph helper (tests / optional) |
ai.orchestration.workflows.* |
Internal / experimental multi-agent graphs |
Interactive sessions persist to the file session store and print a session ID.
Resume with openfatture assistant --session <id> or continue in interactive
mode (history comes from the store when persistence is enabled).
core / utils / services.pdf.lightning_allow_mock (defaults to off).openfatture init / config if paths or settings keys changed in your
environment (see CONFIGURATION.md).ruff check / ruff format --checkmypy openfatture/pytest suite (excludes performance / e2e / ollama markers)