Lumen Observatory

A bounded model-monitoring platform built with synthetic network-service telemetry, keeping lineage, drift and limitations visible.

Local engineering build · synthetic demonstration data

Lumen Observatory local synthetic interface showing service pressure, input drift and a telemetry reading form
Retained synthetic telemetry screenshot from 15 July 2026, cropped to the monitoring panels and reading form. September quality checks did not refresh this visual checkpoint.
9Python tests
API, scoring, drift and asset contract
91.76%statement coverage
Local pytest run on 07 September 2026
0.9235synthetic ROC AUC
Generated 1,100-sample holdout only
2responsive captures
1,440px desktop and 390px mobile checkpoint

Why this build.

The slice is deliberately small: one synthetic telemetry problem, one reproducible artefact and enough surrounding evidence to challenge it.

After .NET and Java, Lumen responds to Python, data, model-monitoring and cloud-service signals in target banking and telecommunications roles.

Govern the measurement as well as the model.

A score keeps its input and model version together. Drift monitoring compares the recent input distribution with training data, while the interface makes the limits of synthetic evidence visible.

A reading stays connected to its context.Scored readings retain their input and model version. Drift observation compares recent inputs with the training baseline.

A reading stays connected to its context.

  • Training baseline
  • Recent inputs
  • Drift observation

Input, score and model version remain attributable

From generated input to monitoring

  1. Generate

    Seed 404 creates bounded infrastructure telemetry with controlled label noise.

  2. Train

    A random forest is accepted only when generated holdout ROC AUC reaches 0.85.

  3. Score

    FastAPI validates the reading and persists probability, band, signals and version.

  4. Observe

    Population stability and Prometheus metrics expose changes around the model.

The stack and the reason.

The Python service adds typed APIs, reproducible model training and monitoring evidence to the engineering series. The scope stays focused on the complete local lifecycle.

Python 3.14 + FastAPI 0.139
Typed APIs and another backend ecosystem beyond .NET and Java.
scikit-learn 1.9
A reproducible training path, model artefact and explicit release gate.
PostgreSQL 17
Every synthetic reading keeps its inputs, output and model version together.
PSI + Prometheus
Input-distribution change and service behaviour remain inspectable.
Docker + GitHub Actions
A non-root runtime and pinned verification workflow.

Implemented boundaries.

  • Generated evidence

    Training and seeded interface data are visibly synthetic.

  • Version lineage

    Each score records the model version that produced it.

  • Drift visibility

    PSI compares recent inputs with the training baseline.

  • Durable readings

    PostgreSQL keeps the measured input and result together.

The evidence checkpoint.

Ruff, strict mypy and nine pytest checks passed locally on 07 September 2026 with 91.76% statement coverage under a targeted warning policy. Project-owned deprecations are promoted to errors; one understood third-party warning is filtered. Docker/PostgreSQL readiness, Prometheus output and one complete desktop/mobile scoring flow remain the separate 15 July 2026 checkpoint.

  • Generated infrastructure telemetry only; no person or customer data.
  • Contextual signals orient investigation but are not causal explanations.
  • Holdout metrics do not claim performance on a real telecommunications network.
  • Local repository and noindex case study; no public or cloud deployment implied.

This case study is kept outside search indexing. The repository is local, and these checkpoints establish local behaviour.

Continue through the engineering projectsAegis Ledger