v0.8.1 — Correctness release (whole-codebase review)
Correctness-only release from a whole-codebase review (self-review + external gpt-5.3-codex review). No new features.
Fixed
- P0: calls with
periodomitted (get_financial_statements("E02144"),get_narrative(...), screening) always raised a date-range error before contacting the API. Latest-filing search now scans backwards month-by-month and stops at the first hit. - XBRL fact routing: facts are routed by taxonomy membership instead of name keywords —
CashAndDepositsno longer lands in cash flow,TradeReceivablesis no longer dropped, facts from all instance files are pooled, and a missing CF statement triggers the fallback. Real filings gain previously-missing balance-sheet rows. - EDINET
"0"/"1"availability flags parsed correctly (bool("0")wasTrue). - Screening: missing-metric companies sorted last (was first, under the default descending sort); a single company's API error no longer aborts the whole screen.
- Growth rates use
abs(prior)denominators (loss improvements now read positive, consistent with diff). - Deterministic diff ordering + honest
added/removedsummary counts. - Disk cache: atomic writes (temp file + fsync +
os.replace, symlink-safe), corrupt-entry recovery, andbase_url-scoped keys. - Balance-sheet validation tolerance corrected for raw-JPY values.
See CHANGELOG.md for the full list, documentation fixes, and known limitations deferred to v0.9.