Release archive
3.2.31

FORENSIC-03 (Wallet Chain Completion) & FORENSIC-04 (Contract Verification Signal)

Release v3.2.31 focuses on FORENSIC-03 (Wallet Chain Completion), FORENSIC-04 (Contract Verification Signal), and DATA-05 (CoinGecko 429 Resilience).

FixedInternal
FORENSIC-03 (Wallet Chain Completion) & FORENSIC-04 (Contract Verification Signal)

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/5xx responses in both forensic and crypto CoinGecko clients.
  • PDF-03 (Report Path Unification) — Introduced ReportOrchestrationService to unify JSON + PDF report section resolution (cache/generation/schema validation/quality gate/fallback), removing route fragmentation.

Internal

  • POST /api/forensic/check_wallet now returns token_balances array in response schema.
  • POST /api/forensic/contract_info now returns verification metadata fields.
  • GET /api/reports/{company_name} now returns report_status.
  • GET /api/reports/download/{company_name} now returns X-Report-Status header (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.

Technical notes