mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-20 00:11:34 +00:00
Replace fabro's hand-written agent loop with pebble's `CodingAgent` and delete the `fabro-agent` crate. Workflow: `PebbleBackend` builds one agent per stage over `RunSandbox`, binds the stage's hooks as tool middleware, the interviewer as the human-input provider, and a durable `EventSink` that writes every agent event through the run event log before the agent goes on. Full-fidelity threads continue across stages through `export`/`resume_from_export`. Model failover takes the session record after the failed prompt and continues it on the next route with `ResumeMode::UseModel`, so no tool effect repeats. The steering hub targets pebble's control handle, with a steering lease holding completion open while a human is paired. Events: `EventBody::Agent` carries pebble's `CodingAgentEvent` envelope; the per-variant bodies, the transcript projection, and the fabro-only context-window, tool-summary, and skill types are gone in favor of pebble's. The OpenAPI schemas, generated Rust and TypeScript clients, and web readers follow. Ask Fabro: the session runs a `CodingAgent` under a read-only permission policy and a system prompt transform. Its conversation lives in a new `run_session_records` table and resumes on the recorded model with the event cursor advanced past the run log. `fabro exec` builds the same agent over a local sandbox with pebble's permission middleware and an interactive approval service. The catalog fills in `metadata.agent.profile` for operator providers that declare none, so pebble's lookup is the one resolution path. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| chats | ||
| runs-list | ||
| stage-renderers | ||
| auth-layout.tsx | ||
| automation-form.test.tsx | ||
| automation-form.tsx | ||
| collapsible-file.tsx | ||
| editable-run-title.test.tsx | ||
| editable-run-title.tsx | ||
| environment-form.test.ts | ||
| environment-form.tsx | ||
| event-debug-helpers.tsx | ||
| event-debug.tsx | ||
| floating-tooltip.tsx | ||
| graph-toolbar.tsx | ||
| icons.tsx | ||
| inline-markdown.test.tsx | ||
| inline-markdown.tsx | ||
| interview-dock.test.tsx | ||
| interview-dock.tsx | ||
| interview-label.ts | ||
| key-value-editor.test.tsx | ||
| key-value-editor.tsx | ||
| mcp-server-form.test.tsx | ||
| mcp-server-form.tsx | ||
| pull-request-chip.test.tsx | ||
| pull-request-chip.tsx | ||
| review-target-question.tsx | ||
| run-dock.test.tsx | ||
| run-dock.tsx | ||
| run-summary-panel.test.tsx | ||
| run-summary-panel.tsx | ||
| run-waterfall.tsx | ||
| settings-panel.tsx | ||
| size-chip.test.tsx | ||
| size-chip.tsx | ||
| stage-context.tsx | ||
| stage-insights-sidebar.test.tsx | ||
| stage-insights-sidebar.tsx | ||
| stage-popover-summary.ts | ||
| stage-popover.test.tsx | ||
| stage-popover.tsx | ||
| stage-sidebar.test.tsx | ||
| stage-sidebar.tsx | ||
| state.tsx | ||
| steer-bar.test.tsx | ||
| steer-bar.tsx | ||
| terminal-view-helpers.ts | ||
| terminal-view.test.ts | ||
| terminal-view.tsx | ||
| toast.test.tsx | ||
| toast.tsx | ||
| tool-call-count.tsx | ||
| ui.tsx | ||