• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

thanos / beancount_ex / 505be227e77c141889804a61892b4068ae7abef8-PR-63
96%
main: 96%

Build:
Build:
LAST BUILD BRANCH: v0.6.0/Ecto_Storage-Native_Queries-Reunify
DEFAULT BRANCH: main
Ran 02 Jul 2026 11:46PM UTC
Jobs 1
Files 72
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Jul 2026 11:45PM UTC coverage: 95.577% (+3.7%) from 91.86%
505be227e77c141889804a61892b4068ae7abef8-PR-63

Pull #63

github

thanos
This branch reunifies the native engine into `beancount_ex`, removes the Datalog/native-BQL
stack, and introduces the release's headline feature: an Ecto/SQLite storage layer
(`Beancount.Repo`, `Beancount.Storage`, `Beancount.Queries`, 19 schemas).

**The mature parts of the codebase are in excellent shape.** The parser, booking engine,
directive sorting, renderer, compare harness, and golden/property test infrastructure are
well-tested (97.2 % coverage), Decimal-safe, dialyzer-clean, and largely match their
documentation. CLI temp-file handling, error propagation, and concurrency discipline are
sound.

**The new storage layer is not release-ready.** Empirical testing found five verified
data-fidelity bugs in the store → load → render path: `custom` directives crash
`export_file/1`, price annotations crash rendering after load, option values lose their
type, `pushtag`/`poptag` ordering is destroyed on load (contradicting the module docs),
and non-string metadata values are silently stringified. The storage test suite is
happy-path only and in one case *asserts the buggy behavior as correct*. Separately, the
native engine has one Critical gap (`include` files are existence-checked but never
loaded) and the parser crashes on invalid calendar dates.
Pull Request #63: V0.6.0/ecto storage native queries reunify

561 of 606 new or added lines in 20 files covered. (92.57%)

2 existing lines in 1 file now uncovered.

1880 of 1967 relevant lines covered (95.58%)

165.08 hits per line

Uncovered Changes

Lines Coverage ∆ File
15
77.92
2.06% lib/beancount/engine/elixir/inventory.ex
14
90.3
-4.19% lib/beancount/engine/elixir/ledger.ex
5
97.8
lib/beancount/storage.ex
5
68.75
-31.25% test/support/fake_engine.ex
3
66.67
-33.33% lib/beancount/application.ex
1
98.77
3.85% lib/beancount/compare.ex
1
96.0
lib/beancount/engine/elixir/directive_sort.ex
1
97.92
7.7% lib/beancount/engine/elixir/reports.ex

Coverage Regressions

Lines Coverage ∆ File
2
90.3
-4.19% lib/beancount/engine/elixir/ledger.ex
Jobs
ID Job ID Ran Files Coverage
1 505be227e77c141889804a61892b4068ae7abef8-PR-63.1 02 Jul 2026 11:46PM UTC 72
95.58
GitHub Action Run
Source Files on build 505be227e77c141889804a61892b4068ae7abef8-PR-63
  • Tree
  • List 72
  • Changed 16
  • Source Changed 0
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #63
  • PR Base - main (#A15F4A79...)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc