v0.1 [x] Core
v0.2 [x] Service Registry [x] Dependency Injection
v0.3 [x] Memory Interface
v0.4 [x] Tool Interface
v0.5 [x] Planner
v0.6 [x] Knowledge
v0.7 [x] Workflow
v0.8 [x] Plugin System
v0.9 [x] Multi-Agent Runtime
v1.0 [x] Stable Architecture
Current Implementation Status (v0.9.0)¶
All subsystems from v0.1–v0.9 are implemented. The Brain orchestrates them
through an automated pipeline for every request:
Workflow (optional)
↓
Memory (retrieve)
↓
Knowledge (query)
↓
Planner (record plan)
↓
Tools (dispatch)
↓
LLM (generate)
↓
Memory (store)
The default create_app() wires in-memory providers for every subsystem, so a
default app remembers conversations, grounds prompts in knowledge, records a
plan on the context, and dispatches tools automatically. The repository test
suite (105 tests, 98% coverage) is the authoritative description of current
behavior.
Enhancement Backlog¶
The framework is a working foundation, not yet a production orchestrator. The
following enhancements are planned, roughly in priority order. None of them
change the Runtime request/response interface.
1. Events and observability (events/)¶
Status: core implemented in v0.9.0.
- [x] Event bus and listener infrastructure in
xyberos/events/—EventBus,Event, and canonical event names inevents/names.py. - [x] Lifecycle events:
kernel.started,kernel.stopped,plugin.loaded,plugin.unloaded. - [x] Pipeline events:
runtime.request_started/completed/failed,brain.workflow_run,brain.memory_retrieved/stored,brain.knowledge_queried,brain.plan_created,brain.tool_dispatched,brain.response_produced,brain.error. - [x] Listener isolation — a failing listener is logged and never breaks the pipeline.
- [x] Tracing hooks:
EventRecorder(bounded history + per-name counts) andLoggingExporter(structured event log lines); arbitraryExportercallables can be attached to forward events to metrics/tracing backends. - [ ] Optional: bundled adapters for concrete backends (e.g. OpenTelemetry, Prometheus, JSON-lines files).
2. Persistent memory and knowledge backends¶
Status: SQLite implemented in v0.9.0.
- [x]
SqliteMemoryandSqliteKnowledgeproviders undermemory/andknowledge/(stdlibsqlite3, no runtime dependencies). File-backed databases survive process restarts;start/stopparticipate in the kernel lifecycle soapp.stop()releases the database handle. - [x] Existing
contracts/memory.pyandcontracts/knowledge.pyinterfaces unchanged. - [x] Configure via
create_app(memory=SqliteMemory("chat.db"), knowledge=SqliteKnowledge("facts.db"))or plugin registration. - [ ] Redis (
redis.py) and vector (vector.py) providers — deferred: they require optional third-party dependencies and a retrieval/embedding strategy. The existing contracts already allow them.
3. Branching workflows and state graphs¶
Status: implemented in v0.9.0.
- [x]
GraphWorkflow— a directed graph of named steps with fixedadd_edgeand conditionaladd_routerouting, supporting branches and loops (with amax_stepsguard). - [x] Pause/resume — a step raises
WorkflowPausedto pause;executereturns aWorkflowRunandresume(run, value)continues with the value injected intocontext.metadata["workflow.resume_value"]. - [x] Human-in-the-loop checkpoints —
WorkflowPausedcarries apromptfor external input; the Brain and Runtime propagate it as a pause (not an error), so it works throughapp.run()/app.chat(). - [x] The existing
contracts/workflow.pycontract is unchanged;GraphWorkflowimplements it (runreturns the final context and raisesWorkflowPausedon pause). - [ ] Optional: automatic checkpoints that persist paused runs to disk and resume across processes (build on the SQLite providers from item 2).
4. Streaming and async¶
Status: implemented in v0.9.0.
- [x] Async variants —
app.arun/app.achat(plus a module-levelachathelper) flow throughRuntime.arunandBrain.achat. An LLM with an asyncagenerate(orastream) is awaited; otherwise the syncgenerateis used as a fallback. - [x] Streaming — an LLM may implement
stream(prompt, on_token)(sync) orastream(...)(async); the Brain publishes each token as thebrain.token_streamedevent. - [x] LLM helpers —
StreamingLLM(generate + stream) andAsyncLLM(async-onlyagenerate). - [x] Sync stays the default; async is opt-in via
achat/arun. - [ ] Optional: async variants for
run_agentsand async plugins, plus backpressure/rate limiting for streaming.
5. Multi-agent collaboration¶
Status: implemented in v0.9.0.
- [x] Agent-to-agent message contract —
Message(sender, recipient, content, kind, metadata) inxyberos/agents/messages.py, withpost(context, msg)andhandoff(target)helpers. - [x] Inter-agent messaging —
MultiAgentRuntimerecords every message (runtime.messages), delivers them to recipients that implementreceive(message), supports"*"broadcast, and isolates delivery failures.send(message)posts directly from application code. - [x] Handoffs — a
handoffmessage runs the recipient next (chained, up tomax_handoffs); each agent runs at most once perrun()call, andHandoffLoopErrorbounds runaway chains. - [x] Role-based coordination —
RoleAgent(name, role, run, receive)andruntime.role(name). - [x] Works through the facade (
app.agents,app.run_agents). - [ ] Optional: async agent collaboration, agent-to-agent conversation state, and a dedicated supervisor/re-planning loop.
6. LLM-driven planning¶
Status: implemented in v0.9.0.
- [x]
LLMPlannerinxyberos/planner/— asks the LLM to break the request into one-step-per-line, with a customparsecallable for other shapes (e.g. JSON). - [x] Config-gated plan injection —
config["brain.inject_plan"] = Truemakes the Brain append the plan to the model prompt; default stays off so default output is unchanged. - [ ] Optional: a plan execution/verification loop (execute steps, re-plan on failure) and confidence/reflection on the plan.
7. Structured outputs and typed tool results¶
Status: implemented in v0.9.0.
- [x] Structured LLM output —
StructuredLLMand astructured(llm, prompt)helper inxyberos/llm/;extract_jsontolerates prose and code fences. Parse failures raiseStructuredOutputError. - [x] Typed tool results —
FunctionTool(name, func)derives a JSON schema from the callable's signature, validates/coerces arguments before invocation, and raisesToolArgumentErrorfor missing/unknown/mistyped arguments. - [x] Typed exceptions —
LLMOutputError/StructuredOutputErrorandToolArgumentErrorexported fromxyberos.exceptions. - [ ] Optional: schema-driven LLM function calling (auto-generate tool calls
from
FunctionTool.schema) and async structured output.
8. Production hardening¶
Status: implemented in v0.9.0.
- [x] Resilience helpers —
retry(exponential backoff, configurableretry_on),RateLimiter(token bucket), andwith_timeoutinxyberos/utils/resilience.py. - [x] Config-driven tuning — the Brain reads
brain.max_attempts,brain.retry_backoff,brain.rate_limit, andbrain.timeoutfromConfig. All default to off, so default behavior is unchanged. - [x] Checkpointing —
WorkflowCheckpointpersists pausedGraphWorkflowruns to SQLite;graph.resume_from_checkpoint(...)resumes across processes. - [ ] Optional: circuit breakers, jittered backoff, async retries/timeouts, and rate limiting for the async path.
9. Model adapter catalog¶
Status: implemented in v0.9.0.
- [x] Dependency-light adapters in
xyberos/llm/adapters.py:OpenAICompatibleLLM(any/chat/completionsendpoint, stdlib HTTP),OllamaLLM(local server, stdlib HTTP), and lazy-SDKOpenAILLM,AnthropicLLM,GeminiLLM(import the SDK only when used and raise a clearProviderErrorif missing). - [x] The core package keeps zero runtime dependencies.
- [ ] Optional: streaming/async variants for each adapter, and a registry of pre-configured provider presets.
v1.0 — Stable Architecture ✅¶
With the addition of the Security service (RFC-0015), Xyberos v1.0 is a complete cognitive platform. Every RFC-0001 subsystem is implemented, tested, and integrated:
| # | Subsystem | Status |
|---|---|---|
| RFC-0001 | Architecture | ✅ |
| RFC-0002 | Kernel | ✅ |
| RFC-0003 | Runtime | ✅ |
| RFC-0004 | Brain | ✅ |
| RFC-0005 | Context | ✅ |
| RFC-0006 | LLM Provider | ✅ |
| RFC-0007 | Memory | ✅ |
| RFC-0008 | Knowledge | ✅ |
| RFC-0009 | Planner | ✅ |
| RFC-0010 | Tools | ✅ |
| RFC-0011 | Workflows | ✅ |
| RFC-0012 | Agents | ✅ |
| RFC-0013 | Plugins | ✅ |
| RFC-0014 | Events | ✅ |
| RFC-0015 | Security | ✅ |
The public API, contracts, and event names are frozen. All future capabilities ship as plugins — no more core subsystems.
What Can You Build on Xyberos Now?¶
Xyberos is a general-purpose cognitive runtime. It provides the how (pipeline, memory, planning, tools, agents, security) and leaves the what to plugins and applications. Here are the categories of systems it can power:
1. AI-Powered IDEs and Developer Tools¶
Xyberos already has the primitives: streaming tokens, multi-agent collaboration, typed tools, and observability. An IDE plugin could:
- Code assistant agent — a
RuntimeAgentthat reads files, runs lint, suggests fixes, and streams results - Code review agent — supervisors hand off to specialist reviewers (security, style, performance)
- Refactoring workflow — a
GraphWorkflowthat plans → applies → tests → reverts on failure, with human-in-the-loop approval at each step - Documentation generator — a tool that reads source, queries a knowledge base of project conventions, and produces docs
The Tool contract maps naturally to IDE capabilities: read_file,
run_test, git_diff, search_codebase. The Guardrail system can block
destructive operations before they execute.
2. Robotics and Embodied AI¶
The multi-agent runtime and workflow engine make Xyberos suitable for robotics control loops:
- Perception → Plan → Act loop — the Brain pipeline already does this; swap the LLM for a vision-language model and tools for motor commands
- Hierarchical agents — a supervisor agent delegates to navigation, manipulation, and safety agents via handoffs
- Human-in-the-loop —
GraphWorkflowpause/resume is purpose-built for "robot wants to grab something, human approves" - Safety kill switch — the
KillSwitchinSecurityis a literal emergency stop; engage it and ALL motor commands halt immediately - Sensor fusion — each sensor is a
KnowledgeProvider; the Brain queries them all before planning
3. Customer Support and Service Desks¶
The support_assistant example already demonstrates this:
- Intent routing — tools match order IDs, ticket creation, FAQ lookups
- Escalation — supervisor agent hands off to human agents
- Refund workflows — pause for approval, resume with decision
- Persistent memory — SQLite-backed conversation history survives restarts
- Audit trail — every security event, tool dispatch, and handoff is logged
4. Autonomous Research Assistants¶
- Multi-step research —
LLMPlannerdecomposes "summarize the state of X" into search → read → synthesize → cite - Tool chain — web search, paper retrieval, citation formatting as
FunctionTools - Knowledge accumulation —
SqliteKnowledgegrows with each query - Streaming output — results stream token-by-token to the UI
5. Game NPCs and Interactive Fiction¶
- Role-based agents — each NPC is a
RoleAgentwith a persona, goals, and memory - Dynamic conversations — agents message each other; the multi-agent runtime coordinates
- World state as context —
CognitiveContext.metadatacarries game state - Workflow-driven quests — a
GraphWorkflowencodes quest logic with branching, loops, and checkpoints
6. Data Pipelines and ETL with AI¶
- LLM-driven transformations — a tool that classifies, summarizes, or translates rows
- Quality gates — guardrails block malformed outputs
- Observability — every transformation emits events; tracing tracks the full pipeline
- Plugin architecture — each data source/sink is a plugin
7. Personal AI Assistants¶
- Tool-rich — calendar, email, notes, search, all as
FunctionTools - Persistent —
SqliteMemoryandSqliteKnowledgeacross sessions - Safe — guardrails block sharing sensitive data; kill switch disables the assistant entirely
- Extensible — new capabilities ship as plugins via entry points
Plugin-First Philosophy¶
Xyberos v1.0+ is closed to new core subsystems and open to plugins. The platform provides:
| Platform Capability | Plugin Opportunity |
|---|---|
Tool contract |
Any API, database, or device |
Memory contract |
Redis, Postgres, vector DBs |
Knowledge contract |
Graph DBs, embedding stores, remote APIs |
Planner contract |
Specialized planners (ToT, ReAct, custom) |
Workflow contract |
DSLs, visual editors, BPMN |
Agent contract |
Domain-specific agents (code, legal, medical) |
Plugin contract |
Third-party packages via entry points |
Security contract |
Custom guardrails, external auth, WAF integration |
EventBus |
OpenTelemetry, Prometheus, Datadog exporters |
A plugin author only needs to implement one contract and declare an entry point — the Kernel handles discovery, lifecycle, and dependency injection.
Community Roadmap (Plugin Ideas)¶
These are not core features — they are plugin opportunities for the community:
Developer Tools¶
- VS Code / JetBrains extension using Xyberos as the agent runtime
- GitHub bot that reviews PRs with multi-agent collaboration
- CLI chat with streaming, tool calling, and persistent context
Robotics¶
- ROS 2 integration — each ROS node as a
ToolorKnowledgeProvider - Sensor fusion — camera, lidar, IMU as knowledge providers feeding the Brain
- Motor control — tools with hardware-level safety guardrails
Enterprise¶
- Slack / Teams bot with role-based escalation agents
- CRM integration — tools for Salesforce, HubSpot, Zendesk
- Compliance audit — every action logged, every decision traceable
Creative¶
- Interactive storytelling engine — NPCs as agents, plot as workflow
- Music / art generation — tools wrap Stable Diffusion, MusicGen, etc.
- Game master AI — coordinates player actions, NPC reactions, world state
Research¶
- Paper summarization pipeline — search → filter → read → synthesize
- Experiment runner — hypothesis → design → execute → analyze loop
- Literature review agent — multi-step research with citation graph
Xyberos is no longer a framework under construction — it is a platform for building cognitive systems. The core is done. The rest is plugins.
This organization has a consistent pattern:
- Core packages (
kernel,runtime,brain) define the platform. - Contracts define stable extension points.
- Feature packages implement those contracts.
- Repository-level RFCs govern how the architecture evolves.