Skip to content

Add SEC, FRED/ALFRED, ECB, and World Bank finance sources - #17

Merged
mikkokotila merged 5 commits into
masterfrom
codex/finance-sources
Oct 5, 2026
Merged

mikkokotila merged 5 commits into
masterfrom
codex/finance-sources

Conversation

@mikkokotila

@mikkokotila mikkokotila commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Agents can now retrieve corporate fundamentals, dated macroeconomic series, monetary statistics, reference exchange rates, and global indicators through the same provenance and replay contract as the research sources. This adds SEC EDGAR, FRED/ALFRED, ECB SDMX, and World Bank adapters.

SEC preserves complete filing histories and native units/amendments, with exact-concept reads and bounded parallel company retrieval. FRED supports 100,000-observation dated series pages and 500,000-observation bulk release pages. ECB batches SDMX dimensions and retains units, scaling and revision semantics. World Bank batches 60 indicators into counted pages, with a 32,767-row ceiling verified in bounded probes.

Shared transport changes restrict finance routes, preserve HTTP status and upstream version headers, and keep FRED v1 query authentication out of public provenance/cache identity. HTTPX query-key logs are redacted by a stable filter with parallel-key regression coverage. The CLI adds observation/release/catalogue operations, structured credential failures, and credential-free offline replay. FRED release resumes require both checkpoint parts; World Bank rejects mixed wildcard/country selections regardless of casing; ECB preserves mixed SDMX period formats. CSV regression tests independently exercise each malformed-response guard.

Validation: 273 offline tests pass on Python 3.10 and 3.12; lint/diff checks pass; the 0.5.0 wheel builds and installs/imports in an isolated Python 3.10 environment. Live SEC, ECB and World Bank probes passed: 2,257 Apple filings; exact Assets query 99.47% smaller than full facts with narrower coverage; 29,150 World Bank observations in one request; raw replay verified. FRED authenticated live retrieval remains unverified because no key was configured. Provider limits describe capacity, not measured sustained daily yield; free access does not override per-dataset rights.

Builds on the research-source adapters merged in #16. Documentation: docs/FINANCE.md and README.

Sanity

  • I'm aware of the implications of the proposed changes
  • Code is PEP8 (critical lint checks pass; full style conformance is not asserted)
  • I'm making the PR to master

Tests

  • Changes have gone through actual use testing

@bit-mis bit-mis left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed: no blocking findings.

@bit-mis bit-mis left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change requested in inline comments.

Comment thread dedomena/sources/ecb.py Outdated
Comment thread dedomena/sources/worldbank.py Outdated
Comment thread tests/test_finance_ecb.py

@bit-mis bit-mis left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change requested in inline comments.

Comment thread dedomena/sources/fred.py
Base automatically changed from codex/research-sources to master October 2, 2026 08:31

@bit-mis bit-mis left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Existing unresolved inline comments still block this head.

Add Hyperliquid market data and reusable weighted IP routing
@mikkokotila
mikkokotila merged commit 7ec5150 into master Oct 5, 2026
6 checks passed
@mikkokotila
mikkokotila deleted the codex/finance-sources branch October 5, 2026 06:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants