Release digest
Fixed
- FORENSIC-03 (Wallet Chain Completion) — Extended
check_wallet_balance()to return ERC20 token positions (token_balances) alongside ETH balance, including decimals normalization and optional USD valuation. - FORENSIC-04 (Contract Verification Signal) — Added explorer verification
metadata to contract intelligence:
is_verified_source,verification_source,verification_url,contract_name. - DATA-05 (CoinGecko 429 Resilience) — Added throttling and retry/backoff
handling for
429/5xxresponses in both forensic and crypto CoinGecko clients. - PDF-03 (Report Path Unification) — Introduced
ReportOrchestrationServiceto unify JSON + PDF report section resolution (cache/generation/schema validation/quality gate/fallback), removing route fragmentation.
Internal
POST /api/forensic/check_walletnow returnstoken_balancesarray in response schema.POST /api/forensic/contract_infonow returns verification metadata fields.GET /api/reports/{company_name}now returnsreport_status.GET /api/reports/download/{company_name}now returnsX-Report-Statusheader (ok,quality-degraded,no-data,fallback).- New tests:
test_forensic_chain_completion.py,test_coingecko_rate_limit.py,test_report_orchestration_service.py. - Updated resilience coverage:
tests/test_report_resilience.py::test_corporate_download_uses_orchestration_status. - Full regression: 192 passed, 2 skipped, 22 deselected.
- Added
docs/reports/2026-03-05_BLOCK11_VERIFICATION_REPORT.md. - Synced main/internal/public docs for Block 11 forensic/report API changes.