This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+4 more
Summary
AI summaryAdded economic stress index, macro regime bias, and enriched AI‑ready portfolio brief with detailed insights.
Full changelog
What's changed
Two big shifts in this release.
1. Macro signals — Stress + Regime
Two new descriptive composites built from FRED data, surfaced as standalone commands and as a one-line summary in `firma brief`.
`firma show stress` — Economic Stress Index (0–100), ported from worldmonitor's design with FRED-only series and re-normalized weights:
- T10Y2Y (yield curve, 23.5%)
- T10Y3M (bank spread, 17.6%)
- VIXCLS (volatility, 23.5%)
- STLFSI4 (St. Louis Fed financial stress, 23.5%)
- ICSA (initial jobless claims, 11.8%)
Labels: Low / Moderate / Elevated / Severe / Critical. Per-component breakdown always shown.
`firma show regime` — Macro regime bias from 5 binary signals: VIX level, yield curve, HY credit spread, USD trend (30d), breakeven inflation. Aggregates to Risk-on bias (≥70% bullish), Mixed, or Risk-off bias (≤40% bullish).
Important framing: uses "bias" not "BUY/CASH". Always shows individual signal breakdown. Footer: "Source: FRED · Not investment advice".
MCP: `show_stress`, `show_regime` tools.
2. AI-ready enriched brief
`firma brief` (and the `get_brief` MCP tool) used to give Claude just a portfolio total + movers + news headlines + macro. Claude had to call `show_portfolio` and `show_concentration` separately to reason about anything. v0.8 stuffs everything into one tool call.
New brief fields:
- `portfolio`: total + today's P&L + all-time P&L (was just total)
- `holdings`: full per-position list (shares, weight%, sector, country, currency, daily/total P&L)
- `concentration`: HHI across ticker / currency / sector / country with top contributors
- `movers`: tagged with portfolio weight and dollar P&L
- `news`: now includes summary, not just headline
- `earnings_upcoming`: tagged with portfolio weight
- `signals`: stress + regime composites
- `insights[]`: deterministic rule-based cross-references — top mover × weight, concentration warnings, earnings × weight, FX impact, regime × sector overlap, stress callouts
The insights are facts (not advice), pre-computed from the assembled data. They give Claude narrative starting points like:
- NVDA +4.32% is your top gainer (16.3% portfolio weight, $1,346 today)
- Single-name concentration is very high — TSLA represents 74% of portfolio (HHI 5793)
- AAPL earnings on 2026-04-30 — 5.8% of portfolio
- FX move cost −3,294,404 KRW on your $199,298 USD position today
- Risk-on regime (5/5 signals) historically favors growth tilts — your Automobiles concentration is 74%
CLI render also gains a portfolio summary line (Today / All-time) and an INSIGHTS section above MACRO TODAY.
3. New shared package: `@firma/brief`
Brief assembly logic moved out of `apps/cli/src/services/brief.ts` into a workspace package. Both CLI and MCP consume the same `assembleBriefData` function — eliminates the ~200 LOC drift that was building up between the two implementations.
Upgrade
```bash
npm install -g firma-app@latest
```
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About evan-moon/firma
Local-first CLI asset tracker for overseas stock investors with Claude Desktop MCP integration. 13 tools for portfolio tracking, net worth snapshots, cash flow analysis, and market research (earnings, insider trades, SEC filings)
Related context
Related tools
Beta — feedback welcome: [email protected]