Learn

Architecture

Responsibility boundaries from command ingress to ordered output and diagnostics.

v0.1.0-dev.2Advancedusecase_forge
Open source reference

Architecture

Public UseCase facade

The application subclasses UseCase<S>, registers typed handlers, submits commands, observes snapshots, and owns close. The facade prevents callers from coordinating internal queues directly.

Input port

The input boundary validates command registration and resolves admission instructions. It reports typed rejection without pretending that rejected intent became an execution.

Interactor

The interactor owns scheduling, processing identity, execution groups, the processing registry, cancellation coordination, error routing, history, and close semantics.

Output port

The output boundary exposes the current snapshot and ordered stream. Application listeners observe publication; they do not mutate the runtime's internal execution state.

Queues

AdmissionQueue represents intent delayed by input rules. PendingQueue represents accepted entries waiting for processing policy. PublicationQueue serializes observable output. Keeping these roles separate prevents debounce, concurrency, and listener reentrancy from becoming one ambiguous queue.

Diagnostics bridge

Diagnostics is opt-in and read-only. The core emits bounded operational data through a separate public library; tools must not obtain mutation authority over the application runtime.

ARKTELOS

Purpose-built engineering systems for software that has to hold.