Skip to content

v2.12.0 — discovery shelves

Latest

Choose a tag to compare

@disin7c9 disin7c9 released this 22 Jul 12:27

v2.12.0 — discovery shelves

Discovery now shows real choices, honestly bounded — and refuses to pick a bet for you.

What's new

Shelf-aware discovery. When you're light in a role, --discover shows a shelf of ≥3 genuinely comparable funds (e.g. the intermediate-treasury sleeve IEF / VGIT / GOVT) and names the role's other shelves with counts instead of hiding or ranking them (also here: long (9) · short (4)). Drill one with --discover treasury:long; see a role's full per-shelf menu with --discover treasury.

Satellites are never flagged as a gap. Not holding a tech or theme bet is a stance, not a hole. --discover sector-equity hands you the map of shelves (tech · semis · clean-energy · …) and refuses to shortlist — picking the sector is your decision, not the tool's.

core vs tilt. Every universe fund is tagged core (a plain blend / investment-grade / diversified sleeve) or tilt (a style, single region, or high-yield lean). Gaps surface core funds first, so a junk-bond fund can no longer fill a "corporate-bond gap" by size accident.

New own-drawdown screen check. --screen reports a candidate's own worst fall versus your book's, and warns when it's deeper. Long treasuries and junk bonds pass the correlation test yet carry equity-scale drawdowns of their own — the number now says so (TLT: −23.8% over the demo window, deeper than the whole book's −9.8%).

MCP. discover_gaps gains optional role / flavor arguments and shelf fields — fully additive, no breaking change for existing clients.

Vocabulary. thematic-equity merged into sector-equity (13 roles) — structurally identical satellite twins.

Data fixes

IEF correctly labeled 7–10y intermediate (and stays the treasury preset default); mortgage funds (MTBA / LMBS) re-roled to bond-aggregate; the ARK funds filed under an innovation shelf; a mislabeled high-beta fund dropped.

Compatibility

Presets, onboarding, and allocation proposals are byte-identical to v2.11.4 (golden-pinned). A custom universe without the new core / flavor columns behaves exactly as before.

Install (Claude Desktop / CLI)

Attached: the wheel and the .mcpb bundle. Claude Desktop config route (works on the free plan):

{
  "mcpServers": {
    "asset-management": {
      "command": "uvx",
      "args": ["--from",
               "https://github.com/disin7c9/asset-management/releases/download/v2.12.0/asset_management-2.12.0-py3-none-any.whl",
               "asset-management-mcp"],
      "env": { "ASSET_BOOK": "C:\\path\\to\\your\\transactions.csv" }
    }
  }
}

Validated: holdings reconciled to the cent against a broker export, risk stats to 4 decimals against quantstats. 660 tests, strict mypy, ruff clean.