Timeline

Platform unified audit sink plus HLC-ordered event timeline (queries, critical path analysis, deterministic replay).

Purpose

Timeline serves two roles in one deployable Stella Ops service:

  1. Platform-wide unified audit sink. Every Stella Ops service pushes audit events to POST /api/v1/audit/ingest, where they are persisted in timeline.unified_audit_events with a per-tenant SHA-256 hash chain for tamper evidence, then served back with filtering, statistics, correlation clustering, retention/GDPR controls, and an anomaly-detection (anomaly v2) subsystem.
  2. HLC event timeline. Hybrid Logical Clock-ordered event queries, critical-path analysis for latency diagnosis, and deterministic replay.

The TimelineIndexer ingestion side was consolidated into this module and runs in-process.

Status

AttributeValue
MaturityProduction
Sourcesrc/Timeline/
ServiceStellaOps.Timeline.WebService

Key Features

Dependencies

Upstream

Downstream

Note: Timeline is a single deployable service. The TimelineIndexer ingestion side was merged into it and runs in-process; the standalone StellaOps.TimelineIndexer.WebService / StellaOps.TimelineIndexer.Worker projects are dormant.

API Surface

The service exposes four route families (see API Reference for the full operation list). All payloads are tenant-scoped; the tenant is resolved from the authenticated identity’s stellaops:tenant claim. Raw X-StellaOps-TenantId / x-tenant-id headers are never accepted as tenancy sources.

Authorization

Endpoints are gated by named policies that map to timeline:* OAuth scopes (registered in Program.cs via AddStellaOpsScopePolicy; scope constants live in StellaOpsScopes):

PolicyScopeUsed by
Timeline.Readtimeline:readHLC queries, audit reads, export/replay status, TimelineIndexer reads
Timeline.Writetimeline:writeExport/replay initiation, audit ingest, anomaly acknowledge, indexer event ingest
Timeline.Admintimeline:adminAnomaly rule CRUD, dispatch worklist (_pending-dispatch, dispatched, dispatch-failed), GDPR actor PII redaction

Runtime Contract