Files
git.stella-ops.org/src/Findings
master 257e29355b fix(findings-ledger): make initial migration idempotent for replay
Wraps ENUM type creation in findings.ledger schema with DO blocks that catch
duplicate_object so migration 001 can re-run on a partially-provisioned DB
without crashing. Minor corrections to 002 and 005 (syntax alignment).
Updates RLS contract + operations docs to reflect the replay-safe semantics.
WebService + persistence csproj get the Infrastructure.Postgres migration
reference needed for StartupMigrationHost wiring.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 21:57:31 +03:00
..
2026-02-01 21:37:40 +02:00

Findings

Container(s): stellaops-findings-ledger-web, stellaops-riskengine-web, stellaops-riskengine-worker, stellaops-api (VulnExplorer) Slot: 25 (ledger), 16 (riskengine), 13 (vulnexplorer) | Port: 8080 | Consumer Group: findings-ledger, riskengine, vulnexplorer Resource Tier: medium (ledger, riskengine), light (vulnexplorer, riskengine-worker)

Purpose

The Findings module provides an append-only event ledger for security findings, a risk scoring engine with pluggable providers (CVSS/KEV/EPSS/VEX/fix-exposure), and a vulnerability explorer API. The Ledger tracks finding lifecycle with Merkle-tree integrity, incident management, and scoring APIs. The RiskEngine computes risk scores via job queue. VulnExplorer provides the UI-facing query API.

API Surface

  • findings-ledger (via Router) — finding event ingestion, queries, export, incident management, EWS scoring, Merkle proofs, attachment management
  • riskengine (via Router) — risk score providers listing, job submission, simulation, exploit maturity
  • vulnexplorer (via Router) — vulnerability search and investigation queries

Storage

PostgreSQL (ConnectionStrings:Default / ConnectionStrings:FindingsLedger); RiskEngine supports PostgreSQL or in-memory

Background Workers

  • riskengine-worker — background risk score computation (Worker hosted service)