StellaOps Platform
Verified against commit
942a18727c(2026-09-26, DOC-2 of SPRINT_20260926_001). Re-verify by reading the evidence paths listed in the Evidence section ofarchitecture.md.
Service wiring (image, database and role, compose profile, bundle presence) is generated in the service inventory; this dossier does not restate it.
Audience: platform engineers, service owners and operators who need the Console backend and the cross-cutting contracts every Stella Ops service follows.
The Platform module has two jobs. As documentation, it holds the cross-cutting rules (architecture-overview.md). As runtime, it ships the Console backend StellaOps.Platform.WebService (bundle service platform), which applies only Platform-owned startup migrations; every other deployable converges and reports its own database.
Runtime
StellaOps.Platform.WebService(src/Platform/StellaOps.Platform.WebService) — a router microservice (serviceName: "platform") reached through the gateway over the Valkey messaging transport, authenticating Authority-issued bearer tokens. It serves the anonymous frontend configuration (GET /platform/envsettings.json) and its database-override admin API, installation settings and region-scoped verification material, theshared.tenantsdirectory, the environment-state custodian, aggregation and v2 read-model projections, federated and NIS2 telemetry, crypto provider and KEK administration, the connector credential store, GDPR subject access, backup schedules, and the Doctor capability registry with the aggregate view the Console reads.StellaOps.Platform.Analytics— withdrawn 2026-10-01 (SPRINT_20260930_006 PCD-227). The library held only an in-memory finding-disposition cache. The WebService referenced it but used neither of its types, and nothing else used it except its own tests and two Platform law tests. Its sources are frozen undersrc/__Obsoleted/Platform/StellaOps.Platform.Analytics/. Finding dispositions are Findings data: the security read-model’s cache isStellaOps.Findings.Security.Persistence(findings-web), and analytics ingestion and vulnerability correlation moved to the Findings module (SPRINT_20260703_001 PAC-5).- Libraries:
StellaOps.Platform.Persistence(Platform-owned embedded migrations only; the former central migration registry and its CLI recovery path are deleted) andStellaOps.Platform.ActorIdentity.Client.
Storage: database stellaops_platform, connection STELLAOPS_POSTGRES_PLATFORM_CONNECTION (bound to Platform:Storage:PostgresConnectionString); startup fails outside Testing when it is missing.
Documents in this dossier
architecture.md— runtime detail: composition, storage, scopes and policies, endpoint families, Doctor registry, verification material, tenant directory, evidence table.architecture-overview.md— cross-cutting rules and the estate at a glance.platform-service.md— Platform Service API definition;api-reference.mdandopenapi/— route reference and machine-readable specs.cryptography-and-compliance.md,regional-crypto-route-matrix.md,region-aware-plugin-signing-release.md— crypto defaults and regional routing.tenant-endpoint-classification.md,retention-classification.md,reference-architecture-card.md.- Design and analysis notes (not runtime contracts):
proof-driven-moats-architecture.md,moat-gap-analysis.md,explainable-triage-implementation-plan.md.
Work tracking
Sprint files under ../../implplan/ are the only task ledger. TASKS.md and implementation_plan.md in this directory are retained pointers, not ledgers.
