Skip to content

Guided tour

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

MODULE 01 · LESSON 1.1

Meet Operations Desk and the platform

Follow one operations request through a host, an agent and a client.

Lesson 1 of 86 · FabrCore 2.0

Overview

Operations Desk starts with a single assistant. A principal owns its agent instance; the Host routes messages to an Orleans grain; the SDK proxy implements the behavior. A model is optional. Keeping these boundaries visible makes it possible to add AI without replacing the surrounding application.

The three processes you are building

Operations Desk is a sample service-request assistant. Its first job is deliberately small: receive “Investigate request SR-1042” and return that text. The client sends the request, the ASP.NET Core Host accepts it, and your EchoAgent class decides the response. There is no language model involved in this first round trip.

Keep the runtime roles separate
Component / choice What it owns What it does not do
Client User input, authentication and display Execute Orleans grains or hold database credentials
Host HTTP ingress, routing and Orleans integration Invent the business behavior of an undeployed agent
Agent proxy Lifecycle and message/business handlers Require a language model for every implementation
AI agent Inference using the configured model and tools Replace the Host or create its own public handle
Cloud Server (optional) Effective configuration and privileged management Run the application agent instead of the Host

How an address becomes an agent

The alias ops-echo identifies a registered C# type. Creating an instance gives that type a handle, assistant, under the dev principal. The resulting address is dev:assistant. Orleans supplies the managed instance behind that address; FabrCore invokes its lifecycle and message methods. A thread selects conversation history within the instance. A Cloud Server can later manage configuration, but it does not replace any of these request-processing components.

Follow the first request

Download the Operations Desk source. The README lists project setup, package prerequisites and local ports.

  1. Install the .NET 10 SDK and confirm dotnet --version. Use the framework source checkout or matching 2.0 packages available in your feed.
  2. Create a workspace for OperationsDesk.Server, OperationsDesk.Agents and a client. Keep the model-independent echo milestone first.
  3. Read the request path as client → Host → principal:agent → OnMessage → response. The browser and mobile app never need a grain reference.

Trace the request on paper

  1. Write client → Host → dev:assistant → EchoAgent.OnMessage → response. Beside the client, write “HTTP and user interface”; beside the Host, write “routing and runtime”; beside EchoAgent, write “application behavior.”
  2. Use SR-1042 as the message text. At this point it is just text: there is no ticket database or lookup tool. The expected echo proves only that the request reached your code.
  3. Keep this diagram for lesson 1.4. The only new box there will be the model call inside the agent; the client's address stays a FabrCore address.

This is an architecture walkthrough, so there is no process to run yet. The next two lessons turn each box into code and finish with an observable HTTP response.

If the result is different

An agent alias names a registered type. It does not create an instance or identify a signed-in person.

Go deeper

Explore the related documentation.