neat/telemetry/types

Local telemetry contracts shared by the internal telemetry chapters.

The public TelemetryEntry model lives in src/neat/shared/neat.shared.types.ts, but the telemetry subtree also needs a few smaller controller-local helper shapes for sampling, buffer management, and operator snapshots. Grouping those contracts here keeps the telemetry split readable without promoting every internal convenience type into the broader NEAT controller surface.

This chapter exists to keep the telemetry internals legible. The recorder, runtime, exports, and facade helpers all need a handful of small host and option shapes, but those shapes are teaching tools for the telemetry subsystem rather than public promises for the whole library. Keeping them here makes the internal contracts explicit: what a helper needs from a genome, what a runtime buffer host must expose, and which option bags are narrow enough to stay telemetry-local.

neat/telemetry/types/telemetry.types.ts

OperatorStatsMap

Operator stats map shape for telemetry extraction.

Adaptive mutation telemetry records success and attempt counts per operator. This map type names that contract so extraction helpers can stay specific about what they read without depending on a broader controller class.

TelemetryBufferContext

Minimal telemetry buffer context shape.

Runtime helpers only need a host that can expose or receive the in-memory telemetry buffer. This tiny shape keeps those helpers reusable and easy to test.

TelemetryCoreFields

Core telemetry field keys used by selection helpers.

Some telemetry fields remain mandatory even when callers request a narrower export or inspection surface. This alias documents that those core keys are treated as a fixed protected set rather than arbitrary strings.

TelemetryDiversityOptions

Diversity telemetry options for sampling and novelty defaults.

This local option bag narrows the much broader controller configuration down to the fields that matter for diversity-oriented telemetry decisions: whether diversity metrics are enabled, how aggressively to sample in fast mode, and which novelty-search defaults should influence telemetry output.

TelemetryEntryRecord

Telemetry entry shape used for constructing snapshots.

Builders often need the strongly typed TelemetryEntry model plus temporary access to additional dynamic fields while a snapshot is being assembled or filtered. This alias keeps that construction-phase flexibility localized.

TelemetryGenome

Minimal genome shape used by telemetry helpers.

Telemetry code rarely needs the entire Network surface. Most helpers only care about structural size and a few optional lineage hints, so this type captures the smallest genome contract needed for diversity, complexity, and lineage-oriented telemetry work.

TelemetrySelectContext

Minimal telemetry selection context shape.

Selection helpers narrow telemetry entries to a configured subset of fields. This context type names the single host capability they need: an optional set of selected telemetry keys.

TelemetryStreamOptions

Minimal telemetry stream options for streaming helpers.

The runtime layer only needs to know whether streaming is enabled and which callback should receive each entry. This keeps the callback contract explicit without forcing runtime helpers to depend on the entire controller option bag.

Generated from source JSDoc • GitHub