Prepares the 0.1.13 release and fixes the defects found while verifying its
claims. The pieces interlock — the documented counts are the code's surface —
so they land together rather than as commits that fail their own tests.
Code:
- attribution and impact carried no __all__, and quantlib_call dispatches on
__all__ alone, so the tool listed ZERO functions for both while the package
docstring advertised them. Both now export; exposed callables 184 -> 195.
- Six read-only analytics tools reach MCP for the first time (64 -> 70):
quantlib_call, cashflow_performance, orderbook_depth, sentiment,
technical_indicators, get_fundamentals. They use the existing mirrored path,
which refuses any class whose is_readonly is not True, so order-placing tools
remain structurally unreachable over MCP.
Tests that measured a proxy instead of the truth:
- The manifest tool count was derived from @mcp.tool decorators, which ignores
every mirrored tool. Four institutional-research tools were live over MCP and
absent from the published SKILL.md, and the contract test asserted that
absence was correct. Both now measure mcp.list_tools().
- test_every_allowlisted_module_actually_imports only asserted ok is True, which
can never catch an empty listing. A new guard fails when any allowlisted
module exposes no callables; removing an __all__ names exactly the two
offenders.
- The README count tests only proved the five files agreed with each other and
with a pinned constant, so a uniform error was invisible — that is how the
broker count sat at 12 after eToro shipped as the 13th. The pin is now
anchored to the profile registry, every connector must appear in the table,
and the quantlib export count joins the verified badges.
Docs, corrected against measurement rather than the previous text:
- merged PRs since 0.1.12: 42 -> 162 (42 counted merge commits only; squash
merges leave none)
- auto-discovered agent tools in the project tree: 68 -> 94
- broker connectors: 12 -> 13, with eToro added to the table in all five READMEs
- quantlib: 249 across 17 modules -> 265 across 19, now exactly the allowlist
- SKILL.md: skills 88 -> 89, MCP tools 60 -> 70, python ">=3.11" -> ">=3.11,<3.14"
to match pyproject
- zh/ja/ko/ar gain the eToro connector section and the
CONTENT_FILTER_WARNING_THRESHOLD row that only English carried
- v0.1.13 news entry and contributor credits across all five READMEs
Full suite 10147 passed / 54 skipped / 0 failed (baseline on a clean tree was
10140 / 54 / 0; the +7 are the new guards). CI grep gates pass.