Plugin assemblies loaded via PluginHost into isolated AssemblyLoadContexts produce distinct types even from the same DLL. When AppDomain.GetAssemblies() returns both Default and plugin-ALC copies, DI registration and IOptions<T> resolution silently fail (e.g. ValkeyTransportOptions defaulting to localhost). Applied AssemblyLoadContext.Default filter to all 7 assembly discovery sites: - MessagingServiceCollectionExtensions (transport plugin scan) - StellaRouterIntegrationHelper (transport plugin loader) - Gateway.WebService Program.cs (startup transport scan) - GeneratedEndpointDiscoveryProvider (endpoint provider scan) - ReflectionEndpointDiscoveryProvider (endpoint attribute scan) - ServiceCollectionExtensions (schema provider scan) - MigrationModulePluginDiscovery (migration plugin scan) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cartographer Module
Status: Implemented
Source: src/Cartographer/
Purpose
The Cartographer service materializes immutable SBOM property graphs, precomputes layout tiles, and hydrates policy and VEX overlays so other services (API, UI, CLI) can navigate and reason about dependency relationships with context.
Boundary note: Cartographer is not the source of truth for environment topology or promotion lanes; those are owned by Release Orchestrator ENVMGR/PROMOT.
Components
Services:
- StellaOps.Cartographer - Core graph materialization, overlay management, and tile serving
Key Features
- Graph Materialization - Convert normalized SBOMs (CycloneDX/SPDX) into immutable, versioned graph snapshots
- Property Graph Generation - Build dependency relationship graphs with context-aware nodes and edges
- Overlay Hydration - Merge Policy Engine findings and VEX metadata onto graph nodes and edges
- Layout Tiles - Precomputed viewport tiles for efficient UI navigation
- Path Relevance - Compute path importance within the dependency graph
- Graph Diffing - Compare SBOM versions to track changes
- Tenant-Aware Storage - Per-tenant graph isolation and versioning
API Capabilities
- Viewport tile serving for large graphs (≥50k nodes)
- Path exploration and filtering
- Graph export and simulation overlays
- RBAC-enforced access control via Authority
Dependencies
- PostgreSQL - Graph and overlay storage
- Policy Engine - Effective findings computation
- SBom Service - Normalized SBOM projections
- Excititor - VEX metadata ingestion
- Authority - Authentication and RBAC enforcement (scopes:
graph:*,sbom:read,findings:read) - Scheduler - Overlay update coordination
Related Documentation
- Architecture Charter: See
src/Cartographer/StellaOps.Cartographer/AGENTS.mdfor charter and responsibilities - Sprint Plan: Check
docs/implplan/SPRINT_*.mdfor current development status - Tasks: Completed tasks documented in
src/Cartographer/StellaOps.Cartographer/TASKS.completed.md
Current Status
Active development. Materializes immutable SBOM property graphs with overlay hydration, deterministic snapshots, and optimized tile serving for dependency navigation.