Skip to content

Releases: TraderAlice/OpenAlice

v0.51.0-beta.2

18 Jun 11:58
e901c90

Choose a tag to compare

v0.51.0-beta.2 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

⚙️ CI

  • desktop: Build + publish per-platform installers on release

🚀 Features

  • desktop: Supervise UTA in the Electron shell + beta-aware L1 update check

v0.51.0-beta.1

18 Jun 11:47
dc69f7a

Choose a tag to compare

v0.51.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • uta,alpaca: Single attached exit leg → oto, not bracket
  • ui: Morph workspace AI-config Save button into Test until verified
  • workspaces: Persist session title across reload
  • workspaces: Unstick PTY on socket drop + dev terminal transport hardening
  • workspaces: Every create path enables all adapters, not just template head
  • ui: Revert Midnight to neutral charcoal-black (drop the navy tint)
  • ui: Responsive shell + two-sidebar hierarchy pass
  • ui,uta: Render boolean preset fields as toggles, submit real booleans
  • uta,ccxt: Guard demoTrading/sandbox against exchanges without the endpoint
  • workspaces: Retry credential probe with thinking enabled for mandatory-reasoning models

📚 Documentation

  • claude-md: Correct stale logging convention
  • Contributor recognition — CONTRIBUTORS.md + README wall + CLAUDE.md convention
  • contributors: Credit @2233admin for the Linear shell design pass

🚀 Features

  • workspaces,ui: Ask-Alice quick-chat launch — seeded TUI + landing composer
  • workspaces: Quick-chat is one chat workspace per day
  • ui: Files panel default-collapsed, Workspaces below News, pending-push badge
  • ui: Trading-as-Git history as one recency stream + per-UTA filter
  • ui: Ask Alice as the primary entry + cleaner session rows
  • ui: Redesign the Ask Alice sidebar — prominent New chat, chat-history feel
  • ui: Split-button on New chat — keep New workspace in a dropdown
  • ui: Session titles from the first message + state-as-action icon
  • ui: Confirm before deleting a session
  • workspaces: Cross-workspace file collaboration — inbox read + peer path + git identity
  • ui: Linear dark palette — re-traced from #302, glare-softened
  • ui: Linear shell density pass + responsive Ask Alice backdrop
  • ui: Light / dark / auto theme — Daybreak + Midnight palettes + toggle
  • ui: Theme the Workspaces surface + terminal (kill the dark island)
  • uta: Add Binance broker preset (live + demo trading)

v0.50.0-beta.1

14 Jun 08:33
13ec595

Choose a tag to compare

v0.50.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • tool: Dogfood findings — search false-negative, stale approval channel, self-correcting errors
  • uta,tool,cli: TPSL refusal gate + the trading-as-git ergonomics sweep
  • uta: STP/STP LMT reach CCXT venues via base-type + triggerPrice
  • uta,tool: Round-4 dogfood — getOrders crash, orderId truncation, spot reduceOnly, ambiguous portfolio rows
  • uta,cli: Round-6 alpaca live findings — strict flags, stage-time order validation, bracket leg tracking
  • ibkr: Round-7 IBKR paper acceptance — TPSL gate, open-orders wiring, conId quotes, account-cache deltas, secType decode
  • uta,ibkr: AliceId-expansion numeric-default clobber + 10xxx error routing
  • ibkr,ui: Community-issue sweep — currency-keyed account values (#295), mixed-book valuation (#314/ANG-101), dead-connection gate (#294), symbol-first display (#208)
  • uta,ibkr: Option sign/unit correctness (S14) + multi-row sync boot-loop crash

📚 Documentation

  • UTA live-testing scenario catalog — institutionalize the dogfood loop
  • skills: Point rss guidance at opencli when the feed archive is thin

🔧 Refactoring

  • workspaces: CLI-only tool injection — no MCP into workspaces

🚀 Features

  • uta,ui: UTA detail page becomes an exchange frontend
  • ui: Exchange-style two-column layout, honest account panel, aligned header actions
  • tool,cli: Agent-boundary compaction — trading outputs stop lying to the model
  • uta,ibkr: Hub/leaf contract identity — bond chains, option chains, FX families

v0.42.0-beta.1

11 Jun 23:28
18e3915

Choose a tag to compare

v0.42.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

UTA

  • Close the order state machine + PnL read-state fix (#325)

⚡ Performance

  • uta: Listing-driven sync — hanging stop/TP orders cost zero per pass

🐛 Bug Fixes

  • trading: Asset class is venue-decided, not a secType guess (CCXT ≠ commodity)
  • workspaces: Auto-trust project MCP servers in claude adapter spawns
  • docker: Repair self-host image after the desktop package split
  • ui: Terminal renderer escape hatch + unified WebGL degradation
  • ports: Wildcard-aware port probe + bind MCP to loopback by default
  • mcp: Lock MCP/CLI listener to loopback, never honor BIND_HOST
  • market,tools: OECD house/share price fetchers — post-reshuffle dataflows
  • market: FMP insider-trading aliases for the stable endpoint
  • market: Normalize FMP etf-sectors weight to decimal — same units as the yfinance fallback (consumers must not see provider-dependent units)
  • market: Per-board hub breaker, tripped only by transport failures
  • uta: Collapse the FX currency client to SDK-only — the missed openbb-api consumer
  • tool: SectorRotation goes hub-first like the UI route — agents and the UI must read the same board
  • remote-access: Same-origin PTY WS upgrade + trusted-proxy-gated X-Forwarded-* trust
  • ui: Template detail page — metadata header, 13px prose, list markers
  • security: Mask credentials in POST/PUT /uta response echoes
  • ui: Close the create-UTA wizard on save, not on first connect
  • uta: Close the order state machine — auto-sync poller, fill data, PnL invariant
  • uta: Cost basis consumes sync fills at execution price
  • uta: Bybit open-orders listing sweeps spot+swap — unscoped call silently hides spot
  • uta: Surface Alpaca error bodies — opaque 422s carried the real reason all along

📚 Documentation

  • Introduce the Data Hub in README — zero-key market data story
  • workspace: Teach the three-CLI split in template instructions
  • Data root → ~/.openalice + sealed accounts.json across docs

🔧 Refactoring

  • ui: Unify asset search (one logic, both boxes) + source-aware sidebar
  • ui: One board hook + one meta grammar
  • market: Remove the openbb-api backend — divorce step 1
  • tools,cli: News → rss — the name should say what the data is
  • paths: Unify on OPENALICE_HOME + route stray data/ literals through dataPath()

🚀 Features

  • market,ui: Federated K-line sources in the chart — pick the provider (Phase 3)
  • market,ui: Reform the asset search to be source-aware (explicit provider)
  • market,ui: Reference-data contract + Movers board (own standard, not OpenBB-compat)
  • market,ui: Calendar board (earnings / IPO / ex-dividend, FMP)
  • market,ui: Macro board (curated FRED regime dashboard)
  • market,ui: Term Structure board (Deribit BTC/ETH futures curve)
  • market,ui: S&P 500 valuation strip on the market landing (multpl, keyless)
  • market,tools,ui: Global Macro board + OECD country tools
  • market,tools,ui: IMF PortWatch shipping data — stub provider retired
  • config: User-global data-vendor keys (~/.openalice/provider-keys.json)
  • market,tools: Keyless yfinance fallbacks for FMP-only cells
  • guardian: Configurable ports via data/config/ports.json + env
  • market,tools,ui: Land the salvageable no-consumer endpoints
  • market,tools: Fix the broken long-tail fetchers and land the rest
  • market,ui: Fed board + Global Macro house/share columns + batched OECD
  • market: Reference cache — the hub's cache layer in single-node form
  • market: Hub-first reference boards — zero-key out of the box
  • market: Endpoint-grain hub coverage — FRED/EIA/BLS proxy sentinel + hub calendars
  • ui: Surface meta.origin on boards — hub/local/stale badges
  • market: Hub-first rotation + detail panels off the legacy passthrough + settings reorder
  • uta: Hub FX table — one cached GET replaces per-currency vendor fetches
  • cli: traderhub — a dedicated CLI for low-frequency market data
  • workspace: Bundle a self-maintained opencli-reader skill into chat
  • workspace,ui: CLI as the default tool access + community template tier
  • ui: I18n for template/create surfaces, spawn → create, auto-derived tags
  • cli: Alice-uta — trading lands on the CLI surface (cron stays MCP-only)
  • ui: Make the secondary sidebar per-activity optional — News goes full-width
  • ui: Status-first Market Data settings — coverage map + Advanced fold
  • guardian: Own the Vite dev port — probe, strictPort, truthful banner, origin allowlist
  • workspaces: Headless runs capture their agent session id + full output log
  • webui: Spawn-with-resume accepts adapter-native session ids
  • ui: Headless runs as a collapsed second tier under each workspace
  • paths: Default user-data home moves to ~/.openalice
  • desktop: Relocate packaged user data into ~/.openalice on first launch
  • security: Seal broker credentials at rest (AES-256-GCM, machine-bound key)
  • uta: Record externally-placed orders as squashed [observed] commits
  • uta: External-order observation cadence is configurable, default 15m
  • ui: External-order monitoring cadence is editable from the Trading page

🧪 Testing

  • config: Sandbox the global-provider-keys spec (OPENALICE_HOME temp dir)
  • market: Strict-type the cache spec helper (tsc-only issue post-merge)
  • Pin OPENALICE_HOME to sandbox roots in vitest + smoke harness

v0.41.0-beta.1

09 Jun 11:39
333839a

Choose a tag to compare

v0.41.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • quant: Calc-v2 diagnostic polish from adversarial dogfooding
  • workspace: Launch opencode/pi from the frontend on Windows
  • ui: Restore preset enumeration — region dropdown + model combobox, shared
  • ui: Endpoint URL is a read-only input box (unlocks on Custom), not tiny text
  • ui: Credential edit round-trips the API key (was redacted → looked unsaved)
  • ui: Loading a credential resets the model to the matched provider's default
  • ai-config: Codex tab Test clamped to responses; workspace test authMode by baseUrl
  • ai-config: Probe gives reasoning models room; clean message on empty reply
  • bars: UTA Bar.timestamp arrives as a string over the wire — normalize

📚 Documentation

  • quant: Align v1/v2 + expose calculateQuant via CLI + sync skill
  • ai: Update CLAUDE.md for the World-B deletion; drop orphaned agent-sdk-notes
  • readme: Reflect the World-B deletion — native-CLI execution + credential vault
  • Refresh adapter list (+ opencode/pi) and web-subchannels description

🔧 Refactoring

  • ui: WorkspaceAIConfigModal shares the useTestGate abstraction
  • ai: Delete World B — in-process AI loop, AgentWork, heartbeat
  • config: Remove the now-dead profile + heartbeat machinery
  • trading: UTA health as a capability ladder (connect / read / write)

🚀 Features

  • market-data: Federated bar layer — Phase 0 (vendor, behavior-preserving)
  • market-data,trading: Broker K-lines via UTA + federated search — Phase 1 (CCXT)
  • trading: Alpaca getHistorical — equity broker bars (Phase 4a)
  • trading: Keyless read-only data UTAs — OOTB crypto K-lines, no key
  • analysis: Quant Calculator v2 — barId-keyed Python-subset DSL (Phase 2)
  • ai-config: Refresh provider model catalog to current lineups
  • workspace: Central credentials — template injection + bidirectional modal
  • automation: Cron fires a headless Workspace run, not in-process AgentWork
  • ui: Reframe AI Provider page as a credential vault; Test via probe
  • ui: Add Agent runtimes panel to the AI Provider page
  • ai-config: First-class wire-shape registry + modern test-gated credential form
  • ai-config: Persist wireShape on the credential + show the resolved endpoint URL
  • ai-config: Unify Test on a shared wireShape dispatcher + honor it at runtime
  • ai-config: Credential holds a wires map (multi-wire), dedup by key
  • ai-config: Multi-wire credentials — one key declares every shape it speaks
  • quant,trading: Retire v1 indicator from the tool surface + harden UTA bootstrap
  • quant: Expose searchBars — the unified barId search handle for v2
  • cli: Expose searchBars as alice analysis search-bars — workspace agents run v2 via CLI
  • quant: Panels — dict/list result so v2 batches many computations in one call
  • quant: 7 more primitives + a dedicated openalice-quant skill

v0.40.0-beta.2

08 Jun 02:34
e191b62

Choose a tag to compare

v0.40.0-beta.2 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • workspace: Codex headless reports via the alice-workspace CLI (CLI-mode)

🚀 Features

  • cli: Split the alice CLI into an export family (data + workspace)
  • workspace: Headless task management plane (registry + async dispatch + panel)
  • ui: Headless Runs panel — frontend for the management plane
  • workspace,ui: Runs panel — store full prompt + collapsible task cell

v0.40.0-beta.1

05 Jun 15:08
e3b4c8a

Choose a tag to compare

v0.40.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • core: Use AgentWorkResultProbe in agent-work spec gate
  • demo: Wire Chat sidebar — add chat-template workspace + align templates to real names
  • demo,ui: Correct /api/news handler shape + bump persist version v4→v5
  • tests: Isolate session-store specs from shared on-disk file
  • workspaces: Exclude Codex key files from workspace git
  • equity: Ratios returns TTM + history, not just a TTM snapshot
  • ui: Render the toolAccess dropdown on all create surfaces
  • guardian: Resolve .cmd shims on Windows dev spawn + CI smoke
  • guardian/smoke: Strip ANSI before matching; block on Windows cleanup
  • guardian: Tree-kill children on Windows so UTA restart doesn't orphan
  • guardian: Windows-safe basename in flag watcher (broker-config restart)
  • codex: Use responses.create stream instead of responses.stream()
  • workspace/codex: Don't quote openalice-workspace MCP key in -c override
  • entity-store: Serialize mutations + tolerate malformed lines (concurrent-write corruption)
  • workspace: Headless live-smoke — pi prompt terminator + codex approval

📚 Documentation

  • claude: Add demo-mode subsystem guide — check handlers when changing /api/* surfaces

🔧 Refactoring

  • workspaces: Unify AI-config IO behind CliAdapter
  • workspaces: Launcher-owned context injection + uniform initial commit
  • workspaces: Tool-use disposition to persona, drop internal/external framing
  • workspaces: Neutral instruction.md source → copied to CLAUDE.md + AGENTS.md
  • ui: Centralize locale-aware formatting (i18n stage 1)

🚀 Features

  • demo: Add Vercel Web Analytics, gated to demo mode only
  • cli: Add alice workspace CLI adapter over the tool registry
  • demo: Snapshot AAPL market data, serve in demo mode
  • skills: Pre-trade pipeline — sector-rotation + build-thesis, tool-agnostic
  • workspaces: Tell chat agents to hand finished work back via the inbox
  • workspaces: Chat-cli template — tools via alice CLI, inbox via MCP
  • workspaces: Launcher-level toolAccess option (MCP vs CLI); merge chat-cli into chat
  • devtools: Pre-fill Tools tab from a tool's declared example input
  • devtools: Declare example inputs for the read-only data tools
  • devtools: Example inputs for trading tools (mutations conservative)
  • ui: Create-workspace dialog + single-source the form across surfaces
  • entities: Phase 1 — entity store + entity_upsert/entity_search MCP tools
  • entities: Phase 2 — Tracked tab + [[name]] backlinks
  • entities: Surface entity_upsert / [[name]] in the chat workspace instruction
  • entities: Self-describing asset names — kind-prefixed (stock-vst, crypto-btc)
  • workspace: Drop the git panel; fold the files panel from a top-bar toggle
  • workspace: Add opencode as a third agent adapter
  • workspace: Add Pi as a fourth agent adapter (CLI-injection tools)
  • ui: React-i18next foundation + language picker (i18n stage 2)
  • ui: Translate ActivityBar + Settings page (i18n slice)
  • ui: Translate nav secondary sidebars (i18n batch 1)
  • ui: Translate login gate (i18n batch 2)
  • devtools: Tool-audit skill + repo-root .mcp.json for dev-side auditing
  • analysis: Right-side volume signals — RVOL/OBV/MFI/VWAP + relative-volume movers
  • discovery: Add dollar_volume (traded notional) as the absolute volume axis
  • tool: Expose ETF tools to the agent (ANG-79) — thematic-ETF self-serve
  • workspace: Give Pi full MCP via an injected bridge extension
  • ui: Show all agents on template cards + opencode/pi glyphs
  • analysis: Sector rotation map — GICS-11 cross-section (ANG-80)
  • ui/market: Sector rotation map — quadrant chart + ranked table
  • ui/workspace: Top-right Spawn button on template detail, unify create flow
  • ui/workspace: Always-visible "New session" button in workspace header
  • ui: Dedicated file viewer tab + clickable [[wikilinks]]
  • workspace: Pi by-id session resume via launcher-assigned id
  • workspace: Codex + opencode by-id session resume (post-spawn harvest)
  • workspace: Unified headless launch interface + standard dispatch API
  • ui: Add Traditional Chinese (zh-Hant)
  • ui: Translate Inbox / Tracked / News pages (i18n)
  • ui: Translate Chat workspace surface (i18n)

v0.30.0-beta.1

31 May 12:57
681f8e3

Choose a tag to compare

v0.30.0-beta.1 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • build: Resolve UI dist caching footgun + electron pack readiness
  • test: Sync workspace aliases to e2e + bbProvider configs
  • electron: Upgrade to v38 + restore full turbo build
  • workspaces: Templates resolution survives tsup bundling
  • ui: Mobile secondary sidebar accessible via drill-down drawer
  • workspaces: Override PWD env to match spawn cwd
  • workspaces: PWD env override + observable resume failure
  • workspaces/codex: Read MCP URL from spawn env, not backend env
  • workspaces/claude: Drop fragile --continue, fresh-spawn when no id
  • ui/sidebar: Trim ActivityBar, widen secondary, popover BETA hint
  • ui/sidebar: Inline disclosure for BETA hint, avoid overflow clip
  • ui/routing: Land on Inbox instead of Traditional Chat by default
  • ui/routing: Redirect /chat URLs to /inbox
  • ui/sidebar: Move Chat above Workspaces in top nav
  • trading-proxy: Rewrap upstream Response so middleware can mutate headers
  • trading-proxy: Use * catch-all instead of /* (Hono routing)
  • docker: Restore broker SDK deps to root package.json
  • uta: Make services/uta typecheck clean (closes ANG-65)
  • ui: Activate matching sidebar on URL adoption
  • workspaces: De-stale chat / finance-research / auto-quant templates
  • ui: Retarget store.spec off the removed chat ViewSpec
  • ui: Unwire deleted chat/channels demo MSW handlers from the barrel
  • ui: Bump tab-store persist version (drop stale chat/notif tabs)

📚 Documentation

  • todo: Record vitest config consolidation followup
  • todo: Retire mcp-ask connector
  • readme: Rewrite Quick Start for the dev orchestrator + 5173 reality
  • readme: Reflect UTA-split architecture — two-process model + carrier framing
  • readme: Add Authentication section + Docker login hint
  • claude.md: Rewrite Project Structure + Key Architecture
  • claude.md: Rewrite Git Workflow + retire TODO.md to Linear
  • claude.md: Point future-work surface at Linear (follow-up to d1d417f)
  • claude.md: Rewrite Quick Start + Pre-commit Verification
  • claude.md: Refuse external PRs before pull, not after
  • claude.md: Reframe architecture around Workspace launcher + Trading-context injector
  • claude.md: Note --filter='!@traderalice/desktop' for cloud sessions
  • claude: Update CLAUDE.md for the legacy-chat excision
  • readme: Align README with legacy-chat excision

🔧 Refactoring

  • config: Single-source port architecture, derive everything from connectors.json
  • build: Dev/test consume workspace package source, drop predev hook
  • paths: Centralize fs resolution behind paths.ts, prep for DMG
  • uta-protocol: Lift broker preset catalog into shared package
  • telegram: Await UTA-manager calls in prep for SDK swap
  • uta-service: Relocate simulator routes from Alice to UTA
  • tool/trading: Await UTA-manager + per-account async calls (Phase A)
  • trading: Move aliceId expansion into UnifiedTradingAccount
  • uta-split: Physically move src/domain/trading into services/uta
  • ui: Split Trading Accounts × Portfolio responsibilities
  • workspaces: Drop CLI-pick checkboxes from create flow
  • build: Extract Electron shell to apps/desktop
  • ui: Move Automation from Legacy to Beta in sidebar nav
  • core: Excise legacy chat cluster + retire AgentCenter (backend)
  • ui: Remove traditional-chat / notifications-legacy / connectors surfaces

🚀 Features

  • electron: Introduce guardian skeleton (port probe + backend spawn)
  • dev: Orchestrator unifies pnpm dev to single command with auto port adjustment
  • workspaces: Path-centric debug infra for session spawn/resume
  • workspaces: Headless probe API for self-debug closure
  • docker: Self-host image with bundled claude + codex CLIs
  • ui/workspace: Collapsible side panels + Git status labels
  • workspaces: Template catalog + README convention + version lineage
  • uta-protocol: Bootstrap shared wire protocol package
  • uta-service: Bootstrap co-located UTA service process
  • guardian: Introduce L2 supervisor module, replace scripts/dev.ts
  • guardian: Add flag-based UTA restart protocol
  • uta-split: Cut Alice trading routes over to BFF proxy
  • uta-client: Lift trading types to uta-protocol + build SDK skeleton
  • uta-service: Add 4 routes the AI tool layer needs
  • uta-client: Wire SDK's commit/sync/simulatePriceChange/getContractDetails
  • uta-service: Add 4 stage-only wallet routes for the AI tool layer
  • uta-service: Expand aliceId server-side in contracts/details route
  • uta-service: Add POST /quote with aliceId expansion + SDK envelope fixes
  • alice: Swap main.ts to UTAManagerSDK — Alice no longer holds broker state
  • docker: Dual-bundle build + tini-supervised Guardian prod entry
  • safe: Add agent-first red-team penetration kit
  • auth: Admin token + session cookie + middleware (L1+L2 gate)
  • auth: Gate WebSocket upgrades + close TDD loop on playbooks 01-03
  • auth: UI login gate + /api/auth/status localhost passthrough
  • auth: SPA shell exception + bind 0.0.0.0 in container
  • ui: Stage 1 demo mode — UI runs with no backend
  • workspace: Bearer auth option for Claude provider config
  • workspace: Carry authMode through profile Apply + MiniMax preset
  • ai-providers: Honor profile authMode in GenerateRouter runtime (ANG-72)
  • demo: Stage 2 PR-1 — Vercel-deployable + visual skeleton
  • demo: Stage 2 PR-2 — PTY transcript replay + recorder tool
  • demo: Stage 2 PR-3 — flagship scenario (Inbox ↔ workspace ↔ transcript)
  • demo: Stage 2 PR-4 — secondary fixture richness
  • migrations: Add 0007 to retire legacy-chat config orphans

🧪 Testing

  • paths: Cover dataPath/defaultPath/uiBundlePath/templatesPath
  • auth: Unit tests for token-store, session-store, and middleware
  • core: Rewrite AgentWork/heartbeat/cron specs for the rewired path

v0.21.0-beta.5

16 May 09:25
e4d09eb

Choose a tag to compare

v0.21.0-beta.5 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🚀 Features

  • activitybar: Introduce Beta section; promote trading-related entries

v0.21.0-beta.4

16 May 09:16
228d43c

Choose a tag to compare

v0.21.0-beta.4 Pre-release
Pre-release

Changelog

All notable changes to OpenAlice will be documented in this file.

[Unreleased]

🐛 Bug Fixes

  • workspaces: Allow port 3002 origin for web terminal CORS

📚 Documentation

  • claude.md: Cover cloud claude/* side-branch hotfix pattern
  • readme: Add Workspace + Inbox to Key Concepts
  • readme: Post-Workspace generation pass — Brain retired, two-layer Automation, Inbox + Workspace surfaced
  • claude-md: Add README maintenance discipline
  • readme: Drop "Roadmap to v1" section

🔧 Refactoring

  • activitybar: Linear-style widened sidebar with collapsible sections

🚀 Features

  • workspaces: Windows compat via Git for Windows bash wrap
  • inbox: Per-entry delete (trash button + Delete shortcut)
  • workspace: AI provider test button with test-before-save gating
  • workspace: Lock Codex wire_api to "responses" + chat-only provider hint
  • activitybar: Split Chat into workspace-shortcut + Legacy section
  • activitybar: Promote Connectors to Legacy section, drop from Settings