Files
git.stella-ops.org/docs/implplan/SPRINT_170_notifications_telemetry.md
master 2eb6852d34
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Add unit tests for SBOM ingestion and transformation
- Implement `SbomIngestServiceCollectionExtensionsTests` to verify the SBOM ingestion pipeline exports snapshots correctly.
- Create `SbomIngestTransformerTests` to ensure the transformation produces expected nodes and edges, including deduplication of license nodes and normalization of timestamps.
- Add `SbomSnapshotExporterTests` to test the export functionality for manifest, adjacency, nodes, and edges.
- Introduce `VexOverlayTransformerTests` to validate the transformation of VEX nodes and edges.
- Set up project file for the test project with necessary dependencies and configurations.
- Include JSON fixture files for testing purposes.
2025-11-04 07:49:39 +02:00

11 KiB

Sprint 170 - Notifications & Telemetry

[Notifications & Telemetry] 170.A) Notifier.I Depends on: Sprint 150.A - Orchestrator Summary: Notifications & Telemetry focus on Notifier (phase I).

Task ID State Task description Owners (Source)
NOTIFY-DOC-70-001 DONE Record architecture decision to keep src/Notify (shared libraries) and src/Notifier (host runtime) separate; capture rationale in notifications docs. Notes added 2025-11-02. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-AIRGAP-56-001 DONE Disable external webhook targets in sealed mode, default to enclave-safe channels (SMTP relay, syslog, file sink), and surface remediation guidance. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-AIRGAP-56-002 DONE Provide local notifier configurations bundled within Bootstrap Pack with deterministic secrets handling. Dependencies: NOTIFY-AIRGAP-56-001. Notifications Service Guild, DevOps Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-AIRGAP-57-001 DONE Send staleness drift and bundle import notifications with remediation steps. Dependencies: NOTIFY-AIRGAP-56-002. Notifications Service Guild, AirGap Time Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-AIRGAP-58-001 DONE Add portable evidence export completion notifications including checksum + location metadata. Dependencies: NOTIFY-AIRGAP-57-001. Notifications Service Guild, Evidence Locker Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-ATTEST-74-001 TODO Create notification templates for verification failures, expiring attestations, key revocations, and transparency anomalies. Notifications Service Guild, Attestor Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-ATTEST-74-002 TODO Wire notifications to key rotation/revocation events and transparency witness failures. Dependencies: NOTIFY-ATTEST-74-001. Notifications Service Guild, KMS Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-OAS-61-001 TODO Update notifier OAS with rules, templates, incidents, quiet hours endpoints using standard error envelope and examples. Notifications Service Guild, API Contracts Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-OAS-61-002 TODO Implement /.well-known/openapi discovery endpoint with scope metadata. Dependencies: NOTIFY-OAS-61-001. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-OAS-62-001 TODO Provide SDK usage examples for rule CRUD, incident ack, and quiet hours; ensure SDK smoke tests. Dependencies: NOTIFY-OAS-61-002. Notifications Service Guild, SDK Generator Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-OAS-63-001 TODO Emit deprecation headers and Notifications templates for retiring notifier APIs. Dependencies: NOTIFY-OAS-62-001. Notifications Service Guild, API Governance Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-OBS-51-001 TODO Integrate SLO evaluator webhooks into Notifier rules (burn-rate breaches, health degradations) with templates, routing, and suppression logic. Provide sample policies and ensure imposed rule propagation. Notifications Service Guild, Observability Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-OBS-55-001 TODO Publish incident mode start/stop notifications with trace/evidence quick links, retention notes, and automatic escalation paths. Include quiet-hour overrides + legal compliance logging. Dependencies: NOTIFY-OBS-51-001. Notifications Service Guild, Ops Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-RISK-66-001 TODO Add notification triggers for risk severity escalation/downgrade events with profile metadata in payload. Notifications Service Guild, Risk Engine Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-RISK-67-001 TODO Notify stakeholders when risk profiles are published, deprecated, or thresholds change. Dependencies: NOTIFY-RISK-66-001. Notifications Service Guild, Policy Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-RISK-68-001 TODO Support per-profile routing rules, quiet hours, and dedupe for risk alerts; integrate with CLI/Console preferences. Dependencies: NOTIFY-RISK-67-001. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)

[Notifications & Telemetry] 170.A) Notifier.II Depends on: Sprint 170.A - Notifier.I Summary: Notifications & Telemetry focus on Notifier (phase II).

Task ID State Task description Owners (Source)
NOTIFY-SVC-37-001 TODO Define pack approval & policy notification contract, including OpenAPI schema, event payloads, resume token mechanics, and security guidance. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-37-002 TODO Implement secure ingestion endpoint, Mongo persistence (pack_approvals), idempotent writes, and audit trail for approval events. Dependencies: NOTIFY-SVC-37-001. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-37-003 TODO Deliver approval/policy templates, routing predicates, and channel dispatch (email + webhook) with localization + redaction. Dependencies: NOTIFY-SVC-37-002. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-37-004 TODO Provide acknowledgement API, Task Runner callback client, metrics for outstanding approvals, and runbook updates. Dependencies: NOTIFY-SVC-37-003. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-38-002 TODO Implement channel adapters (email, chat webhook, generic webhook) with retry policies, health checks, and audit logging. Dependencies: NOTIFY-SVC-37-004. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-38-003 TODO Deliver template service (versioned templates, localization scaffolding) and renderer with redaction allowlists, Markdown/HTML/JSON outputs, and provenance links. Dependencies: NOTIFY-SVC-38-002. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-38-004 TODO Expose REST + WS APIs (rules CRUD, templates preview, incidents list, ack) with audit logging, RBAC checks, and live feed stream. Dependencies: NOTIFY-SVC-38-003. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-39-001 TODO Implement correlation engine with pluggable key expressions/windows, throttler (token buckets), quiet hours/maintenance evaluator, and incident lifecycle. Dependencies: NOTIFY-SVC-38-004. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-39-002 TODO Build digest generator (queries, formatting) with schedule runner and distribution via existing channels. Dependencies: NOTIFY-SVC-39-001. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-39-003 TODO Provide simulation engine/API to dry-run rules against historical events, returning matched actions with explanations. Dependencies: NOTIFY-SVC-39-002. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-39-004 TODO Integrate quiet hour calendars and default throttles with audit logging and operator overrides. Dependencies: NOTIFY-SVC-39-003. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-40-001 TODO Implement escalations + on-call schedules, ack bridge, PagerDuty/OpsGenie adapters, and CLI/in-app inbox channels. Dependencies: NOTIFY-SVC-39-004. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-40-002 TODO Add summary storm breaker notifications, localization bundles, and localization fallback handling. Dependencies: NOTIFY-SVC-40-001. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-40-003 TODO Harden security: signed ack links (KMS), webhook HMAC/IP allowlists, tenant isolation fuzz tests, HTML sanitization. Dependencies: NOTIFY-SVC-40-002. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)
NOTIFY-SVC-40-004 TODO Finalize observability (metrics/traces for escalations, latency), dead-letter handling, chaos tests for channel outages, and retention policies. Dependencies: NOTIFY-SVC-40-003. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)

[Notifications & Telemetry] 170.A) Notifier.III Depends on: Sprint 170.A - Notifier.II Summary: Notifications & Telemetry focus on Notifier (phase III).

Task ID State Task description Owners (Source)
NOTIFY-TEN-48-001 TODO Tenant-scope rules/templates/incidents, RLS on storage, tenant-prefixed channels, and inclusion of tenant context in notifications. Notifications Service Guild (src/Notifier/StellaOps.Notifier/TASKS.md)

[Notifications & Telemetry] 170.B) Telemetry Depends on: Sprint 150.A - Orchestrator Summary: Notifications & Telemetry focus on Telemetry).

Task ID State Task description Owners (Source)
TELEMETRY-OBS-50-001 TODO Create StellaOps.Telemetry.Core library with structured logging facade, OpenTelemetry configuration helpers, and deterministic bootstrap (service name/version detection, resource attributes). Publish sample usage for web/worker hosts. Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core/TASKS.md)
TELEMETRY-OBS-50-002 TODO Implement context propagation middleware/adapters for HTTP, gRPC, background jobs, and CLI invocations, carrying trace_id, tenant_id, actor, and imposed-rule metadata. Provide test harness covering async resume scenarios. Dependencies: TELEMETRY-OBS-50-001. Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core/TASKS.md)
TELEMETRY-OBS-51-001 TODO Ship metrics helpers for golden signals (histograms, counters, gauges) with exemplar support and cardinality guards. Provide Roslyn analyzer preventing unsanitised labels. Dependencies: TELEMETRY-OBS-50-002. Telemetry Core Guild, Observability Guild (src/Telemetry/StellaOps.Telemetry.Core/TASKS.md)
TELEMETRY-OBS-51-002 TODO Implement redaction/scrubbing filters for secrets/PII enforced at logger sink, configurable per-tenant with TTL, including audit of overrides. Add determinism tests verifying stable field order and timestamp normalization. Dependencies: TELEMETRY-OBS-51-001. Telemetry Core Guild, Security Guild (src/Telemetry/StellaOps.Telemetry.Core/TASKS.md)
TELEMETRY-OBS-55-001 TODO Provide incident mode toggle API that adjusts sampling, enables extended retention tags, and records activation trail for services. Ensure toggle honored by all hosting templates and integrates with Config/FeatureFlag providers. Dependencies: TELEMETRY-OBS-51-002. Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core/TASKS.md)
TELEMETRY-OBS-56-001 TODO Add sealed-mode telemetry helpers (drift metrics, seal/unseal spans, offline exporters) and ensure hosts can disable external exporters when sealed. Dependencies: TELEMETRY-OBS-55-001. Telemetry Core Guild (src/Telemetry/StellaOps.Telemetry.Core/TASKS.md)

If all tasks are done - read next sprint section - SPRINT_180_experience_sdks.md