orleans

Featured

Design Microsoft Orleans systems from each primitive's purpose and failure model. USE FOR: grains, digital twins, state versus databases, transactions, messaging, streams, timers, reminders, Durable Jobs, stateless workers, grain services, startup, and hosting. DO NOT USE FOR: other actor stacks, batches, relational-only CRUD, or advice without an Orleans decision. INVOKES: inspect version and topology, choose the primitive, implement, and validate.

AI & Automation 463 stars 35 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 91/100

Stars 20%
89
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Microsoft Orleans ## Start With Purpose Do not begin with an Orleans API. First state: 1. the business identity that owns the behavior; 2. the invariant and what must survive activation or cluster failure; 3. the required consistency, query shape, acknowledgement, durability, replay, fan-out, and timing. Then select the smallest Orleans primitive whose guarantees match those requirements. Reject Orleans when the problem is primarily shared-memory computation, a finite batch, relational querying, or global coordination with few independent entities. Inspect package versions for version-sensitive work. Orleans `10.2.1` ships `Microsoft.Orleans.DurableJobs*` and `Microsoft.Orleans.Journaling*` as `10.2.1-alpha.1`; treat them as experimental until that status changes. ## Mental Model - A **grain** is a virtual actor: a logical entity with stable identity, behavior, and optional state. It is not a process, row, DTO, controller, or background job. - A **grain reference** is a location-transparent address. Getting a reference does not create a durable record or prove that an activation exists. - An **activation** is an ephemeral in-memory execution instance. Orleans creates, places, moves, deactivates, and recreates it. Never equate activation lifetime with entity lifetime. - A normal grain has at most one activation in the cluster by default and processes turns one at a time. This makes the grain a natural owner of per-identity invariants. - A **silo** hosts activations. S...

Details

Author
managedcode
Repository
managedcode/dotnet-skills
Created
4 months ago
Last Updated
2 days ago
Language
C#
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

managedcode-orleans-signalr

Use ManagedCode.Orleans.SignalR when a distributed .NET application needs Orleans-based coordination of SignalR real-time messaging, hub delivery, and grain-driven push flows. USE FOR: integrating ManagedCode.Orleans.SignalR into a real-time distributed application; coordinating SignalR delivery from Orleans grains; reviewing grain-to-hub push flows. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.

463 Updated 2 days ago
managedcode
AI & Automation Featured

managedcode-orleans-graph

Integrate ManagedCode.Orleans.Graph into an Orleans-based .NET application for grain-call policy enforcement, deadlock detection, live-call telemetry, and Mermaid graph diagnostics. USE FOR: ManagedCode.Orleans.Graph integration; allowed grain transitions; Orleans call filters; live policy graphs; reviewing Orleans call-cycle risk. DO NOT USE FOR: generic graph data modeling or traversal unrelated to Orleans calls. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.

463 Updated 2 days ago
managedcode
AI & Automation Listed

orchestrate

Advance one planwright spec by one step: pick the next ready unit critical-path-first (or a cohesion bundle), run the freshness gate, record the dispatch under the per-spec lock, and dispatch /execute-task via the backend. A stateless, disposable control tower; a reconcile sweep rebuilds from disk. Never merges, marks a PR ready, or auto-chains into /spec-kickoff. --bookkeeping runs the drain + PR reconcile; --watch loops the step.

1 Updated today
inkatze