Table of Contents

Namespace Millrace.Invocations

Classes

InvocationCapture

Captures a job call expression into the serialized JobInvocation wire format (ARCHITECTURE.md ยง5.2): declared service type + method + per-argument JSON. Argument sub-expressions are evaluated at capture time; guidance is to keep job signatures stable and pass ids, not entities.

JobExecutor

Executes a claimed job: resolves the declared service type from a fresh DI scope, restores the job's tenant into the ambient context, deserializes arguments, and invokes the method with the job's execution token injected at CancellationToken positions.

JobSideEffects

Effects a running job asks to have committed with its own completion.

TypeNameFormatter

Renders and resolves version-free type references for the invocation wire format: Namespace.Type[+Nested], AssemblySimpleName with Version/Culture/PublicKeyToken omitted at every level โ€” including generic type arguments and array element types โ€” so stored invocations survive assembly version bumps. Never emits raw FullName for constructed generics (which embeds fully-qualified argument names).