Stella Ops Module Documentation Index

Verified against: commit ab4b3ca1d9 (2026-09-26). The services, their source projects, databases, compose files, bundle presence and owning dossiers are in the generated service inventory. Re-verify with python tools/scripts/generate/service-inventory.py --check. Where an entry below disagrees with the inventory, the inventory is current.

This is the entry point for the documentation of every Stella Ops module. Use it to find the dossier for a module, see which service a module runs as, and find where a retired module went.

Conventions


Module map

Service families

Each row is one service family, and its services share one database. The Database column names the database the family’s services resolve through their own STELLAOPS_POSTGRES_<SERVICE>_CONNECTION.

DossierSourceServicesDatabase
Routersrc/Router/router-gatewaynone
Authoritysrc/Authority/authority, which includes the issuer directorystellaops_authority
Platformsrc/Platform/platform, which includes environment state and sealed posturestellaops_platform
ReleaseOrchestratorsrc/ReleaseOrchestrator/release-orchestrator, agent-corestellaops_release_orchestrator; the agent has none
JobEnginesrc/JobEngine/jobengine-web, jobengine-worker, jobengine-estate-workerstellaops_jobengine
Integrationssrc/Integrations/integrations-webstellaops_integrations
Notifysrc/Notify/notify-web, notify-workerstellaops_notify
Timelinesrc/Timeline/timeline-webstellaops_timeline
Scannersrc/Scanner/scanner-web, scanner-workerstellaops_scanner
SbomServicesrc/SbomService/sbomservicestellaops_sbomservice
Vulnerabilitiessrc/Vulnerabilities/vulnerabilities-web, vulnerabilities-workerstellaops_vuln
Signalssrc/Signals/signalsstellaops_signals
Graphsrc/Graph/graph-api, which includes the reachability subgraph storestellaops_graph
Policysrc/Policy/policy-enginestellaops_policy
Findingssrc/Findings/findings-web, findings-workerstellaops_findings
Unknownssrc/Unknowns/unknowns-webstellaops_unknowns
AdvisoryAIsrc/AdvisoryAI/advisoryai-web, advisoryai-worker, which include OpsMemorystellaops_advisoryai
Evidencesrc/Evidence/, src/Attestor/StellaOps.Attestor.TileProxy, devops/docker/tsaevidence-web, evidence-worker, attestor-tileproxy, tsastellaops_evidence; the tile proxy and the TSA have none
Signersrc/Attestor/StellaOps.Signer/signerstellaops_signer
Replaysrc/Replay/replay-webstellaops_replay
Registrysrc/Registry/registry-web, registry-tokenstellaops_registry
OfflineKitsrc/OfflineKit/offlinekit-web, offlinekit-workerstellaops_offlinekit
SmRemotesrc/SmRemote/sm-remote, from an opt-in compose file; not in the bundlenone
Workflowsrc/Workflow/the workflow-web publish key only; no compose service, dormant by owner rulingnone
Web/UI, websrc/Web/the Console SPA, built by console-builder and served by router-gatewaynone

Libraries, tools and clients

DossierSourceWhat it is
CLIsrc/Cli/The stella command-line client.
Cryptographysrc/Cryptography/Regional crypto providers (FIPS, eIDAS, GOST, SM, PQ) loaded as plugins.
Pluginsrc/Plugin/The plugin hosting SDK and its fail-closed admission path.
Doctorsrc/Doctor/The Doctor check SDK and plugins. Services register their checks with Platform; there is no Doctor deployable.
Binary analysissrc/BinaryIndex/Shared binary-analysis foundations. Binary and symbol workflow belongs to Vulnerabilities.
AirGapsrc/OfflineKit/__Libraries/StellaOps.AirGap.*, src/__Libraries/StellaOps.AirGap.PolicyOffline bundle, import and posture libraries. There is no AirGap host.
AOCwithdrawn (src/__Obsoleted/Aoc/)The Aggregation-Only Contract guardrail libraries and analyzer, withdrawn by PCD-62 (2026-09-27).
APIsrc/Api/API governance and OpenAPI generation.
Telemetrysrc/Telemetry/OpenTelemetry libraries and federation.
RuntimeInstrumentationsrc/RuntimeInstrumentation/eBPF runtime linkage verification and host agents. No estate service runs it.
Toolssrc/Tools/Bench, verifier, SDK generator, dev portal and smoke tools.
Testersrc/Tester/QA fixture injection and the replay-and-compare oracle. It is an opt-in overlay only and must never reach a production stack.
Provcachesrc/__Libraries/StellaOps.ProvcacheA retained library family.
E2Esrc/E2E/End-to-end harnesses. Test tooling with no dossier.

Concept and cross-cutting documents

ConceptWhere it lives
Auditaudit/architecture.md. Every service emits audit events to timeline-web, which keeps the hash-chained record.
ReachabilityThe reachability concept doc, ReachGraph for the model graph-api serves, and Scanner.
EventingEvent envelope schemas (StellaOps.Eventing), consumed by Timeline and Notify.
Snapshot and replayReplay and AirGap.
DevOps / CIdevops/ and .gitea/ at the repository root.

Retired modules

These directories are pointer stubs or frozen design records. Each names its successor.

DossierSuccessor
attestor, evidence-lockerEvidence; Signer keeps its own dossier
concelier, excititor, feedser, vex-hub, vex-lensVulnerabilities
export-center, mirrorOfflineKit
airgap-controllerPlatform for posture, OfflineKit for carriers
scheduler, packsregistryJobEngine
findings-ledger, riskengineFindings
issuer-directoryAuthority
opsmemoryAdvisoryAI
notifierNotify
symbolsBinary analysis and Vulnerabilities
policy-enginePolicy
registry-tokenRegistry
provenanceEvidence; the provenance libraries and tool stay under src/Attestor/
remediationnone; the Console remediation surfaces are AdvisoryAI’s autofix
zastavanone; the Kubernetes runtime direction is retired

Module Catalog

AdvisoryAI

AI-powered advisory summarization and knowledge search service using LLM inference to explain vulnerability advisories, VEX evidence, and remediation guidance. Uses retrieval-augmented generation (RAG) over advisories, VEX, and platform documentation with configurable LLM backends (Claude, OpenAI, Ollama, Gemini). Includes chat audit logging, doctor-search controls, and guardrails for determinism and offline operation.

Dependencies: Concelier, VEX Lens / Excititor, Policy Engine, SBOM Service, LLM providers.


AirGap

Air-gapped deployment controller, importer, and cryptographic time anchor enabling StellaOps operation in fully disconnected environments. Handles bundle import/export, trust verification, and sealed-mode enforcement. Time service provides cryptographic time anchors using Roughtime or RFC3161.

Dependencies: Authority, Concelier / Excititor, Signer / Attestor.


Aoc

CLI tool and Roslyn analyzers enforcing the Aggregation-Only Contract (AOC) across the platform. Validates that ingestion services preserve raw upstream data without modification, maintain full provenance chains, and never merge conflicting observations.

Dependencies: None (standalone validation tool).


Api

Hand-maintained OpenAPI 3.1 specifications for a subset of Stella Ops services, the shared schema, parameter, response and security components, and the aggregate specification. The specifications are contract documents, not runtime documents. src/Authority/StellaOps.Api.OpenApi/ holds a second, divergent Authority specification; the dossier records which consumer reads which copy.

Dependencies: None.


Attestor — RETIRED as a service

DSSE attestation submission to Rekor v2, inclusion proofs, verification, the predicate type registry, the identity watchlist and trust verdict storage, now hosted by the Evidence family.

Two supporting containers are infrastructure, not src/ modules. stellaops-tsa is the local RFC 3161 Timestamp Authority built in-repo from an OpenSSL base (devops/docker/tsa/, ADR-036); stellaops-rekor is the Rekor v2 transparency log. The .NET timestamping clients live in src/Attestor/__Libraries/StellaOps.Attestor.Timestamping and src/EvidenceLocker/__Libraries/StellaOps.EvidenceLocker.Timestamping.

Dependencies: Signer, Rekor v2, TSA (RFC 3161), Authority.


Authority

On-premises OIDC/OAuth 2.0 identity service issuing short-lived operational tokens, with DPoP sender constraint available per client. Supports RBAC scopes from the canonical catalog (StellaOpsScopes.cs), multi-tenant claims, console admin endpoints, the standard and LDAP identity-provider plugins, and bootstrap client seeding.

Dependencies: PostgreSQL (own database). Service, image, database and compose wiring: service inventory.


Bench (archived – absorbed into Tools)

Performance benchmark harnesses for critical platform subsystems including Link-Not-Merge, VEX, Notify, Policy Engine, and Scanner analyzers. Absorbed into src/Tools/.

Dependencies: None (standalone benchmarks).


Binary analysis

Shared analysis foundations remain under src/BinaryIndex/; binary and symbol workflow, metadata and persistence belong to Vulnerabilities. See the current architecture. The predecessor hosts are frozen by BIN-10. Standing-estate retirement and schema-drop authorization remain distinct from source readiness.

Cartographer (absorbed into Scanner)

Infrastructure topology discovery and service mapping for container environments. Produces SBOM snapshots and topology graphs consumed by the Graph Indexer. Environment topology and promotion lanes are now owned by the Release Orchestrator. Consolidated into Scanner.

Dependencies: Graph, Scanner.


CLI

Command-line interface for scanning, policy, vulnerability and VEX data, verification, offline-kit administration, Doctor diagnostics and administration. Authenticates against Authority with the client-credentials or password grant; tokens are cached per scope set. Runnable examples in the docs are checked by CliDocumentationContractTests.

Dependencies: Authority (tokens) and the service APIs through the gateway.


Concelier — RETIRED

Advisory ingestion and Link-Not-Merge (LNM) observation pipeline producing deterministic raw observations, correlation linksets, and evidence events. Acquires authoritative vulnerability advisories from vendor PSIRTs, distros, OSS ecosystems, and CERTs, persisting them as immutable observations under AOC.

Dependencies: Policy Engine, Excititor, Graph, AirGap, Feedser.


Cryptography

Pluggable cryptographic providers for regional standards with algorithm-agile signing and a fail-closed production guard. Regional deployments select providers through compose overlays that mount signed crypto packs.

Dependencies: None (consumed as a library by Signer, Evidence, Authority and other services).


DevPortal (archived – absorbed into Tools)

Developer portal static site providing API documentation, integration guides, SDK references, and getting-started tutorials. Absorbed into src/Tools/.

Dependencies: None (static site).


Doctor

Diagnostic framework: the doctor-check/v1 contract, the check engine and plug-ins, the per-service SDK, and the stella doctor CLI. JobEngine schedules estate-level packs.

Dependencies: Platform (registry and aggregate).


E2E (test harness – no dossier)

End-to-end coverage harnesses: StellaOps.E2E.AnalyzerCoverage, StellaOps.E2E.NotifyChannelCoverage, StellaOps.E2E.SyntheticRepos, plus __Tests. Driven by dedicated compose files (docker-compose.e2e-analyzer-coverage.yml, docker-compose.e2e-notify-coverage.yml). Test tooling, not a shipped service; it has no container in the default stack.

Dependencies: the services under test (Scanner analyzers, Notify channels).


EvidenceLocker — RETIRED as a service

Tamper-proof, immutable evidence storage for vulnerability scan evidence, audit logs, and compliance artifacts with cryptographic sealing. Evidence is content-addressable. Once sealed, evidence cannot be modified. Supports threads, verdicts, bundle packaging, and portable bundles for offline compliance audits.

Dependencies: Attestor, Authority, object storage.


Excititor — RETIRED

VEX ingestion and consensus pipeline converting heterogeneous VEX statements (OpenVEX, CSAF VEX, CycloneDX VEX) into immutable observations with provenance-preserving linksets. Does not decide PASS/FAIL; supplies evidence with statuses, justifications, and provenance weights. Conflicting observations are preserved unchanged. Consolidated into Concelier; DbContext remains separate.

Dependencies: Policy Engine, Concelier, Attestor, Graph.


ExportCenter — RETIRED

Nothing was withdrawn. The application layer is src/OfflineKit/__Libraries/StellaOps.ExportCenter.Application and the worker runtime is …/StellaOps.ExportCenter.WorkerRuntime; both still declare StellaOps.ExportCenter.* namespaces on purpose, because the lift was byte-identical so that no consumer using had to change.

Dependencies: unchanged — Findings, Policy Engine, JobEngine, Authority, Evidence, object storage.


Extensions (absorbed into Integrations)

IDE extensions for JetBrains IDEs and Visual Studio Code providing inline vulnerability information, policy status, and StellaOps workflow integration directly within the developer’s editor environment. Now lives under the Integrations module.

Dependencies: Platform API, JobEngine API, Authority.


Feedser — RETIRED

Evidence collection library for backport detection and binary fingerprinting supporting the four-tier backport proof system. Extracts patch signatures from unified diffs and binary fingerprints from compiled code. Consumed primarily by Concelier’s ProofService layer. All outputs are deterministic with canonical JSON serialization. Consolidated into Concelier.

Dependencies: None (consumed as a library by Concelier).


Findings

Centralized findings aggregation service providing backport tracking, evidence graphs, finding summaries, reachability maps, runtime timelines, scoring, and webhook notifications. Aggregates vulnerability findings from Scanner, Policy, Concelier, and Excititor into a unified query surface. Includes a LedgerReplayHarness tool for deterministic replay testing.

The consolidated Findings migration chain creates the analytics ingestion tables and helper functions. It excludes the legacy analytics materialized views, rollups and query functions. The retained StellaOps.Findings.VulnCorrelation.Application and .Persistence libraries have no serving registration caller; their former host and compose overlay were deleted at FND-10 (2026-08-27). The current worker’s advisory and Scanner projections do not call those legacy registrations. Platform’s /api/analytics/* API and maintenance lane were withdrawn by PCD-127 (2026-09-30), together with the Console SBOM Lake page and CLI analytics commands. See the VulnCorrelation dossier for the source revision, exact schema boundary and repeatable checks.

Dependencies: Scanner, Policy Engine, Concelier / Excititor, Attestor.


Gateway (deleted)

The standalone src/Gateway/ module was deleted. The canonical Gateway WebService (StellaOps.Gateway.WebService) now lives under src/Router/. The Router module owns HTTP ingress, binary protocol bridging, routing, and transport abstraction.

Dependencies: See Router.


Graph

SBOM dependency graph store with a rich node/edge model covering artifacts, SBOMs, components, advisories, VEX statements, and policy versions with reachability overlays. The Graph Indexer processes events from Cartographer/SBOM Service, Concelier/Excititor, and policy runs to maintain the graph.

Dependencies: Cartographer / SBOM Service, Concelier / Excititor, Policy Engine, Scanner.


Integrations

Integration hub managing connections to external systems (SCM, CI, registries, secrets vaults) with health monitoring. Stores connection profiles, manages credential references, and monitors integration health. Plugins under __Plugins provide specific connector implementations.

Dependencies: Authority, external SCM/CI/Registry/Vault systems.


IssuerDirectory (absorbed into Authority)

Centralized trusted VEX/CSAF publisher metadata registry enabling issuer identity resolution, key management, and trust weight assignment. Key lifecycle management validates Ed25519, X.509, and DSSE public keys with fingerprint deduplication. On startup, imports default CSAF publishers into the global tenant. Consolidated into Authority; DbContext remains separate for security isolation.

Dependencies: Authority.


Mirror — RETIRED

The old StellaOps.Mirror.Creator library never assembled a bundle (its service failed closed); it was withdrawn on 2026-09-26 to src/__Obsoleted/OfflineKit/__Libraries/StellaOps.Mirror.Creator/. The mirror-profile planner that turns a kind = 5 export profile into a bundle plan is MirrorProfilePlanner, and the executor that would call it is OK-12 — so a mirror bundle is not yet producible end-to-end through the profile API.

Dependencies: Upstream vulnerability feeds (NVD, OSV, GHSA), Concelier.


Notifier (retired)

Merged into Notify. notifier-web merged into notify-web at NTF-5 and the notifier-worker deployable retired on 2026-09-04; the sources were frozen at src/__Obsoleted/Notifier/ on 2026-09-08 (SPRINT_20260722_015 NTF-10). Its documentation is now a pointer: docs-archive/modules/notifier/. Read the Notify entry below.


Notify

Rules-driven, tenant-aware notification engine providing event consumption, operator-defined routing, channel-specific rendering, and reliable delivery with idempotency, throttling, and digests. The notify-web host serves the API and notify-worker runs delivery, both over the shared StellaOps.Notify.Delivery library. Secrets for channels are referenced, not stored raw.

Dependencies: Scanner / Scheduler / Excititor / Concelier / Attestor / Zastava (event sources), Slack/Teams/Email/Webhook, Authority.


OpsMemory (consolidated into AdvisoryAI)

Decision ledger capturing the lifecycle of security decisions with similarity-based suggestion retrieval for organizational learning. Uses similarity vectors to suggest relevant precedents for new situations. Deterministic with fixed similarity formulas, no randomness in ranking, and multi-tenant isolation. Consolidated from standalone src/OpsMemory/ module into src/AdvisoryAI/.

Dependencies: AdvisoryAI, Authority, Findings Ledger.


JobEngine (formerly Orchestrator)

Source and job orchestration service managing job lifecycle, rate-limit governance, DAG execution, circuit breakers, and worker coordination. Applies quotas and rate limits per tenant/jobType, manages leasing to workers, handles completion tracking with retry policies, and supports replay. SDK bridges exist for Go and Python workers. Renamed from Orchestrator. Now includes Scheduler, TaskRunner, and PacksRegistry.

Dependencies: Concelier / Excititor / ExportCenter / Policy (job producers), Valkey or NATS, Authority.


PacksRegistry (absorbed into JobEngine)

Centralized registry for distributable task packs, policy packs, and analyzer bundles with versioned management and integrity verification. All packs are content-addressed. Consolidated into JobEngine.

Dependencies: JobEngine, object storage, Authority.


Platform

Console backend: installation settings, tenant directory, read projections, federated telemetry, crypto and KEK administration, and the Doctor registry. The former central migration framework was deleted 2026-09-14 (SPRINT_20260722_021 PLT-4); MigrationModuleConsolidation survives only for the guided-setup wizard.

Dependencies: Authority, PostgreSQL (own database). Service, image, database and compose wiring: service inventory.


Plugin

Plugin SDK, registry, sandbox, and host framework enabling extensibility across the platform. Includes Abstractions (contracts), Sdk (development SDK), Host (lifecycle management), Registry (PostgreSQL persistence), Sandbox (isolated execution), Cli (management tool), Testing (test harness), and Samples.

Dependencies: None (framework consumed by other modules).


Policy

Deterministic policy evaluation engine and gateway service compiling stella-dsl policy packs into verdicts by joining SBOM inventory, advisories, and VEX evidence. The Engine provides extensive coverage across advisory AI knobs, attestation reports, batch evaluation, budgets, conflicts, CVSS receipts, determinization, effective policy, merge previews, risk profiles/simulations, sealed mode, verification policy, and violation tracking. The Gateway handles admission decisions, deltas, exception approvals, gates, governance, and registry webhooks.

Dependencies: Concelier, Excititor, SBOM Service, Scanner, Authority, Scheduler.


Provenance (absorbed into Attestor)

Provenance attestation library and CLI tool for generating and verifying supply-chain provenance records. Creates in-toto attestation statements linking build artifacts to source materials, build systems, and parameters. The separate provenance cache family retains its Core and Valkey libraries; its unadopted PostgreSQL provider was withdrawn by EST-9. See Provcache status. Attestation is consolidated into Attestor.

Dependencies: Attestor.


ReachGraph

Unified reachability subgraph store providing fast, deterministic, audit-ready answers about why a dependency is reachable. Consolidates reachability data from Scanner (call graphs), Signals (runtime observations), and Attestor (PoE JSON) into content-addressed artifacts with edge-level explainability.

Dependencies: Scanner, Signals, Attestor.


Registry

registry-web is the Stella Ops OCI registry. registry-token validates Authority-issued caller tokens, authorizes requested registry scopes against the plan catalogue (anonymous pull-only plan off by default), and mints Docker-registry-compatible JWTs that registry-web accepts. Only the optional demo overlay devops/release/bundle/docker-compose.demo-registry.yml runs a third-party registry.

Dependencies: Authority.


ReleaseOrchestrator

Central release control plane for non-Kubernetes container estates: promotion across environments, security and policy gates, deployment dispatch to agents, and verifiable evidence. It does not serve /api/v1/workflows and does not call the Workflow engine.

Dependencies: Platform, Policy Engine, Scanner, Authority. Service, image, database and compose wiring: service inventory.


Remediation — RETIRED

Developer-facing signed-PR remediation marketplace enabling discovery, application, and verification of community-contributed fix templates for known CVEs. Templates include unified diff content, version range applicability, and trust scores. Tracks PR submission lifecycle with attestation evidence.

Dependencies: Scanner, Signer / Attestor, Authority.


Replay

Deterministic replay engine ensuring vulnerability assessments can be reproduced given the same inputs. Manages replay tokens bound to input digests, manifests and verification. Stores content-addressed references, not the data itself.

Dependencies: Policy Engine and ReleaseOrchestrator (outbound); Scanner consumes Replay.Contracts.


RiskEngine — deployables retired, capability kept

Deterministic, explainable risk scoring by aggregating signals from EPSS, CVSS, KEV, VEX, and fix-exposure data, with audit trails and explainability payloads. It does not make PASS/FAIL decisions; it provides scores to the Policy Engine. The scoring providers and the exploit-maturity taxonomy live in StellaOps.RiskEngine.Core, kept as a library with no production caller: only StellaOps.RiskEngine.Infrastructure and the RiskEngine test project reference it. A read API for scores will be designed on /api/findings/v1/* when a real consumer exists.

Dependencies: Concelier, Excititor, Signals, Policy Engine.


Router

HTTP ingress gateway and internal transport: microservices announce their endpoints over the messaging transport (Valkey in the bundle); TCP and UDP transports are development-only. The gateway serves the built Console from /app/wwwroot.

Dependencies: Authority, Valkey, every microservice that registers routes.


RuntimeInstrumentation

Tetragon-based runtime instrumentation library for eBPF-based process and syscall monitoring. Provides integration with Cilium Tetragon enabling observation of actual process execution, file access, and network activity at the kernel level for runtime evidence collection.

Dependencies: Tetragon (eBPF runtime), Zastava / Signals (evidence consumers).


SbomService

Canonical SBOM projection, lookup, and timeline API serving deterministic, tenant-scoped SBOM data. Does not perform scanning; consumes Scanner outputs or supplied SPDX/CycloneDX blobs. SBOMs are append-only with mutations via new versions only. Owns the SBOM lineage ledger for versioned uploads, diffs, and retention pruning.

Dependencies: Scanner, Graph, AdvisoryAI, Policy Engine.


Scanner

Deterministic SBOM generation and vulnerability scanning engine for container images and filesystems with three-way diffs, per-layer caching, and attestation hand-off. Emits Inventory and Usage views. Does not produce PASS/FAIL verdicts. Second-highest migration count covering scans, findings, call graphs, EPSS, smart diffs, unknowns, reachability, binary evidence, secret detection, runtime observations, and score history.

Dependencies: Signer, Attestor, Authority, object storage / RustFS, SBOM Service, Concelier / Excititor.


Scheduler (absorbed into JobEngine)

Re-evaluation scheduler keeping scan results current by pinpointing affected images when new advisories or VEX claims arrive. Default mode is analysis-only (no image pull). Includes event webhooks, failure signature tracking, graph jobs, policy runs/simulations, and vulnerability resolver jobs. Consolidated into JobEngine; DbContext remains separate.

Dependencies: Scanner.WebService, Policy Engine, Concelier / Excititor, Notify, JobEngine.


Sdk (archived – absorbed into Tools)

Client SDK generator and release SDK for producing typed API clients across multiple languages from OpenAPI specifications. Absorbed into src/Tools/.

Dependencies: Gateway / OpenAPI specs.


Signals

Unified evidence-weighted scoring system aggregating reachability, runtime observations, backport detection, exploit intelligence, source trust, and mitigations into a single 0-100 score. Maintains determinism, provides score decomposition with explanations, and supports SCM webhook integration for change-triggered re-scoring.

Dependencies: Scanner, Concelier / Excititor, RuntimeInstrumentation, Policy Engine.


Signer

The only service permitted to produce Stella Ops-verified DSSE signatures over SBOMs and reports. Does not push to Rekor. Regional crypto profiles are selected by compose overlays that mount crypto packs into the one image.

Dependencies: Authority, Cryptography library, KMS/HSM.


SmRemote

Stateless service for Chinese SM2/SM3/SM4 operations, so deployments that require SM compliance can offload them. The HTTP transport contract lives in src/__Libraries/StellaOps.Cryptography.Sm.Contracts/.

Dependencies: StellaOps.Cryptography.Sm.Contracts and the SM provider plug-ins.


Symbols

The hub owns global symbol source/catalog management, admitted manifests, CAS metadata and resolution. See binary analysis and symbol ownership and the Vulnerabilities API. The old Symbols.Server source and its wire documentation are frozen.

TaskRunner (absorbed into JobEngine)

Deterministic task pack execution engine with approvals, sealed-mode enforcement, evidence capture, and DSSE attestation for every completed run. Three-phase execution: Plan (build execution graph), optional Simulation (dry-run with gates), and Execution (verify plan hash, execute steps, stream logs). Operates offline/air-gapped. Consolidated into JobEngine.

Dependencies: JobEngine, Authority, Attestor, object storage.


Telemetry

OpenTelemetry-based metrics, traces and logs with Roslyn analyzers for metric-label cardinality and credential-logging hygiene, log redaction, sealed-mode egress guardrails, and opt-in federated telemetry (DSSE-signed consent, k-anonymity and differential-privacy aggregation).

Dependencies: an OTLP collector when exporting.


Tester (QA-only service – opt-in overlay)

Dedicated QA harness service owning the fixture-injection endpoints that would otherwise leak into production modules. It must never reach a production stack: it lives in a standalone overlay (devops/compose/docker-compose.tester.yml, labelled com.stellaops.production-safe: "false") that is deliberately excluded from docker-compose.stella-ops.yml and every include: list; it only starts when an operator explicitly passes the overlay. Networks are declared external, so it refuses to come up without the base stack. It also authenticates nobody — every route is AllowAnonymous, bearer tokens are relayed unvalidated to the downstream service, tenant comes from a caller-supplied header, and proxy-login is an unauthenticated credential relay with source-IP injection. That is the harness contract, and it is why exposure is disqualifying.

Two caveats the dossier records and does not fix: only the findings scope of replay-and-compare is backed by a run-scoped upstream read (other scopes return indeterminate); and the isolation goal is not yet complete — Platform/Notify/Scanner still ship their embedded fixture endpoints, with Platform’s flag default-ON in the main compose.

Dependencies: Platform, Notify, Scanner, Findings, Evidence, ReleaseOrchestrator, Timeline, Authority (the modules it drives over public REST). Its Concelier advisory-import fixture targets a retired host and has no upstream.


Timeline

Timeline query service providing export, replay, and timeline browsing endpoints for vulnerability history and event streams. Uses shared libraries from StellaOps.Eventing for event envelope schemas and StellaOps.Timeline.Core for core logic including critical path view.

Dependencies: All services (event sources). TimelineIndexer is now consolidated into the Timeline module (src/Timeline/).


Tools

Developer and CI utilities: benchmarks, GoldenPairs, LanguageAnalyzerSmoke, NotifySmokeCheck, PolicyDslValidator, PolicySchemaExporter, PolicySimulationSmoke, RustFsMigrator, the OpenAPI doc and SDK generators, the verifier, TlptScoper, the developer portal site, and a Python CERT-Bund offline snapshot tool. Distinct from the operator CLI.

Dependencies: Various (tool-specific).


Unknowns

Structured registry for tracking unresolved components, symbols, and incomplete mappings that Scanner and other analyzers cannot definitively identify. Includes a Grey Queue for lifecycle management (queueing, triage, resolution). Does not guess identities; records what cannot be determined.

Dependencies: Scanner, Signals.


Verifier (archived – absorbed into Tools)

Standalone CLI tool for verifying the integrity and authenticity of signed evidence bundles produced by the platform. Absorbed into src/Tools/.

Dependencies: None (standalone verification).


VexHub — RETIRED

Superseded by the vulnerability hub, which models VEX as facts rather than statements/ observations and serves GET /api/vulnerabilities/v1/vex/{vulnerabilityId}/{productKey}. This is a narrower successor: no observation model, no per-statement signature records, no Rekor linkage.


VexLens — RETIRED

SPRINT_20260722_022 EVL-1 decided a fold, and only half of it happened: consensus is covered by the hub’s consensus schema, but noise gating has no successor anywhere in the estate — G1 retired the surface instead of migrating it. The source is recoverable from git history.


Vulnerabilities (the live vulnerability plane)

The consolidation of Concelier (incl. Feedser + Excititor) + VexHub into one tenant-free vulnerability knowledge hub. Tenant-scoped decisions do NOT live here — they live in the control plane. Policy stores one tenant-free gate row per issue scope (policy.vuln_gate_global; a release scope that repeats the issue’s unscoped outcome is folded into that row) and tenant override rows (policy.vuln_gate_current); readers compose them through policy.vuln_gate_effective. Tenant VEX decisions live in the Findings ledger.

Currency: LIVE since the SPRINT_20260722_008 G1 cutover (2026-08-04). The old plane’s services are stopped, its vuln/vex/vexhub/concelier schemas are dropped, and its 70 gateway routes are gone. The VexHub and VexLens entries below are retirement stubs; the Concelier and Excititor entries describe a retired service whose source tree survives only because production projects still compile against parts of it.

Dependencies: Authority (auth + issuer directory), Router/Gateway. Consumers reach it via the API, events, or the corpus artifact — the only source-referenceable projects are the closed Contracts and Consensus SDKs.


VulnExplorer

Vulnerability exploration API providing rich querying, filtering, and analysis of vulnerability findings across the platform. Aggregates data from Scanner, Concelier, Excititor, Policy, and Signals to present a unified vulnerability view with concept-based navigation and evidence links.

Dependencies: Scanner, Concelier, Excititor, Policy Engine, Signals, Findings Ledger.


Web

Angular operator console: release management, policy, evidence, SBOM exploration, vulnerability triage, notifications and administration.

Dependencies: the gateway and the backend APIs behind it.


Workflow (source retained – service dormant)

General-purpose workflow engine: definition deployment, instance lifecycle, signal-driven task transitions, dead-letter handling and retention. The source is retained but the service is dormant by owner ruling. No host serves /api/v1/workflows, and ReleaseOrchestrator does not call this engine. Its workflow:view / workflow:operate / workflow:admin policies are local strings, not canonical Authority scopes; reactivation needs an explicit product decision (scopes, grants, callers, compose wiring, gateway route).

Dependencies: none live today.


Zastava — RETIRED

Runtime posture concepts are being re-scoped into RuntimeInstrumentation host agents for non-Kubernetes container estates. The former Zastava Kubernetes admission-webhook direction is retired and must not be used for new Stella Ops deployment work.

Dependencies: Scanner.WebService, Policy Engine, Signals, Attestor, Authority.


Documentation Standards

Each module folder should contain:

FilePurpose
README.mdQuick overview, purpose, components
architecture.mdDetailed architecture specification
AGENTS.md(Optional) Claude Code agent guidance
operations/(Optional) Operational runbooks

Use the _template/ scaffold (README.md, architecture.md, AGENTS.md) as the starting point for new module docs.