Skip to content

v0.7.0 — TypeScript on Bun, single core across four runtimes

Choose a tag to compare

@solaitken solaitken released this 09 May 08:56
214df8c

open-second-brain v0.7.0

Single TypeScript source of truth on the Bun runtime. Hermes, Claude Code, Codex, and OpenClaw all consume the same src/core/* modules; the duplicate JavaScript copy under openclaw/*.js and the parallel Python implementation under src/open_second_brain/*.py are gone.

Affected runtimes / agents

Runtime Plugin format Status in v0.7.0
Hermes Python plugin (plugins/hermes/) + MCP server Plugin shim slimmed; MCP entry unchanged (command: o2b, args: [mcp, --vault, …]). Identity reminder via pre_llm_call.
Claude Code .claude-plugin/ + .mcp.json Marketplace install path; bundled agent-event-log skill ships in cache.
Codex .codex-plugin/ (now also plugins/codex/) Codex 0.129+ rejects self-marketplace path: "." — plugin metadata moved to plugins/codex/ subdir.
OpenClaw Native TS plugin (openclaw/index.js) Bundle is now bun build --target=node of src/openclaw/index.ts; imports the same core. Per-turn identity via before_prompt_build hook.

Highlights

  • Single core: no more parallel JS / Python implementations of the vault / event-log / config / doctor logic.
  • Security fix (event_log_append): date parameter validated against YYYY.MM.DD; rejects .. segments and impossible calendar dates, blocking path traversal outside <vault>/Daily/.
  • Identity hallucination guard: model-supplied runtime names (codex, codex-cli, codex-exec, claude-code, hermes, openclaw) are filtered; the server falls back to the persisted agent_name instead of writing wrong-identity entries.
  • JSON-RPC compliance: id validated as string | number | null.
  • Bundled agent-event-log skill: stronger trigger description with a language-policy that follows the user's session language without naming any concrete language.
  • CI: matrix-tested against the declared minimum Bun (1.1.0) and latest; verify job gates release publication.
  • Tests: 176 bun:test cases (incl. 12-worker concurrent-append lock test) + 13 Python shim cases + tsc --noEmit.

Breaking changes

  • o2b CLI requires Bun >=1.1.0. Wrapper script aborts with an install hint if Bun is missing or older.
  • Python open_second_brain package and its pip entry points (o2b, vault-log, o2b-mcp) are removed.

Migration

# 1. Install Bun
curl -fsSL https://bun.sh/install | bash

# 2. Update plugin checkout (Hermes / Claude / Codex / OpenClaw — any)
# Then refresh CLI symlinks:
o2b install-cli

# 3. Verify
o2b doctor --vault <path> --repo <repo>

Hermes / Claude Code / Codex / OpenClaw runtime configurations do not change — same MCP entry, same plugin manifest references.

See CHANGELOG for the full breakdown.