Mimir.CloudEvent.Types (Mimir v0.5.0)

Copy Markdown View Source

The registered CloudEvents type taxonomy for the mimir ecosystem, namespaced under ai.bizinsights.mimir.* (reverse-DNS of the owned domain bizinsights.ai).

These are helpers, not a closed union: a CloudEvents type is an open string, so a broker or consumer never rejects an unknown/newer family. Centralizing the strings here means the namespace is written in exactly one place and producers never hand-assemble a type.

Summary

Functions

The eval-outcome record type.

The type for a lifecycle Mimir.Event: ai.bizinsights.mimir.<domain>.<type>.

The gateway ledger/metering completion type.

A memory-provenance type for event (proposed/recalled/accepted/corrected/promoted/demoted/archived).

The namespace prefix every taxonomy type shares.

The routing-decision record type.

Functions

eval_outcome()

@spec eval_outcome() :: String.t()

The eval-outcome record type.

for_event(event)

@spec for_event(Mimir.Event.t()) :: String.t()

The type for a lifecycle Mimir.Event: ai.bizinsights.mimir.<domain>.<type>.

ledger_completion()

@spec ledger_completion() :: String.t()

The gateway ledger/metering completion type.

memory(event)

@spec memory(atom() | String.t()) :: String.t()

A memory-provenance type for event (proposed/recalled/accepted/corrected/promoted/demoted/archived).

Provisional. Unlike the other families here, no producer implements this vocabulary yet — the seven states are a proposal, not a description of shipped code, and they may be renamed once a real memory producer names its own. Treat this helper as unstable in a way the rest of the module is not.

namespace()

@spec namespace() :: String.t()

The namespace prefix every taxonomy type shares.

routing_decision()

@spec routing_decision() :: String.t()

The routing-decision record type.

Distinct from the older bare "routing_decision" string Mimir.RouteLog stamps on its turn-event entry: that one names the entry inside a request log, this one names the CloudEvent wrapping the same record. A wrapped decision carries both — this type on the envelope, "routing_decision" within data. Neither supersedes the other.