# Versioned.Versioned.Service

Defines the service state contract.

## Signatures

```ts
interface Service<Self, Id extends string, E1, A2, E2, A3, E3> extends Versioned<Self, E1, A2, E2, Self, A3, E3, Self> {
    readonly id: Id;
    readonly service: Context.Service<Self, Versioned<never, E1, A2, E2, never, A3, E3, never>>;
    readonly make: <R1 = never, R2 = never, R3 = never>(version: Effect.Effect<number, E1, R1>, fx: Fx.Fx<A2, E2, R2>, effect: Effect.Effect<A3, E3, R3>) => Layer.Layer<Self, never, Exclude<R1 | R2 | R3, Scope.Scope>>;
}
```

## Why

Creates an Effect service tag that exposes current reads, pushed updates, and versions through
one Layer-provided state dependency.

## Ownership and lifetime

Service is a contract and performs no acquisition. Implementations retain the errors,
services, interruption, and Scope requirements expressed by its members.

## Property: id

Exposes id on the versioned contract.

## Property: id: Why

Retains the literal service identifier for tooling, diagnostics, and Layer composition.

## Property: id: Ownership and lifetime

id does not own its inputs. Observation and current reads retain upstream lifetime, typed
failures, services, and interruption behavior.

## Property: make

Exposes make on the versioned contract.

## Property: make: Why

Builds one Versioned value from independently typed version, update, and current-value channels
instead of forcing them into one error or environment type.

## Property: make: Ownership and lifetime

Construction is lazy with respect to the Fx channel. Current reads share in-flight work until
interrupt is run; each component retains its declared errors and services.

## Property: service

Exposes service on the versioned contract.

## Property: service: Why

Exposes the underlying Effect Context service used by the generated Versioned class.

## Property: service: Ownership and lifetime

service does not own its inputs. Observation and current reads retain upstream lifetime,
typed failures, services, and interruption behavior.
