Skip to content
fbuild
v0.2.1

Team machine, onboarding & soldier isolation

Team machine, onboarding & soldier isolation

Bu sürüm, bir makineyi tüm team'e compute olarak bağlamayı, repoları otomatik keşfetmeyi ve soldier'ları güvenli biçimde izole etmeyi getiriyor. Ayrıca team-centric (workspace'ler arası) akıştaki bir dizi kritik bug düzeldi.

✨ Yeni #

  • Team machine. Tek connect --hub <team> (org'suz) her workspace'e ayrı bir denetimli bağlantı fan-out eder. Token tüm team workspace'lerinde geçerli.
  • Otomatik repo keşfi (owner→workspace). Bare connect, ~/Developer/<team> klasörünü tarar; repoları git remote owner'ına göre doğru workspace'e otomatik atar (better-i18n/*→better, egosorg/*→fbuild). Bilinmeyen owner'lı repolar (yabancı ürünler) gizli kalır. Artık her repo'yu tek tek add-project yapmaya gerek yok.
  • Soldier izolasyonu (macOS). Soldier'ın claude süreci sandbox-exec ile hapsediliyor: sadece task'ın focus repolarına yazıp okuyabilir; sibling repolar, SSH anahtarları, credential store'lar ve env dosyaları OS seviyesinde engellenir. FBUILD_NO_SANDBOX=1 ile kapatılabilir.
  • npm CI yayını. Runner @fbuildai/runner olarak npm'de; sürüm bump → main'e push → GitHub Actions otomatik publish (interaktif 2FA gerekmez).
  • Onboarding. Kapsamlı kurulum + sorun giderme dokümanı (agent-consumable) ve paylaşılabilir onboarding link'i.

🐛 Düzeltmeler #

  • Console WebSocket 1006 döngüsü — WS URL'ine ?org=<workspace> eklendi; team domaininde yanlış tenant'a bağlanma sorunu bitti.
  • Makine seçici boş görünüyordusessionFor localStorage anahtar uyuşmazlığı düzeltildi; workspace'ler arası tüm çağrılar (makineler, task'lar, oluşturma) artık doğru session'ı buluyor.
  • "mesaj gitmiyor" — reply/stop artık task'ın kendi workspace'ini hedefliyor; /orders/:id/events org_id döndürüyor; New task oluşturulan task'ı kendi workspace'inde açıyor.
  • Makine silinemiyordu — hub CORS DELETE/PUT/PATCH metodlarına izin veriyor.
  • "no projects yet" tekrarı — eşzamanlı connect'lerde config yarışı sertleştirildi; connect artık proje listesini ezmiyor.
  • New task makine seçici her açılışta yenileniyor + boş durumda açıklayıcı mesaj gösteriyor.

🔭 Sırada ne var #

  • egos executor'ın chat içinde stabil, gerçek çıktı vermesi.
  • Askerleri UI'da canlı görmek (hangi asker, hangi aşama, alt-ajanlar, maliyet).
  • egos army / çoklu asker orkestrasyonu.
  • egos CLI → app köprüsü.
  • Terminal ve dev-server süreçlerinin de sandbox'lanması (şu an yalnız soldier/claude).
  • Keşfedilen aday repoların console team-modu seçicisinde yüzeye çıkması.
2026.06.30

Foundation: multi-workspace, real agent execution, security & the 3-repo split

The foundation cycle for the fbuild console — the desktop command center for your Egos agents. This is what shipped first, across the three repos (console / hub / runner).

🗂️ Multi-workspace (Slack-style) #

  • Workspace switcher with a cross-workspace notifications tray.
  • Add a workspace by reusing the same login shell; workspace logos are driven from the backend.
  • Per-workspace sessions — switching cleanly re-resolves the hub and your session.

💬 Chat-first task UI #

  • A code-style chat view: your messages as right-aligned bubbles, the agent's replies as full-width markdown, tool steps grouped and collapsible with per-tool detail, and extended-thinking blocks.
  • Composer aligned to the chat width; a jump-to-turn rail on the left; sticks to the bottom as the agent streams.
  • Agent-generated chat titles, and a running state derived from the persisted event stream so it survives a dropped connection.
  • Early multi-pane grid: drag a task to split, up to four side by side.

⚙️ Real execution path (runner ↔ hub ↔ console) #

  • Live streaming of the agent's thinking, tool calls, and text as it works.
  • The session is persisted on the task, so replying resumes the same context — even after the runner restarts.
  • Task stage is driven off a persisted completion event (not a droppable live message), so it never gets stuck.
  • Per-project git status sync; end-to-end new-task dispatch verified on real projects.

🏢 Multi-tenant correctness #

  • One physical machine can join many workspaces without collisions (machine identity is now workspace-scoped).
  • The runner reconnects instead of silently dying on a rejected handshake.
  • Per-workspace runner config, so a single runner can serve multiple hubs.

🔒 Security hardening #

  • Runner enrollment tokens are now authenticated — only a signed-in member can mint one (previously anyone could join an org).
  • Auto-provisioning matches your email domain exactly (no look-alike domain slipping in).
  • The runner stores its token file with private, owner-only permissions.

📦 Repo & deploy #

  • Split into three focused repos: console, hub, and runner, each documented.
  • Console and hub deployed to their first hosted environments.
2026.07.04

Console: tiling panes, drag-to-arrange, persistence & polish

A large iteration on the fbuild desktop console focused on the multi-task workspace — how you open, arrange, and live-monitor several agent runs at once.

🪟 Multi-pane workspace #

  • Open up to 4 tasks side by side. Click a task to focus it, or drag one from the list to open it beside the others.
  • Resizable tiling. Drag the dividers to resize panes horizontally and vertically (2×2 layout). Sizes persist.
  • Terminal as a pane. Dock a project terminal in the grid like any other pane — it stays put beside your chats.
  • Rearrange by dragging. Grab a pane by its header and drop it onto another to swap positions ("focus this one here"). A labeled chip follows your cursor; you can't drop a pane onto its own spot.
  • Collapse the task list with ⌘B for more room.

♻️ Full persistence — no more "re-running" #

  • Open panes are restored exactly when you leave and return to Tasks.
  • Switching panes or closing one no longer re-runs the others — chats and terminals keep their state instead of reconnecting.
  • Task chats paint instantly from cache on reopen, then refresh in the background — no loading flash.
  • The New task project picker loads instantly (cached) instead of appearing late.

💬 Task detail redesign #

  • One clean header: title, tabs (Chat / Graph / Diff — shown only when they exist), and quick actions (Preview, Terminal, branch).
  • Run overview card in the top-right — a quiet, collapsible summary (status, tools used, agents, focus, cost) redesigned to a minimal, Codex-style look.
  • Preview and Terminal open as side drawers from the header, so the chat stays visible.
  • Graph view: a node visualization of a run's tool activity.

⌨️ Terminal & chat #

  • Stick to bottom on resize. Shrinking a terminal or chat pane keeps the latest output/prompt in view instead of hiding it.
  • Terminals re-attach to the same live shell when reopened (scrollback preserved).
  • ⌘F opens find only in the pane you're focused on (no more every pane popping a search box at once).
  • Restyled to match the run-overview card; opens with a subtle animation and sits alongside it without overlap.

⚡ Command palette & shortcuts #

  • ⌘Tnew task from anywhere (opens the composer, even if the sidebar is collapsed).
  • ⌘K — command palette; ⌘1…9 — jump between workspaces.
  • ⌘B — toggle the task sidebar.

🏷️ Dev vs. release #

  • The development build is now clearly labeled "Fbuild — Dev Env" (dock badge + in-app marker) so it's never confused with the shipped app.

Under the hood we also filed a set of architecture issues to replace several of these first-pass implementations with more robust foundations (split-tree pane model, unified data/cache layer, hardened API client). More polish coming.