Skip to content

Commit 8cebccb

Browse files
committed
chore(release): 0.1.9
Roll-up release since 0.1.8 — connector-first broker profiles (IBKR + Robinhood Agentic Trading), Research Goal runtime, swarm reconcile/MCP keepalive + worker MCP tools + strict alpha-bench + retry_run, the agent/cli/ package refactor, the mootdx A-share loader, a robustness pass, and the session/version fixes (#150 #156 #157 #158 + UI indicator). Version → 0.1.9 across pyproject, SKILL.md, frontend APP_VERSION, and the wiki docs version selector. MCP tool count corrected to 36 (adds retry_run) across all 5 READMEs, with the ar/ko tool lists rebuilt from a stale 22 and the ar skill count fixed 75→77. CHANGELOG [0.1.9] + 0.1.9 news entry added to all 5 READMEs. Home backtest card data-source count corrected 3→7.
1 parent c57751b commit 8cebccb

11 files changed

Lines changed: 77 additions & 24 deletions

File tree

CHANGELOG.md

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,63 @@ This project adheres to [Semantic Versioning](https://semver.org/).
55

66
## [Unreleased]
77

8-
### UI
9-
- Redesigned the interactive CLI startup and run-state visuals with a large
10-
figlet-style banner plus a Claude Code-style activity rail using ``, ``,
11-
and `·` glyphs. Non-TTY prompt runs now fall back to plain text output.
8+
### Added
9+
10+
### Changed
11+
12+
### Fixed
13+
14+
## [0.1.9] — 2026-06-01
1215

1316
### Added
17+
- **Connector-first broker profiles (IBKR + Robinhood).** Trading access now
18+
starts from a selectable connector profile rather than separate broker/live
19+
entry points; `vibe-trading connector list/use/check/account/positions/orders/quote/history`
20+
and the MCP `trading_*` tools share the selected profile, with paper/live as
21+
a property under the connector. IBKR is usable immediately as a local
22+
read-only TWS / IB Gateway profile; the official IBKR remote MCP path is
23+
seeded as an OAuth `mcp.read` probe until stable read tool names ship.
24+
Robinhood Agentic Trading is a bounded connector behind OAuth, a committed
25+
mandate, an order guard, an audit ledger, and an instant halt switch.
26+
- **Research Goal runtime.** Long-running, research-only goals with auditable
27+
checklist criteria, budgets, and a `/goal` CLI command, plus REST + MCP
28+
endpoints (`start_research_goal`, `get_research_goal`, `add_goal_evidence`,
29+
`update_research_goal_status`) and a Web `GoalDrawer`.
30+
- **Swarm `retry_run`.** Re-launch a failed/stale/cancelled run with the
31+
original preset + variables; exposed as both `POST /swarm/runs/{id}/retry`
32+
and an MCP `retry_run` tool (the `list_runs → retry` loop). 36 MCP tools now.
33+
- **Operator-configured external MCP tools in swarm workers** (#142) and
34+
**remote MCP transports** for the built-in agent.
35+
- **`mootdx` A-share OHLCV loader** — native 通达信 TCP, no token, sits between
36+
tushare and akshare in the fallback chain. CCXT loader now reads proxy env
37+
for restricted networks (#126).
38+
- **Hypothesis Registry CLI**`list / show / invalidate`.
39+
- **Strict alpha-bench mode** with a mandatory random control (#143).
1440

1541
### Changed
42+
- **CLI split into the `agent/cli/` package** (from a 3216-LOC single file),
43+
with a refreshed interactive terminal UI (figlet banner + activity rail) and
44+
a single `cli/_version.py` version source.
45+
- Swarm status reconciles from live task files on every read; `run_swarm`
46+
sends MCP progress heartbeats, and the stale-run reaper uses per-run
47+
thresholds (#132).
48+
- Refreshed provider default model ids; bumped `langgraph` for CVE-2026-28277.
1649

1750
### Fixed
51+
- **`--version` no longer drifts (#156).** The version derives from package
52+
metadata, falling back to reading `pyproject.toml` directly — no hardcoded
53+
constant left to forget on release.
54+
- **Session running-status indicator** now survives reconnect / page reload /
55+
sidebar navigation; **swarm DAG** blocks downstream tasks when an upstream
56+
task fails (#145).
57+
- **Robustness pass:** pre-flight validation for LLM-generated signal engines
58+
with clean JSON errors (#149), graceful agent-loop exit at the iteration
59+
budget instead of an output-less `failed` (#148), `flush + fsync` session
60+
message writes that skip corrupted JSONL lines on read (#147), and IME Enter
61+
handling in the Web composer (#146).
62+
- **Full Report** link now always renders when a `runId` exists, even cross-browser
63+
(#150); SSE idle timeout is configurable via `VIBE_TRADING_SSE_TIMEOUT` (#157);
64+
cross-market correlation normalizes timestamps so crypto-vs-equity pairs align (#158).
1865

1966
## [0.1.8] — 2026-05-17
2067

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,13 @@
4646

4747
## 📰 News
4848

49+
- **2026-06-01** 🚀 **v0.1.9 released** (`pip install -U vibe-trading-ai`): Rolls up everything since 0.1.8. Connector-first broker profiles (IBKR local read-only TWS / IB Gateway + Robinhood Agentic Trading behind OAuth, a committed mandate, order guard, audit ledger, and instant halt). Research Goal runtime across CLI / REST / MCP / Web. A swarm pass — live reconcile + MCP keepalive, operator-configured worker MCP tools, a strict alpha-bench random control, and a new `retry_run` to relaunch failed/stale runs (**36 MCP tools** now). The `agent/cli/` package refactor with a refreshed terminal UI, the `mootdx` no-token A-share loader, and a robustness pass across backtest / agent loop / sessions. `--version` now always matches the installed package, fixing the 0.1.8 drift ([#156](https://github.com/HKUDS/Vibe-Trading/issues/156)).
4950
- **2026-05-31** 🔌 **Connector-first broker architecture (IBKR + Robinhood)**: Trading access now starts from a selectable connector profile instead of separate broker/live entry points. `vibe-trading connector list/use/check/account/positions/orders/quote/history` and the MCP `trading_*` tools share the same selected profile, where paper/live is an attribute of the connector. IBKR can be used immediately through a local read-only TWS / IB Gateway profile, while the official IBKR remote MCP path is seeded as an OAuth `mcp.read` probe until stable read tool names are available. Robinhood Agentic Trading remains the bounded live MCP connector behind OAuth, a committed mandate, order guard, audit ledger, and instant halt.
5051
- **2026-05-30** 🧰 **Robustness pass — backtest, agent loop, sessions**: LLM-generated signal engines now pass pre-flight interface validation before instantiation, catching circular self-imports, a missing `generate()`, non-defaulted `__init__` args, and wrong return types with actionable JSON errors instead of raw tracebacks ([#149](https://github.com/HKUDS/Vibe-Trading/pull/149)); a follow-up routes source-level AST validation errors through the same clean JSON envelope. The agent loop no longer burns all 50 iterations into a `failed` status with no output — it mirrors the swarm worker's wrap-up nudge at 80% of the iteration budget and drops tool definitions on the last iteration to force a final text answer ([#148](https://github.com/HKUDS/Vibe-Trading/pull/148)), guarded to fire only mid-run so it never displaces research-goal context. Session message writes now `flush + fsync` each append so expensive AI responses survive a mid-write crash, and the read path skips corrupted JSONL lines (logging the first 200 chars for recovery) instead of 500-ing the whole `/messages` endpoint ([#147](https://github.com/HKUDS/Vibe-Trading/pull/147)). The Web composer also fixes IME Enter handling so a composition-confirming Enter no longer submits mid-word ([#146](https://github.com/HKUDS/Vibe-Trading/pull/146)).
51-
- **2026-05-29** 🔐 **Robinhood Agentic Trading support (opt-in, bounded autonomy)**: Adds support for Robinhood Agentic Trading (remote MCP, OAuth). Off and read-only by default; the agent acts only inside a user-committed mandate (symbols / order size / exposure / leverage / daily cap), with a filesystem-level instant kill switch, preemptive flatten, mandate auto-expiry, a full audit ledger, and a persistent autonomous runner. No custody, no venue — the broker holds funds and executes; we only relay intent. Experimental / use at your own risk.
5252
<details>
5353
<summary>Earlier news</summary>
5454

55+
- **2026-05-29** 🔐 **Robinhood Agentic Trading support (opt-in, bounded autonomy)**: Adds support for Robinhood Agentic Trading (remote MCP, OAuth). Off and read-only by default; the agent acts only inside a user-committed mandate (symbols / order size / exposure / leverage / daily cap), with a filesystem-level instant kill switch, preemptive flatten, mandate auto-expiry, a full audit ledger, and a persistent autonomous runner. No custody, no venue — the broker holds funds and executes; we only relay intent. Experimental / use at your own risk.
5556
- **2026-05-28** 🧪 **Swarm safety + strict alpha gate + worker MCP**: Swarm DAG blocks downstream tasks when upstream fails ([#145](https://github.com/HKUDS/Vibe-Trading/pull/145)). New `run_bench_strict()` adds a same-universe random control + OOS split to catch factors that just track market beta ([#143](https://github.com/HKUDS/Vibe-Trading/pull/143), thanks @Soli22de). Swarm workers can call operator-configured external MCP servers, with trust boundary pinned ([#142](https://github.com/HKUDS/Vibe-Trading/pull/142), thanks @shadowinlife).
5657
- **2026-05-27** 📊 **mootdx A-share data source + output polish**: New `mootdx` loader speaks the native 通达信 TCP protocol for A-share OHLCV (no auth, no IP rate-limit, daily + intraday with 25-page walk-back pagination), slotting between tushare and akshare in the fallback chain ([#107](https://github.com/HKUDS/Vibe-Trading/issues/107)). CCXT loader now reads `HTTP_PROXY/HTTPS_PROXY/ALL_PROXY` so Binance/OKX public data works from restricted networks ([#126](https://github.com/HKUDS/Vibe-Trading/pull/126), thanks @ruok808). Final-answer rendering also dropped the ugly full-width `---` horizontal separators on CLI and Web: the system prompt now nudges the agent toward markdown tables and `##` headings, the CLI renderer strips standalone HRs as defense-in-depth, and the chat bubble hides any `<hr>` that slips through ([#139](https://github.com/HKUDS/Vibe-Trading/issues/139), thanks @sdwxm188).
5758
- **2026-05-26****Research Goal lifecycle closure**: Goal mode now behaves like a real task runner: Web UI goal creation creates or binds the session and immediately sends the kickoff turn; active goals can be continued, edited, cancelled, and completed across Web/API/CLI/MCP; and the agent advances from the current goal snapshot (criteria, evidence, claims, open items) instead of only the original prompt. Covered-but-still-active goals now enter an audit/status update instead of stopping silently, with regression coverage across backend, CLI, MCP, and frontend events.
@@ -717,7 +718,7 @@ vibe-trading-mcp --transport sse # SSE for web clients
717718

718719
</details>
719720

720-
**MCP tools exposed (35):** `list_skills`, `load_skill`, `start_research_goal`, `get_research_goal`, `add_goal_evidence`, `update_research_goal_status`, `backtest`, `factor_analysis`, `analyze_options`, `pattern_recognition`, `read_url`, `read_document`, `web_search`, `write_file`, `read_file`, `list_swarm_presets`, `run_swarm`, `get_market_data`, `get_swarm_status`, `get_run_result`, `list_runs`, `reap_stale_runs`, `analyze_trade_journal`, `extract_shadow_strategy`, `run_shadow_backtest`, `render_shadow_report`, `scan_shadow_signals`, `trading_connections`, `trading_select_connection`, `trading_check`, `trading_account`, `trading_positions`, `trading_orders`, `trading_quote`, `trading_history`.
721+
**MCP tools exposed (36):** `list_skills`, `load_skill`, `start_research_goal`, `get_research_goal`, `add_goal_evidence`, `update_research_goal_status`, `backtest`, `factor_analysis`, `analyze_options`, `pattern_recognition`, `read_url`, `read_document`, `web_search`, `write_file`, `read_file`, `list_swarm_presets`, `run_swarm`, `get_market_data`, `get_swarm_status`, `get_run_result`, `list_runs`, `reap_stale_runs`, `retry_run`, `analyze_trade_journal`, `extract_shadow_strategy`, `run_shadow_backtest`, `render_shadow_report`, `scan_shadow_signals`, `trading_connections`, `trading_select_connection`, `trading_check`, `trading_account`, `trading_positions`, `trading_orders`, `trading_quote`, `trading_history`.
721722

722723
### SWARM external MCP tools
723724

0 commit comments

Comments
 (0)