Modules
The current product is a set of trusted modules composed into one Kernel. Each entry below names the source-owned contract, runtime, hosting seam, and honest limitation. Remote MCP catalogs extend what an integration can do; they do not create new DigitalBrain contract types.
DigitalBrain.Scripting does not appear in this inventory because it is not a module. It is a separate executable that generates file-based C# apps and connects them to the cluster as clients; see Scripting. Its generated apps consume the contracts listed below without joining Kernel composition.
AI
- Projects:
DigitalBrain.Modules.AI.Contracts,DigitalBrain.Modules.AI,DigitalBrain.Modules.AI.Aspire.Hosting. - Vocabulary:
IAssistant,IAgent,ILLM,IGroupChat,ITeam, model interfaces, team formation, orchestration refusal, and capability-tool selection. - Runtime: typed model/agent neurons, direct-agent protected session, capability tools, and MAF orchestration kept inside the module.
- Hosting: Ollama/Open WebUI or OpenAI projections. The current AppHost selects only
IGemma4(gemma4:12b). - Known limitation:
ILlama32(llama3.2) and other model contracts remain available in source but are not selected by the product AppHost. A crash between a provider effect and its following function-result safe point remains explicit debt.
Execution
- Projects:
DigitalBrain.Modules.Execution.ContractsandDigitalBrain.Modules.Execution. - Vocabulary:
IExecution,IWorker,IExecutionWorkerLease, Goal, Attempt, Operation, Blocker, Apply/Read commands, terminal facts, user-action custody, and explicit operation resolution. - Runtime: revision-fenced execution state, 64 retained command receipts, 64 operation rows, allow-listed workers, dispatch relay, reminders, 15-second worker lease, recovery, cancellation, and
OutcomeUncertain. - Hosting: no external AppHost resource; it runs in the Kernel silo.
- Known limitation: the current product has one concrete chat-turn worker path. External effects still need domain adapters to use the operation protocol consistently.
UI and Flutter
- Projects:
DigitalBrain.Modules.UI.Contracts,DigitalBrain.Modules.UI,DigitalBrain.Modules.UI.Aspire.Hosting, plus Fluttercore,kit, andshell. - Vocabulary:
IChat,IButton,IChart,IDiagram,ISurface, chat turns, buttons, charts, timer cards, surface-open and control facts. - Runtime: principal-scoped Chat and Surface neurons, durable FIFO chat queue, the Execution chat-turn worker, declarative UI components, and Flutter HTTP/SSE projection clients.
- Hosting: window, web, or headless launchers. The current AppHost selects the Windows window host, shell
desk, and local chatmain. - Known limitation: Chat is still owned by UI. Behavior Studio fixtures/client are preview-only because no Behavior host or install rail exists.
Time
- Projects:
DigitalBrain.Modules.Time.ContractsandDigitalBrain.Modules.Time. - Vocabulary:
ITimer,StartTimer,CancelTimer, scheduled/elapsed/cancelled facts, status, resolution, and snapshot. - Runtime: an owner-bound
TimerNeuronbacked by Orleans reminder/state mechanics. - Hosting: no external AppHost resource.
- Known limitation: current contracts cover the implemented timer lifecycle; richer calendar, recurrence, and DST policy are not a shipped module surface.
Memory
- Projects:
DigitalBrain.Modules.Memory.Contracts,DigitalBrain.Modules.Memory, andDigitalBrain.Modules.Memory.Aspire.Hosting. - Vocabulary:
IVectorMemory, store/search/remove requests and results, vector namespace, match, and store status. - Runtime: owner-isolated
VectorMemoryNeuronover either an in-memory store or Qdrant provider. - Hosting: the current AppHost creates Qdrant, waits for health, and configures it as the Memory provider.
- Known limitation: the Qdrant projection does not declare the Azurite data volume or persistent container lifetime; vector persistence must be treated separately from Kernel journal persistence.
Introspection
- Projects:
DigitalBrain.Modules.Introspection.ContractsandDigitalBrain.Modules.Introspection. - Vocabulary:
IIntrospection, topology read, journal page read, journal tally, topology neuron, connection, and broadcast-route records. - Runtime:
IntrospectionNeurondelegates owner-neuron inventory, journal, and topology queries to focused readers. - Hosting: no external AppHost resource; Kernel HTTP and northbound MCP expose projections of its reads.
- Known limitation: active topology is an observation of activated grains and live graph state, not a static list of every possible neuron instance.
SDK MCP and webhook rails
- Project:
DigitalBrain.Modules.Sdk. - Vocabulary: generic
IMcptool list/call,IMcpAuthorization, actor-bound authorization facts, code custody, protected token presence, and verified webhook delivery/duplicate/conflict facts. - Runtime: generic MCP transport/session/catalog, PKCE OAuth state machine, protected per-user tokens, authorization neuron, and webhook ingress neuron.
- Hosting: Google and Salesforce register provider parameters into this rail. The current AppHost does not select a provider-specific webhook endpoint.
- Known limitation: this southbound integration rail is secure per actor, but the separate northbound
DigitalBrain.Mcpapplication does not yet use Kernel authentication or principal scoping.
Google
- Projects:
DigitalBrain.Modules.Google.Contracts,DigitalBrain.Modules.Google, andDigitalBrain.Modules.Google.Aspire.Hosting. - Current interface: server key
google.gmailpoints at the official Gmail MCP endpoint. The remotetools/listcatalog is the operation surface; the Contracts assembly intentionally does not duplicate it as typed Gmail operations. - Runtime: registers one generic
McpServerDefinitionand external-server capability with Gmail read-only and compose OAuth scopes. - Hosting: persisted Google Web application client ID/secret parameters plus the composed local callback.
- Known limitation: live tools require operator credentials, provider availability, and user consent. Smoke reached Google's real login redirect but did not fabricate consent/token success.
Salesforce
- Projects:
DigitalBrain.Modules.Salesforce.Contracts,DigitalBrain.Modules.Salesforce, andDigitalBrain.Modules.Salesforce.Aspire.Hosting. - Current interface: the Contracts project is the permanent home of Salesforce neuron and synapse interfaces. The current runtime reaches the hosted Salesforce MCP mutation catalog through the generic rail instead of hard-coding one DigitalBrain record per remote tool.
- Runtime: registers server key
salesforce, the hostedsobject-mutationsMCP endpoint, scopesmcp_apiandrefresh_token, and no client-secret requirement. - Hosting: persisted Salesforce External Client App consumer key plus the composed callback; no
salesforce-client-secretparameter exists. - Known limitation: the last live provider request returned
redirect_uri_mismatch. The External Client App must registerhttp://localhost:5080/oauth/callbackexactly.
Product state
Implemented now. Every module and shared rail above is present in committed production source; the checked-in AppHost selects the resources described here. The separately hosted Scripting client consumes those module contracts but is not one of them. Salesforce Contracts and all existing wire aliases are retained product boundaries.
Known limitation. Provider catalogs and consent depend on external systems, module composition is duplicated between Kernel and AppHost, Qdrant lacks the Azurite persistence profile, and northbound MCP remains unscoped.
Ratified next. Conversation becomes a module, unused Streams/PubSub provisioning is removed only after proof of non-use, and final hardening introduces tests owned by each module rather than one central test project.