v1.0.4
Fixes
- Resource leak in
analyze(): Top-level convenience function now useswith TickerOrchestrator() as orch:so the disk cache is always closed, even on exceptions. - Redundant SEC API call:
retrieve_multi_year_data()now accepts an optionalcompparameter, eliminating a redundantCompany(ticker)instantiation per ticker. - Dead code removal:
_get_financial_statement()no longer tries a non-existentget_*method before falling back to the property-based API.
Dependencies
- rich:
<15→<16(rich 15.0.0) - yfinance:
<1→<2(yfinance 1.3.0) - pyarrow:
<18→<24(pyarrow 23.0.1)
Documentation
docs/ARCHITECTURE.md(new): Data pipeline design — why the hybrid approach (synonym matching + CompanyFacts cross-validation) is stronger than either leg alone.docs/METRICS_REFERENCE.md(new): Complete reference for 79 extracted concepts, 42 derived metrics, and 7 scoring models.docs/USER_GUIDE.md(new): Real-world workflows, scoring model interpretation, and alert tuning.
CI
- Lint and typecheck enforced (removed
continue-on-errorfrom ruff/mypy).
Full Changelog: v1.0.3...v1.0.4