Story: Observability and telemetry

Table of Contents

This page documents a story in Sprint 07. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Bring up observability and telemetry as first-class components, and drop the MaxMind GeoIP dependency in favour of a permissively licensed alternative.

Status

Field Value
State DONE
Parent sprint Sprint 07
Now Completed 2025-12-28.
Waiting on None.
Next None.
Last touched 2025-12-28

Continued in: Observability follow-up (sprint 08) — review pass of telemetry, comms analyser, and event viewer; implementations carried forward.

Acceptance

  • ores.observability component present and emitting structured events.
  • ores.telemetry wires trace IDs into logging and exports via OTLP.
  • MaxMind code path removed; geo lookups served by the new provider.

Tasks

Task State Start End Description
Create the observability component DONE 2026-05-19 2025-12-26 Stand up ores.observability as a peer of ores.logging: structured event capture, retention, query surface.
Incorporate new telemetry component DONE 2026-05-19 2025-12-27 Wire the new ores.telemetry component into the existing logging path: trace IDs, span IDs, OpenTelemetry export.
Replace MaxMind implementation DONE 2026-05-19 2025-12-28 Replace the MaxMind-licensed GeoIP backend with a permissively-licensed alternative for the geo lookups used in session tracking.

Decisions

Observability and telemetry as separate components
durable store (observability) vs live trace stream (telemetry); kept distinct.
Permissive GeoIP only
MaxMind's licence terms don't match how we want to ship; replacing rather than dual-shipping avoids confusion.

Out of scope

  • Building our own OTLP backend; we just emit, we don't store.

See also

None.

Emacs 29.1 (Org mode 9.6.6)