Standalone and SQL Modes
FabrCore 2.0 · Release and package availability
These guides track the current 2.0 source. Stable 2.0.0 publication is pending; package commands show the release target. Until it is published, follow the source quick start or use a matching available prerelease set. Release migration · Runtime modes
Start without a database. Add SQL when the application needs it.
FabrCore 2.0 brings SQL hosting, Memory, GraphRAG and ACL into the standard Host. One feature connection selects the integrated SQL mode.
| Capability | Standalone defaults | SQL mode defaults |
|---|---|---|
| Agents, harnesses, tools, MCP, Surface squads | Available | Available |
| Conversations, state, typed storage, delivery checkpoints, reminders | In memory; lost on restart | Persistent Orleans storage |
| Cross-principal agent messaging | Trusted workspace; ACL bypass | Enforced ACL |
| Memory, GraphRAG and ACL administration | Unavailable | Integrated SQL services |
| Security audit, execution evidence, A2A tasks | In-memory stores | Durable operational stores |
The hosting application must authenticate callers and establish trusted identity headers. Privileged administration authentication and storage/session ownership checks still apply in standalone mode; SQL ACL does not authenticate callers. It is intended for trusted workspaces. SQL mode does not automatically attach memory to every agent.
Configure the feature database
Supply ConnectionStrings:FabrCore through application configuration or a secret provider. The environment variable is ConnectionStrings__FabrCore. The database must already exist and support SQL Server 2025 or Azure SQL vector and graph schemas.
{
"ConnectionStrings": { "FabrCore": "<SQL connection from your secret provider>" },
"FabrCore": { "Database": { "AutoInitialize": true } }
}Configure default chat and embeddings models in the active model store. GraphRAG requires 1536-dimensional embeddings. Extraction resolves an explicit FabrCore:GraphRag:ExtractionModelName, then graphrag, then default. Startup checks model and credential aliases without paid inference.
AddFabrCoreServer() registers the integrated services. Remove manual Memory/GraphRAG registrations when upgrading. Memory options bind from FabrCore:Memory; ingestion tuning remains under the legacy top-level GraphRag:Ingestion section.
Preserve existing split databases
Under FabrCore:Database, ConnectionStringName defaults to FabrCore. Optional MemoryConnectionStringName, GraphRagConnectionStringName, AclConnectionStringName and OperationsConnectionStringName select other named connections. They require the main feature connection.
Explicit Azure/custom Orleans providers and connection overrides remain supported. Orleans storage selection alone does not enable SQL knowledge or ACL features. An explicit ClusteringMode: Localhost overrides SQL Orleans defaults, so review old development configuration before deployment.
Startup, readiness and operations
Startup initializes tables and applies GraphRAG migrations. Set AutoInitialize=false for validation against pre-provisioned schemas. Both modes validate required tables and columns, graph node/edge kinds, vector dimensions and migration versions. Memory also requires the enabled scope/name/type index. Incompatible objects are identified; existing data is never silently rebuilt. Memory/GraphRAG schema locks wait up to 60 seconds with 90-second lock-command timeouts, and startup cancellation reaches built-in migrations and commands. Missing models, invalid connections or schema failures fail startup; SQL never silently downgrades to standalone. Database selection requires restart. Readiness checks ACL initialization and feature database connectivity.
SQL mode stores security audit, evidence and A2A snapshots in fabrOps, separate from ordinary message/LLM monitoring. Failed audit writes are logged and counted without a retry spool. Retention/pruning is explicit. Evidence signing still requires configuration; persistence alone does not sign records or store private keys.
A2A snapshots survive restart and support cross-host reads/cancellation. Interrupted execution fails instead of repeating external effects automatically. SSE streams are not durably replayed. Terminal retention defaults to one hour; active tasks are not evicted by terminal retention.
Upgrade an existing installationOpt-in monitoring and administration durability
SQL mode does not automatically enable retained agent monitoring. Configure FabrCore:Monitoring:Provider=sql and, in manual-schema mode, apply the additive monitoring migration to the operational database. Bounded buffering reports drops and persistence failures; records become durable after flushing.
Admin sessions, operation receipts and blueprint deployment results use configured persistent stores. Default standalone memory does not survive process restart. Read cloud administration for lifecycle semantics, actor ownership and source coverage. Existing audit functionality is unchanged.
Connection key storage follows persistence
Optional connections use ephemeral protection with in-memory storage. SQL stores encrypted keys in the operational database, including when clustering itself uses Localhost. Missing certificate or schema fails startup without an ephemeral fallback. Read the integration guide.