Files
git.stella-ops.org/docs/modules/excititor/prep/2025-11-20-consensus-removal-prep.md
master d519782a8f
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
prep docs and service updates
2025-11-21 06:56:36 +00:00

1.8 KiB

Excititor · Consensus Removal Prep (AOC-19-004)

  • Date: 2025-11-20
  • Working directory: src/Excititor/__Libraries/StellaOps.Excititor.Core + src/Excititor/StellaOps.Excititor.WebService
  • Scope: PREP-EXCITITOR-CORE-AOC-19-004-REMOVE-CONSENS

Objective

Define the cutover plan to remove legacy consensus/severity merge logic so Excititor remains aggregation-only and emits raw facts for downstream Policy/Concelier consumers.

Required changes (contract)

  • API/Storage:
    • Deprecate/disable any fields representing merged severity/status (mergedSeverity, consensusScore, computedStatus).
    • Retain raw source fields: status, justification, impact, affects, references, notes, provenance, reconciledFrom.
    • Add boolean consensusDisabled: true to existing documents during migration for audit.
  • Ingestion pipeline:
    • When dual/conflicting statuses arrive, store both observations; no reconciliation beyond stable ordering.
    • Maintain deterministic ordering when multiple observations share (tenant, advisoryId, component) — sort by ingestedAt, then source, then evidenceHash.
  • Feature flag: excititor:aoc:disableConsensus default true; only temporary false allowed for rollback during migration.
  • Telemetry: counter excititor.ingest.consensus.disabled tagged by tenant, source, connectorId; increment once per batch after flag applied.

Migration outline

  • Backfill step sets consensusDisabled=true where merged fields exist, and clears merged fields without touching raw observations.
  • Tests must assert merged fields are absent/null after migration and ingestion flows do not write them.

Acceptance for prep completion

  • Cutover rules, telemetry, and migration outline frozen here; implementation tasks must follow or update this note and sprint risks.