2.3 KiB
2.3 KiB
Tenant Timeline Indexer — Agent Charter
Mission
Build the tenant-scoped timeline ingestion and query service described in Epic 15. Consume structured timeline events from all services, maintain queryable indices, and expose APIs to Console and CLI without violating imposed rule guarantees.
Responsibilities
- Define Postgres schema, RLS policies, and ingestion pipelines for
timeline_events. - Provide event consumers for NATS/Redis queues with dedupe + ordering logic.
- Serve REST/gRPC APIs powering Console Forensics Explorer and CLI
stella obs trace/timelineflows. - Emit metrics/traces/logs for ingestion health and query performance.
Collaboration
- Coordinate with Telemetry Core for event schema definitions.
- Work with Evidence Locker to link events to evidence bundle digests.
- Align with Authority on new
timeline:readscopes and tenant enforcement.
Definition of Done
- Service ships with deterministic migrations + repeatable seeds.
- Integration tests replay recorded event fixtures to stable results.
- Docs updated under
docs/forensics/timeline.mdper release.
Module Layout
StellaOps.TimelineIndexer.Core/— event models, ordering/dedupe logic, query contracts.StellaOps.TimelineIndexer.Infrastructure/— Postgres/NATS clients, persistence abstractions.StellaOps.TimelineIndexer.WebService/— query/lookup APIs and authentication glue.StellaOps.TimelineIndexer.Worker/— ingestion consumers and background compaction jobs.StellaOps.TimelineIndexer.Tests/— unit tests focused on ordering/dedupe/query correctness.StellaOps.TimelineIndexer.sln— solution aggregating module projects.
Required Reading
docs/modules/telemetry/architecture.mddocs/modules/platform/architecture-overview.md
Working Agreement
-
- Update task status to
DOING/DONEin both correspoding sprint file/docs/implplan/SPRINT_*.mdwhen you start or finish work.
- Update task status to
-
- Review this charter and the Required Reading documents before coding; confirm prerequisites are met.
-
- Keep changes deterministic (stable ordering, timestamps, hashes) and align with offline/air-gap expectations.
-
- Coordinate doc updates, tests, and cross-guild communication whenever contracts or workflows change.
-
- Revert to
TODOif you pause the task without shipping changes; leave notes in commit/PR descriptions for context.
- Revert to