Current version: 2.3.0
Product posture: CLI-first, with an interactive terminal mode for guided workflows
Runtime: Python 3.12+ and uv
Every release should validate the full deterministic test gate, formatting,
linting, type checking, package build, CLI help/version output, and current
documentation links. Historical reports under docs/history/ and
docs/reports/ are context, not current quality claims.
In-code suppressions (noqa, type: ignore, pragma: no cover) are not used;
fix the root cause instead.
billing / events / hooks / platform / pdf)ai.runtime entry for assistantShipped in 2.3.0: Real TD04 (nota di credito) support with FatturaPA
DatiFattureCollegate linkage; openfatture fattura generate-xml now
actually generates XML (no longer a stub); openfatture fattura
create-credit-note command; Alembic migration for TD04 linkage columns.
Optional next (on demand, not blocking): see TECHNICAL_DEBT.md for IDs/triggers, and GitHub milestone Post-2.1 backlog / tracker #36. No release-blocking debt.
See TECHNICAL_DEBT.md, ARCHITECTURE_COMPLETE.md, and releases/v2.3.0.md.
| Suite | Floor | Source of truth |
|---|---|---|
| Full package | 49% | [tool.coverage.report] fail_under in pyproject.toml (+ test.yml) |
| Payment module | 75% | payment-tests.yml (measured ~78%) |
Local default pytest runs without coverage (faster). Pass --cov=openfatture
(or use CI flags) when you need a report.
There is no maintained browser frontend or alternate web application surface. Future UI/API work requires a separate product decision and release plan. Public domain workflows stay on the assistant; do not reintroduce large CLI command trees for business operations.