Repository navigation
feat: official B3 listed-funds catalog - #54
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Unknown *11 tickers were guessed as FII. The official fundsListedProxy JSON (not HTML) splits ETF / ETF-RF / FII / FI-Infra so SPBZ11 and SPXR11 classify as equity ETFs.
A *11 ticker absent from the official listed-funds pages is Indefinido, not the suffix heuristic. Offline classify() is unchanged.
SPBZ11 and SPXR11 are curated equity at 0.97, so the cascade stops before the listed-funds provider. Coverage moves to QQQQ11.
2e12f83 to
ede3a05
Compare
|
Rebase onto SPBZ11/SPXR11 stay on the curated seed (0.97), so the cascade does not call the B3 catalog for them. Catalog coverage in tests moved to unseeded Preflight |
Summary
Official B3 listed-funds catalog via
fundsListedProxy/Search/GetListFunds(same base64-JSON family asindexProxy). Not an HTML scrape.Unknown
*11tickers were the FII suffix heuristic. REST, MCP andfindata resolvenow consult the catalog:SPBZ11/SPXR11→ ETF de renda variável (B3 typeETF)LFTS11→ ETF de renda fixa (ETF-RF)IFRA11→FI-INFRAon B3 (seed still wins offline at 0.97)Indefinido, not FIILibrary
resolve_asset()/classify()stay offline unless the caller passesproviders=[b3_listed_provider].Surfaces
GET /b3/listed-funds(typeand/orticker)findata b3 listed --type ETF/findata b3 listed SPXR11findata resolve SPBZ11(--offlineskips B3)resolve_assetinjects the providerValidation
bash scripts/ship/preflight.shvia pre-push: ruff, mypy --strict, pytest 365 passed (16 integration deselected)Deslop
no removable slop found (FIM type hints share one mapping)
Adversarial review
highthen follow-upmedium)fab2e37.provider_error); that is the existing engine isolation, not a catalog miss.MCP Trust Review
origin/mainf5a0c902e12f83resolve_asset(behavior: official B3 catalog for*11). No new MCP tool. REST 97→98.Achados
NO_FINDINGS
Over-engineering
No new MCP tool. Catalog lookup is one REST route + the existing
AssetProviderseam. Code mode unchanged. No credentials.Not merged
Stops before merge. No PyPI.