Recursive and parallel
Large work becomes a dependency graph of focused, isolated workers.
FaberDocumentation← Home
Faber is a harness around the model: parallel work, bounded loops, durable memory, and independent reviewers that make progress explainable.
Local-first | project-scoped | evidence-backedLarge work becomes a dependency graph of focused, isolated workers.
Evidence advances work through a bounded loop instead of a model self-report.
Independent checks guard both the honesty of the log and the quality of the result.
Decisions, lessons, and context survive refreshes, handoffs, and restarts.
A single agent carrying an ever-growing context gets slower and less reliable. Faber decomposes approved work into an Atomic Task Graph: tickets with real dependency edges and focused context.
The core loop keeps work moving without quietly converting an unfinished task into a success.
Faber deliberately asks two different questions: did the builder really do what it claimed, and is the delivered result actually correct?
A separate check reads the builder's work log for unsupported claims, stubs, silent scope narrowing, and missing proof. It can send the work back before the partner report calls it complete.
A different reviewer examines correctness, security, regressions, and fidelity to the request. Deep review can inspect related files and tests before reporting findings.
Before an audit finding becomes repair work, an evidence-only arbiter can disprove false positives against the repository. Confirmed findings can create bounded repair and re-audit work.
Faber keeps a small index in context and fetches focused detail on demand rather than replaying a whole codebase or transcript.
Each project has a lightweight map that routes the agent to focused domain documentation. Documentation rides the code commit so the map does not silently drift from the system it describes.
The Brain holds durable, hard-won knowledge that can help a fresh project session. Project privacy controls keep sensitive work out of shared synthesis.
Retrieval combines full-text search for words and ranking with optional vector embeddings for meaning. If embeddings are unavailable, Faber degrades cleanly to full-text search.
Decisions, event history, lessons, and a reference library are retrievable. Side Chat assembles a bounded pack from the Brain, project map, history, and ticket board so it can answer without starting a full build.
Anything that must survive lives in durable storage, and features are checked across refresh, new session, and restart boundaries.
Faber routes by role, not a single hardcoded model. Translator, summarizer, embedding, and quick-answer roles each have an ordered provider fallback chain.
The builder and auditor are configured independently and intentionally use different models where possible. Supported routes can include subscription sign-in, Codex sign-in, API providers, compatible endpoints, and local models.
Audit findings receive stable failure categories and harness incidents are logged, turning scattered failures into a frequency map. Three confirmed repeats create one durable-prevention ticket or an explicit recorded rationale.
Every repeating workflow writes a cycle receipt and shares a no-progress stop, so continuation, repair, and worker recovery loops cannot spin silently forever.
The Faber app and the Codex or Claude plugins share one contract: tickets carry acceptance criteria, evidence is explicit, and only an audit verdict can verify work.
Today a plugin uses a local SQLite workspace. The contract already carries a workspace identity so a future hosted control plane can add shared boards, real-time presence, role-based access, and a team Brain without changing how the agent works.