From 7bafcc3eef9ae15d9441641a2ba3ef7ca4e67907 Mon Sep 17 00:00:00 2001 From: master <> Date: Wed, 4 Mar 2026 14:01:12 +0200 Subject: [PATCH] fix: filter domain assembly scans to Default ALC to prevent type identity mismatches 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 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 --- .../modules/advisory-lens/architecture.md | 0 .../modules/cartographer/README.md | 0 src/Cartographer/AGENTS.md | 28 - src/Cartographer/StellaOps.Cartographer.sln | 593 ------------------ .../MigrationModulePluginDiscovery.cs | 10 +- .../StellaOps.Gateway.WebService/Program.cs | 4 +- .../MessagingServiceCollectionExtensions.cs | 8 +- .../GeneratedEndpointDiscoveryProvider.cs | 5 +- .../ReflectionEndpointDiscoveryProvider.cs | 5 +- .../ServiceCollectionExtensions.cs | 5 +- .../StellaRouterIntegrationHelper.cs | 8 +- .../StellaOps.Scanner.Cartographer}/AGENTS.md | 0 .../CartographerEntryPoint.cs | 0 .../Options/CartographerAuthorityOptions.cs | 0 ...artographerAuthorityOptionsConfigurator.cs | 0 .../CartographerAuthorityOptionsValidator.cs | 0 .../Program.cs | 0 .../Properties/AssemblyInfo.cs | 0 .../Properties/launchSettings.json | 0 .../StellaOps.Scanner.Cartographer.csproj} | 0 .../TASKS.completed.md | 0 .../StellaOps.Scanner.Cartographer}/TASKS.md | 0 .../AGENTS.md | 0 .../CartographerProgramTests.cs | 0 ...rapherAuthorityOptionsConfiguratorTests.cs | 0 ...ellaOps.Scanner.Cartographer.Tests.csproj} | 0 .../TASKS.md | 0 27 files changed, 32 insertions(+), 634 deletions(-) rename {docs => docs-archived}/modules/advisory-lens/architecture.md (100%) rename {docs => docs-archived}/modules/cartographer/README.md (100%) delete mode 100644 src/Cartographer/AGENTS.md delete mode 100644 src/Cartographer/StellaOps.Cartographer.sln rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/AGENTS.md (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/CartographerEntryPoint.cs (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/Options/CartographerAuthorityOptions.cs (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/Options/CartographerAuthorityOptionsConfigurator.cs (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/Options/CartographerAuthorityOptionsValidator.cs (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/Program.cs (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/Properties/AssemblyInfo.cs (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/Properties/launchSettings.json (100%) rename src/{Cartographer/StellaOps.Cartographer/StellaOps.Cartographer.csproj => Scanner/StellaOps.Scanner.Cartographer/StellaOps.Scanner.Cartographer.csproj} (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/TASKS.completed.md (100%) rename src/{Cartographer/StellaOps.Cartographer => Scanner/StellaOps.Scanner.Cartographer}/TASKS.md (100%) rename src/{Cartographer/__Tests/StellaOps.Cartographer.Tests => Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests}/AGENTS.md (100%) rename src/{Cartographer/__Tests/StellaOps.Cartographer.Tests => Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests}/CartographerProgramTests.cs (100%) rename src/{Cartographer/__Tests/StellaOps.Cartographer.Tests => Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests}/Options/CartographerAuthorityOptionsConfiguratorTests.cs (100%) rename src/{Cartographer/__Tests/StellaOps.Cartographer.Tests/StellaOps.Cartographer.Tests.csproj => Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/StellaOps.Scanner.Cartographer.Tests.csproj} (100%) rename src/{Cartographer/__Tests/StellaOps.Cartographer.Tests => Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests}/TASKS.md (100%) diff --git a/docs/modules/advisory-lens/architecture.md b/docs-archived/modules/advisory-lens/architecture.md similarity index 100% rename from docs/modules/advisory-lens/architecture.md rename to docs-archived/modules/advisory-lens/architecture.md diff --git a/docs/modules/cartographer/README.md b/docs-archived/modules/cartographer/README.md similarity index 100% rename from docs/modules/cartographer/README.md rename to docs-archived/modules/cartographer/README.md diff --git a/src/Cartographer/AGENTS.md b/src/Cartographer/AGENTS.md deleted file mode 100644 index 0452ad2ce..000000000 --- a/src/Cartographer/AGENTS.md +++ /dev/null @@ -1,28 +0,0 @@ -# AGENTS - Cartographer Module - -## Working Directory -- `src/Cartographer/**` (service, tests). - -## Required Reading -- `docs/README.md` -- `docs/07_HIGH_LEVEL_ARCHITECTURE.md` -- `docs/modules/platform/architecture-overview.md` -- `docs/modules/cartographer/README.md` -- `docs/modules/graph/architecture.md` - -## Engineering Rules -- Deterministic graph materialization and overlay hydration. -- Enforce tenant isolation and stable ordering in exports. -- Offline-first; use fixtures for tests and benchmarks. - -## Testing & Verification -- Tests live in `src/Cartographer/__Tests/**`. -- Cover ingest, overlay hydration, tile generation, and export determinism. - -## Sprint Discipline -- Record decisions and risks for contract changes in the sprint file. - -## Service Endpoints -- Development: https://localhost:10210, http://localhost:10211 -- Local alias: https://cartographer.stella-ops.local, http://cartographer.stella-ops.local -- Env var: STELLAOPS_CARTOGRAPHER_URL diff --git a/src/Cartographer/StellaOps.Cartographer.sln b/src/Cartographer/StellaOps.Cartographer.sln deleted file mode 100644 index ecedbde4a..000000000 --- a/src/Cartographer/StellaOps.Cartographer.sln +++ /dev/null @@ -1,593 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cartographer", "StellaOps.Cartographer", "{260590C1-7FC4-2A7C-10F1-4CC1B3121523}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__External", "__External", "{5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AirGap", "AirGap", "{F310596E-88BB-9E54-885E-21C61971917E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.AirGap.Policy", "StellaOps.AirGap.Policy", "{D9492ED1-A812-924B-65E4-F518592B49BB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.AirGap.Policy", "StellaOps.AirGap.Policy", "{3823DE1E-2ACE-C956-99E1-00DB786D9E1D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Attestor", "Attestor", "{5AC09D9A-F2A5-9CFA-B3C5-8D25F257651C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Attestor", "StellaOps.Attestor", "{33B1AE27-692A-1778-48C1-CCEC2B9BC78F}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Attestor.Envelope", "StellaOps.Attestor.Envelope", "{018E0E11-1CCE-A2BE-641D-21EE14D2E90D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Attestor.Core", "StellaOps.Attestor.Core", "{5F27FB4E-CF09-3A6B-F5B4-BF5A709FA609}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Libraries", "__Libraries", "{AB67BDB9-D701-3AC9-9CDF-ECCDCCD8DB6D}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Attestor.GraphRoot", "StellaOps.Attestor.GraphRoot", "{3F605548-87E2-8A1D-306D-0CE6960B8242}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Attestor.ProofChain", "StellaOps.Attestor.ProofChain", "{45F7FA87-7451-6970-7F6E-F8BAE45E081B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Authority", "Authority", "{C1DCEFBD-12A5-EAAE-632E-8EEB9BE491B6}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Authority", "StellaOps.Authority", "{A6928CBA-4D4D-AB2B-CA19-FEE6E73ECE70}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Auth.Abstractions", "StellaOps.Auth.Abstractions", "{F2E6CB0E-DF77-1FAA-582B-62B040DF3848}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Auth.Client", "StellaOps.Auth.Client", "{C494ECBE-DEA5-3576-D2AF-200FF12BC144}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Auth.ServerIntegration", "StellaOps.Auth.ServerIntegration", "{7E890DF9-B715-B6DF-2498-FD74DDA87D71}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Authority.Plugins.Abstractions", "StellaOps.Authority.Plugins.Abstractions", "{64689413-46D7-8499-68A6-B6367ACBC597}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Concelier", "Concelier", "{157C3671-CA0B-69FA-A7C9-74A1FDA97B99}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Libraries", "__Libraries", "{F39E09D6-BF93-B64A-CFE7-2BA92815C0FE}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Concelier.SourceIntel", "StellaOps.Concelier.SourceIntel", "{F2B58F4E-6F28-A25F-5BFB-CDEBAD6B9A3E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Feedser", "Feedser", "{C4A90603-BE42-0044-CAB4-3EB910AD51A5}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Feedser.BinaryAnalysis", "StellaOps.Feedser.BinaryAnalysis", "{054761F9-16D3-B2F8-6F4D-EFC2248805CD}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Feedser.Core", "StellaOps.Feedser.Core", "{B54CE64C-4167-1DD1-B7D6-2FD7A5AEF715}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Policy", "Policy", "{8E6B774C-CC4E-CE7C-AD4B-8AF7C92889A6}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Policy.Engine", "StellaOps.Policy.Engine", "{B76CF38D-4C77-2AD0-69CB-2FD13C2BDE4C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Policy.RiskProfile", "StellaOps.Policy.RiskProfile", "{BC12ED55-6015-7C8B-8384-B39CE93C76D6}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Policy.Scoring", "StellaOps.Policy.Scoring", "{7DE09F4B-E86D-CEA4-EC36-364CC9CCD2A6}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.PolicyDsl", "StellaOps.PolicyDsl", "{BA20548F-5ADA-BE63-1AE7-BA12CB4E82B3}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Libraries", "__Libraries", "{FF70543D-AFF9-1D38-4950-4F8EE18D60BB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Policy", "StellaOps.Policy", "{831265B0-8896-9C95-3488-E12FD9F6DC53}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Policy.Exceptions", "StellaOps.Policy.Exceptions", "{97579A99-E7BE-9189-9B9A-CA0EBB5E9C97}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Policy.Persistence", "StellaOps.Policy.Persistence", "{F3131BAC-FF6E-FBF1-1A59-74B89427DFE6}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Policy.Unknowns", "StellaOps.Policy.Unknowns", "{667DC5D3-F09E-76F7-C4BC-FA35001F3609}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Provenance", "Provenance", "{316BBD0A-04D2-85C9-52EA-7993CC6C8930}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Provenance.Attestation", "StellaOps.Provenance.Attestation", "{9D6AB85A-85EA-D85A-5566-A121D34016E6}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Router", "Router", "{FC018E5B-1E2F-DE19-1E97-0C845058C469}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Libraries", "__Libraries", "{1BE5B76C-B486-560B-6CB2-44C6537249AA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Messaging", "StellaOps.Messaging", "{F4F1CBE2-1CDD-CAA4-41F0-266DB4677C05}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scanner", "Scanner", "{5896C4B3-31D1-1EDD-11D0-C46DB178DC12}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Libraries", "__Libraries", "{D4D193A8-47D7-0B1A-1327-F9C580E7AD07}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Scanner.ProofSpine", "StellaOps.Scanner.ProofSpine", "{9F30DC58-7747-31D8-2403-D7D0F5454C87}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Signals", "Signals", "{AD65DDE7-9FEA-7380-8C10-FA165F745354}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Signals", "StellaOps.Signals", "{076B8074-5735-5367-1EEA-CA16A5B8ABD7}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Signer", "Signer", "{3247EE0D-B3E9-9C11-B0AE-FE719410390B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Signer", "StellaOps.Signer", "{CD7C09DA-FEC8-2CC5-D00C-E525638DFF4A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Signer.Core", "StellaOps.Signer.Core", "{79B10804-91E9-972E-1913-EE0F0B11663E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Telemetry", "Telemetry", "{E9A667F9-9627-4297-EF5E-0333593FDA14}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Telemetry.Core", "StellaOps.Telemetry.Core", "{B81E0B20-6C85-AC09-1DB6-5BD6CBB8AA62}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Telemetry.Core", "StellaOps.Telemetry.Core", "{74C64C1F-14F4-7B75-C354-9F252494A758}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Libraries", "__Libraries", "{1345DD29-BB3A-FB5F-4B3D-E29F6045A27A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Canonical.Json", "StellaOps.Canonical.Json", "{79E122F4-2325-3E92-438E-5825A307B594}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Configuration", "StellaOps.Configuration", "{538E2D98-5325-3F54-BE74-EFE5FC1ECBD8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography", "StellaOps.Cryptography", "{66557252-B5C4-664B-D807-07018C627474}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.DependencyInjection", "StellaOps.Cryptography.DependencyInjection", "{7203223D-FF02-7BEB-2798-D1639ACC01C4}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Kms", "StellaOps.Cryptography.Kms", "{5AC9EE40-1881-5F8A-46A2-2C303950D3C8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.CryptoPro", "StellaOps.Cryptography.Plugin.CryptoPro", "{3C69853C-90E3-D889-1960-3B9229882590}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.OpenSslGost", "StellaOps.Cryptography.Plugin.OpenSslGost", "{643E4D4C-BC96-A37F-E0EC-488127F0B127}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.Pkcs11Gost", "StellaOps.Cryptography.Plugin.Pkcs11Gost", "{6F2CA7F5-3E7C-C61B-94E6-E7DD1227B5B1}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.PqSoft", "StellaOps.Cryptography.Plugin.PqSoft", "{F04B7DBB-77A5-C978-B2DE-8C189A32AA72}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.SimRemote", "StellaOps.Cryptography.Plugin.SimRemote", "{7C72F22A-20FF-DF5B-9191-6DFD0D497DB2}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.SmRemote", "StellaOps.Cryptography.Plugin.SmRemote", "{C896CC0A-F5E6-9AA4-C582-E691441F8D32}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.SmSoft", "StellaOps.Cryptography.Plugin.SmSoft", "{0AA3A418-AB45-CCA4-46D4-EEBFE011FECA}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.Plugin.WineCsp", "StellaOps.Cryptography.Plugin.WineCsp", "{225D9926-4AE8-E539-70AD-8698E688F271}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cryptography.PluginLoader", "StellaOps.Cryptography.PluginLoader", "{D6E8E69C-F721-BBCB-8C39-9716D53D72AD}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.DependencyInjection", "StellaOps.DependencyInjection", "{589A43FD-8213-E9E3-6CFF-9CBA72D53E98}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Evidence.Bundle", "StellaOps.Evidence.Bundle", "{2BACF7E3-1278-FE99-8343-8221E6FBA9DE}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Evidence.Core", "StellaOps.Evidence.Core", "{75E47125-E4D7-8482-F1A4-726564970864}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Infrastructure.EfCore", "StellaOps.Infrastructure.EfCore", "{FCD529E0-DD17-6587-B29C-12D425C0AD0C}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Infrastructure.Postgres", "StellaOps.Infrastructure.Postgres", "{61B23570-4F2D-B060-BE1F-37995682E494}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Plugin", "StellaOps.Plugin", "{772B02B5-6280-E1D4-3E2E-248D0455C2FB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Provcache", "StellaOps.Provcache", "{48F90289-938C-CCA7-B60F-D2143E7C9A69}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Replay.Core", "StellaOps.Replay.Core", "{083067CF-CE89-EF39-9BD3-4741919E26F3}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Tests", "__Tests", "{BB76B5A5-14BA-E317-828D-110B711D71F5}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.Cartographer.Tests", "StellaOps.Cartographer.Tests", "{61DB9360-5415-FFDD-0F42-3D5CF077B35A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.AirGap.Policy", "..\\AirGap\StellaOps.AirGap.Policy\StellaOps.AirGap.Policy\StellaOps.AirGap.Policy.csproj", "{AD31623A-BC43-52C2-D906-AC1D8784A541}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Attestor.Core", "..\\Attestor\StellaOps.Attestor\StellaOps.Attestor.Core\StellaOps.Attestor.Core.csproj", "{5B4DF41E-C8CC-2606-FA2D-967118BD3C59}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Attestor.Envelope", "..\\Attestor\StellaOps.Attestor.Envelope\StellaOps.Attestor.Envelope.csproj", "{3D8C5A6C-462D-7487-5BD0-A3EF6B657EB6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Attestor.GraphRoot", "..\\Attestor\__Libraries\StellaOps.Attestor.GraphRoot\StellaOps.Attestor.GraphRoot.csproj", "{2609BC1A-6765-29BE-78CC-C0F1D2814F10}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Attestor.ProofChain", "..\\Attestor\__Libraries\StellaOps.Attestor.ProofChain\StellaOps.Attestor.ProofChain.csproj", "{C6822231-A4F4-9E69-6CE2-4FDB3E81C728}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Auth.Abstractions", "..\\Authority\StellaOps.Authority\StellaOps.Auth.Abstractions\StellaOps.Auth.Abstractions.csproj", "{55D9B653-FB76-FCE8-1A3C-67B1BEDEC214}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Auth.Client", "..\\Authority\StellaOps.Authority\StellaOps.Auth.Client\StellaOps.Auth.Client.csproj", "{DE5BF139-1E5C-D6EA-4FAA-661EF353A194}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Auth.ServerIntegration", "..\\Authority\StellaOps.Authority\StellaOps.Auth.ServerIntegration\StellaOps.Auth.ServerIntegration.csproj", "{ECA25786-A3A8-92C4-4AA3-D4A73C69FDCA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Authority.Plugins.Abstractions", "..\\Authority\StellaOps.Authority\StellaOps.Authority.Plugins.Abstractions\StellaOps.Authority.Plugins.Abstractions.csproj", "{97F94029-5419-6187-5A63-5C8FD9232FAE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Canonical.Json", "..\\__Libraries\StellaOps.Canonical.Json\StellaOps.Canonical.Json.csproj", "{AF9E7F02-25AD-3540-18D7-F6A4F8BA5A60}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cartographer", "StellaOps.Cartographer\StellaOps.Cartographer.csproj", "{BDA26234-BC17-8531-D0D4-163D3EB8CAD5}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cartographer.Tests", "__Tests\StellaOps.Cartographer.Tests\StellaOps.Cartographer.Tests.csproj", "{096BC080-DB77-83B4-E2A3-22848FE04292}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Concelier.SourceIntel", "..\\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\StellaOps.Concelier.SourceIntel.csproj", "{EB093C48-CDAC-106B-1196-AE34809B34C0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Configuration", "..\\__Libraries\StellaOps.Configuration\StellaOps.Configuration.csproj", "{92C62F7B-8028-6EE1-B71B-F45F459B8E97}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography", "..\\__Libraries\StellaOps.Cryptography\StellaOps.Cryptography.csproj", "{F664A948-E352-5808-E780-77A03F19E93E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.DependencyInjection", "..\\__Libraries\StellaOps.Cryptography.DependencyInjection\StellaOps.Cryptography.DependencyInjection.csproj", "{FA83F778-5252-0B80-5555-E69F790322EA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Kms", "..\\__Libraries\StellaOps.Cryptography.Kms\StellaOps.Cryptography.Kms.csproj", "{F3A27846-6DE0-3448-222C-25A273E86B2E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.CryptoPro", "..\\__Libraries\StellaOps.Cryptography.Plugin.CryptoPro\StellaOps.Cryptography.Plugin.CryptoPro.csproj", "{C53E0895-879A-D9E6-0A43-24AD17A2F270}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.OpenSslGost", "..\\__Libraries\StellaOps.Cryptography.Plugin.OpenSslGost\StellaOps.Cryptography.Plugin.OpenSslGost.csproj", "{0AED303F-69E6-238F-EF80-81985080EDB7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.Pkcs11Gost", "..\\__Libraries\StellaOps.Cryptography.Plugin.Pkcs11Gost\StellaOps.Cryptography.Plugin.Pkcs11Gost.csproj", "{2904D288-CE64-A565-2C46-C2E85A96A1EE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.PqSoft", "..\\__Libraries\StellaOps.Cryptography.Plugin.PqSoft\StellaOps.Cryptography.Plugin.PqSoft.csproj", "{A6667CC3-B77F-023E-3A67-05F99E9FF46A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.SimRemote", "..\\__Libraries\StellaOps.Cryptography.Plugin.SimRemote\StellaOps.Cryptography.Plugin.SimRemote.csproj", "{A26E2816-F787-F76B-1D6C-E086DD3E19CE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.SmRemote", "..\\__Libraries\StellaOps.Cryptography.Plugin.SmRemote\StellaOps.Cryptography.Plugin.SmRemote.csproj", "{B3DEC619-67AC-1B5A-4F3E-A1F24C3F6877}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.SmSoft", "..\\__Libraries\StellaOps.Cryptography.Plugin.SmSoft\StellaOps.Cryptography.Plugin.SmSoft.csproj", "{90DB65B4-8F6E-FB8E-0281-505AD8BC6BA6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.Plugin.WineCsp", "..\\__Libraries\StellaOps.Cryptography.Plugin.WineCsp\StellaOps.Cryptography.Plugin.WineCsp.csproj", "{059FBB86-DEE6-8207-3F23-2A1A3EC00DEA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Cryptography.PluginLoader", "..\\__Libraries\StellaOps.Cryptography.PluginLoader\StellaOps.Cryptography.PluginLoader.csproj", "{8BBA3159-C4CC-F685-A28C-7FE6CBD3D2A1}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.DependencyInjection", "..\\__Libraries\StellaOps.DependencyInjection\StellaOps.DependencyInjection.csproj", "{632A1F0D-1BA5-C84B-B716-2BE638A92780}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Evidence.Bundle", "..\\__Libraries\StellaOps.Evidence.Bundle\StellaOps.Evidence.Bundle.csproj", "{9DE7852B-7E2D-257E-B0F1-45D2687854ED}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Evidence.Core", "..\\__Libraries\StellaOps.Evidence.Core\StellaOps.Evidence.Core.csproj", "{DC2AFC89-C3C8-4E9B-13A7-027EB6386EFA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Feedser.BinaryAnalysis", "..\\Feedser\StellaOps.Feedser.BinaryAnalysis\StellaOps.Feedser.BinaryAnalysis.csproj", "{CB296A20-2732-77C1-7F23-27D5BAEDD0C7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Feedser.Core", "..\\Feedser\StellaOps.Feedser.Core\StellaOps.Feedser.Core.csproj", "{0DBEC9BA-FE1D-3898-B2C6-E4357DC23E0F}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Infrastructure.EfCore", "..\\__Libraries\StellaOps.Infrastructure.EfCore\StellaOps.Infrastructure.EfCore.csproj", "{A63897D9-9531-989B-7309-E384BCFC2BB9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Infrastructure.Postgres", "..\\__Libraries\StellaOps.Infrastructure.Postgres\StellaOps.Infrastructure.Postgres.csproj", "{8C594D82-3463-3367-4F06-900AC707753D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Messaging", "..\\Router\__Libraries\StellaOps.Messaging\StellaOps.Messaging.csproj", "{97998C88-E6E1-D5E2-B632-537B58E00CBF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Plugin", "..\\__Libraries\StellaOps.Plugin\StellaOps.Plugin.csproj", "{38A9EE9B-6FC8-93BC-0D43-2A906E678D66}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Policy", "..\\Policy\__Libraries\StellaOps.Policy\StellaOps.Policy.csproj", "{19868E2D-7163-2108-1094-F13887C4F070}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Policy.Engine", "..\\Policy\StellaOps.Policy.Engine\StellaOps.Policy.Engine.csproj", "{5EE3F943-51AD-4EA2-025B-17382AF1C7C3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Policy.Exceptions", "..\\Policy\__Libraries\StellaOps.Policy.Exceptions\StellaOps.Policy.Exceptions.csproj", "{7D3FC972-467A-4917-8339-9B6462C6A38A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Policy.Persistence", "..\\Policy\__Libraries\StellaOps.Policy.Persistence\StellaOps.Policy.Persistence.csproj", "{C154051B-DB4E-5270-AF5A-12A0FFE0E769}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Policy.RiskProfile", "..\\Policy\StellaOps.Policy.RiskProfile\StellaOps.Policy.RiskProfile.csproj", "{CC319FC5-F4B1-C3DD-7310-4DAD343E0125}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Policy.Scoring", "..\\Policy\StellaOps.Policy.Scoring\StellaOps.Policy.Scoring.csproj", "{CD6B144E-BCDD-D4FE-2749-703DAB054EBC}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Policy.Unknowns", "..\\Policy\__Libraries\StellaOps.Policy.Unknowns\StellaOps.Policy.Unknowns.csproj", "{A96C11AB-BD51-91E4-0CA7-5125FA4AC7A8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PolicyDsl", "..\\Policy\StellaOps.PolicyDsl\StellaOps.PolicyDsl.csproj", "{B46D185B-A630-8F76-E61B-90084FBF65B0}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Provcache", "..\\__Libraries\StellaOps.Provcache\StellaOps.Provcache.csproj", "{84F711C2-C210-28D2-F0D9-B13733FEE23D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Provenance.Attestation", "..\\Provenance\StellaOps.Provenance.Attestation\StellaOps.Provenance.Attestation.csproj", "{A78EBC0F-C62C-8F56-95C0-330E376242A2}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Replay.Core", "..\\__Libraries\StellaOps.Replay.Core\StellaOps.Replay.Core.csproj", "{6D26FB21-7E48-024B-E5D4-E3F0F31976BB}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Scanner.ProofSpine", "..\\Scanner\__Libraries\StellaOps.Scanner.ProofSpine\StellaOps.Scanner.ProofSpine.csproj", "{7CB7FEA8-8A12-A5D6-0057-AA65DB328617}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Signals", "..\\Signals\StellaOps.Signals\StellaOps.Signals.csproj", "{A79CBC0C-5313-4ECF-A24E-27CE236BCF2C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Signer.Core", "..\\Signer\StellaOps.Signer\StellaOps.Signer.Core\StellaOps.Signer.Core.csproj", "{0AF13355-173C-3128-5AFC-D32E540DA3EF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Telemetry.Core", "..\\Telemetry\StellaOps.Telemetry.Core\StellaOps.Telemetry.Core\StellaOps.Telemetry.Core.csproj", "{8CD19568-1638-B8F6-8447-82CFD4F17ADF}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {AD31623A-BC43-52C2-D906-AC1D8784A541}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AD31623A-BC43-52C2-D906-AC1D8784A541}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AD31623A-BC43-52C2-D906-AC1D8784A541}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AD31623A-BC43-52C2-D906-AC1D8784A541}.Release|Any CPU.Build.0 = Release|Any CPU - {5B4DF41E-C8CC-2606-FA2D-967118BD3C59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5B4DF41E-C8CC-2606-FA2D-967118BD3C59}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5B4DF41E-C8CC-2606-FA2D-967118BD3C59}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5B4DF41E-C8CC-2606-FA2D-967118BD3C59}.Release|Any CPU.Build.0 = Release|Any CPU - {3D8C5A6C-462D-7487-5BD0-A3EF6B657EB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3D8C5A6C-462D-7487-5BD0-A3EF6B657EB6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3D8C5A6C-462D-7487-5BD0-A3EF6B657EB6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3D8C5A6C-462D-7487-5BD0-A3EF6B657EB6}.Release|Any CPU.Build.0 = Release|Any CPU - {2609BC1A-6765-29BE-78CC-C0F1D2814F10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2609BC1A-6765-29BE-78CC-C0F1D2814F10}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2609BC1A-6765-29BE-78CC-C0F1D2814F10}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2609BC1A-6765-29BE-78CC-C0F1D2814F10}.Release|Any CPU.Build.0 = Release|Any CPU - {C6822231-A4F4-9E69-6CE2-4FDB3E81C728}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C6822231-A4F4-9E69-6CE2-4FDB3E81C728}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C6822231-A4F4-9E69-6CE2-4FDB3E81C728}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C6822231-A4F4-9E69-6CE2-4FDB3E81C728}.Release|Any CPU.Build.0 = Release|Any CPU - {55D9B653-FB76-FCE8-1A3C-67B1BEDEC214}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {55D9B653-FB76-FCE8-1A3C-67B1BEDEC214}.Debug|Any CPU.Build.0 = Debug|Any CPU - {55D9B653-FB76-FCE8-1A3C-67B1BEDEC214}.Release|Any CPU.ActiveCfg = Release|Any CPU - {55D9B653-FB76-FCE8-1A3C-67B1BEDEC214}.Release|Any CPU.Build.0 = Release|Any CPU - {DE5BF139-1E5C-D6EA-4FAA-661EF353A194}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DE5BF139-1E5C-D6EA-4FAA-661EF353A194}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DE5BF139-1E5C-D6EA-4FAA-661EF353A194}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DE5BF139-1E5C-D6EA-4FAA-661EF353A194}.Release|Any CPU.Build.0 = Release|Any CPU - {ECA25786-A3A8-92C4-4AA3-D4A73C69FDCA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ECA25786-A3A8-92C4-4AA3-D4A73C69FDCA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ECA25786-A3A8-92C4-4AA3-D4A73C69FDCA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ECA25786-A3A8-92C4-4AA3-D4A73C69FDCA}.Release|Any CPU.Build.0 = Release|Any CPU - {97F94029-5419-6187-5A63-5C8FD9232FAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {97F94029-5419-6187-5A63-5C8FD9232FAE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {97F94029-5419-6187-5A63-5C8FD9232FAE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {97F94029-5419-6187-5A63-5C8FD9232FAE}.Release|Any CPU.Build.0 = Release|Any CPU - {AF9E7F02-25AD-3540-18D7-F6A4F8BA5A60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AF9E7F02-25AD-3540-18D7-F6A4F8BA5A60}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AF9E7F02-25AD-3540-18D7-F6A4F8BA5A60}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AF9E7F02-25AD-3540-18D7-F6A4F8BA5A60}.Release|Any CPU.Build.0 = Release|Any CPU - {BDA26234-BC17-8531-D0D4-163D3EB8CAD5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BDA26234-BC17-8531-D0D4-163D3EB8CAD5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BDA26234-BC17-8531-D0D4-163D3EB8CAD5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BDA26234-BC17-8531-D0D4-163D3EB8CAD5}.Release|Any CPU.Build.0 = Release|Any CPU - {096BC080-DB77-83B4-E2A3-22848FE04292}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {096BC080-DB77-83B4-E2A3-22848FE04292}.Debug|Any CPU.Build.0 = Debug|Any CPU - {096BC080-DB77-83B4-E2A3-22848FE04292}.Release|Any CPU.ActiveCfg = Release|Any CPU - {096BC080-DB77-83B4-E2A3-22848FE04292}.Release|Any CPU.Build.0 = Release|Any CPU - {EB093C48-CDAC-106B-1196-AE34809B34C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EB093C48-CDAC-106B-1196-AE34809B34C0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EB093C48-CDAC-106B-1196-AE34809B34C0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EB093C48-CDAC-106B-1196-AE34809B34C0}.Release|Any CPU.Build.0 = Release|Any CPU - {92C62F7B-8028-6EE1-B71B-F45F459B8E97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {92C62F7B-8028-6EE1-B71B-F45F459B8E97}.Debug|Any CPU.Build.0 = Debug|Any CPU - {92C62F7B-8028-6EE1-B71B-F45F459B8E97}.Release|Any CPU.ActiveCfg = Release|Any CPU - {92C62F7B-8028-6EE1-B71B-F45F459B8E97}.Release|Any CPU.Build.0 = Release|Any CPU - {F664A948-E352-5808-E780-77A03F19E93E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F664A948-E352-5808-E780-77A03F19E93E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F664A948-E352-5808-E780-77A03F19E93E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F664A948-E352-5808-E780-77A03F19E93E}.Release|Any CPU.Build.0 = Release|Any CPU - {FA83F778-5252-0B80-5555-E69F790322EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FA83F778-5252-0B80-5555-E69F790322EA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FA83F778-5252-0B80-5555-E69F790322EA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FA83F778-5252-0B80-5555-E69F790322EA}.Release|Any CPU.Build.0 = Release|Any CPU - {F3A27846-6DE0-3448-222C-25A273E86B2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F3A27846-6DE0-3448-222C-25A273E86B2E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F3A27846-6DE0-3448-222C-25A273E86B2E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F3A27846-6DE0-3448-222C-25A273E86B2E}.Release|Any CPU.Build.0 = Release|Any CPU - {C53E0895-879A-D9E6-0A43-24AD17A2F270}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C53E0895-879A-D9E6-0A43-24AD17A2F270}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C53E0895-879A-D9E6-0A43-24AD17A2F270}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C53E0895-879A-D9E6-0A43-24AD17A2F270}.Release|Any CPU.Build.0 = Release|Any CPU - {0AED303F-69E6-238F-EF80-81985080EDB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0AED303F-69E6-238F-EF80-81985080EDB7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0AED303F-69E6-238F-EF80-81985080EDB7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0AED303F-69E6-238F-EF80-81985080EDB7}.Release|Any CPU.Build.0 = Release|Any CPU - {2904D288-CE64-A565-2C46-C2E85A96A1EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2904D288-CE64-A565-2C46-C2E85A96A1EE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2904D288-CE64-A565-2C46-C2E85A96A1EE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2904D288-CE64-A565-2C46-C2E85A96A1EE}.Release|Any CPU.Build.0 = Release|Any CPU - {A6667CC3-B77F-023E-3A67-05F99E9FF46A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A6667CC3-B77F-023E-3A67-05F99E9FF46A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A6667CC3-B77F-023E-3A67-05F99E9FF46A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A6667CC3-B77F-023E-3A67-05F99E9FF46A}.Release|Any CPU.Build.0 = Release|Any CPU - {A26E2816-F787-F76B-1D6C-E086DD3E19CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A26E2816-F787-F76B-1D6C-E086DD3E19CE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A26E2816-F787-F76B-1D6C-E086DD3E19CE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A26E2816-F787-F76B-1D6C-E086DD3E19CE}.Release|Any CPU.Build.0 = Release|Any CPU - {B3DEC619-67AC-1B5A-4F3E-A1F24C3F6877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B3DEC619-67AC-1B5A-4F3E-A1F24C3F6877}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B3DEC619-67AC-1B5A-4F3E-A1F24C3F6877}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B3DEC619-67AC-1B5A-4F3E-A1F24C3F6877}.Release|Any CPU.Build.0 = Release|Any CPU - {90DB65B4-8F6E-FB8E-0281-505AD8BC6BA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90DB65B4-8F6E-FB8E-0281-505AD8BC6BA6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90DB65B4-8F6E-FB8E-0281-505AD8BC6BA6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90DB65B4-8F6E-FB8E-0281-505AD8BC6BA6}.Release|Any CPU.Build.0 = Release|Any CPU - {059FBB86-DEE6-8207-3F23-2A1A3EC00DEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {059FBB86-DEE6-8207-3F23-2A1A3EC00DEA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {059FBB86-DEE6-8207-3F23-2A1A3EC00DEA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {059FBB86-DEE6-8207-3F23-2A1A3EC00DEA}.Release|Any CPU.Build.0 = Release|Any CPU - {8BBA3159-C4CC-F685-A28C-7FE6CBD3D2A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8BBA3159-C4CC-F685-A28C-7FE6CBD3D2A1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8BBA3159-C4CC-F685-A28C-7FE6CBD3D2A1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8BBA3159-C4CC-F685-A28C-7FE6CBD3D2A1}.Release|Any CPU.Build.0 = Release|Any CPU - {632A1F0D-1BA5-C84B-B716-2BE638A92780}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {632A1F0D-1BA5-C84B-B716-2BE638A92780}.Debug|Any CPU.Build.0 = Debug|Any CPU - {632A1F0D-1BA5-C84B-B716-2BE638A92780}.Release|Any CPU.ActiveCfg = Release|Any CPU - {632A1F0D-1BA5-C84B-B716-2BE638A92780}.Release|Any CPU.Build.0 = Release|Any CPU - {9DE7852B-7E2D-257E-B0F1-45D2687854ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9DE7852B-7E2D-257E-B0F1-45D2687854ED}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9DE7852B-7E2D-257E-B0F1-45D2687854ED}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9DE7852B-7E2D-257E-B0F1-45D2687854ED}.Release|Any CPU.Build.0 = Release|Any CPU - {DC2AFC89-C3C8-4E9B-13A7-027EB6386EFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DC2AFC89-C3C8-4E9B-13A7-027EB6386EFA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DC2AFC89-C3C8-4E9B-13A7-027EB6386EFA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DC2AFC89-C3C8-4E9B-13A7-027EB6386EFA}.Release|Any CPU.Build.0 = Release|Any CPU - {CB296A20-2732-77C1-7F23-27D5BAEDD0C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CB296A20-2732-77C1-7F23-27D5BAEDD0C7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CB296A20-2732-77C1-7F23-27D5BAEDD0C7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CB296A20-2732-77C1-7F23-27D5BAEDD0C7}.Release|Any CPU.Build.0 = Release|Any CPU - {0DBEC9BA-FE1D-3898-B2C6-E4357DC23E0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0DBEC9BA-FE1D-3898-B2C6-E4357DC23E0F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0DBEC9BA-FE1D-3898-B2C6-E4357DC23E0F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0DBEC9BA-FE1D-3898-B2C6-E4357DC23E0F}.Release|Any CPU.Build.0 = Release|Any CPU - {A63897D9-9531-989B-7309-E384BCFC2BB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A63897D9-9531-989B-7309-E384BCFC2BB9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A63897D9-9531-989B-7309-E384BCFC2BB9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A63897D9-9531-989B-7309-E384BCFC2BB9}.Release|Any CPU.Build.0 = Release|Any CPU - {8C594D82-3463-3367-4F06-900AC707753D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8C594D82-3463-3367-4F06-900AC707753D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8C594D82-3463-3367-4F06-900AC707753D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8C594D82-3463-3367-4F06-900AC707753D}.Release|Any CPU.Build.0 = Release|Any CPU - {97998C88-E6E1-D5E2-B632-537B58E00CBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {97998C88-E6E1-D5E2-B632-537B58E00CBF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {97998C88-E6E1-D5E2-B632-537B58E00CBF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {97998C88-E6E1-D5E2-B632-537B58E00CBF}.Release|Any CPU.Build.0 = Release|Any CPU - {38A9EE9B-6FC8-93BC-0D43-2A906E678D66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {38A9EE9B-6FC8-93BC-0D43-2A906E678D66}.Debug|Any CPU.Build.0 = Debug|Any CPU - {38A9EE9B-6FC8-93BC-0D43-2A906E678D66}.Release|Any CPU.ActiveCfg = Release|Any CPU - {38A9EE9B-6FC8-93BC-0D43-2A906E678D66}.Release|Any CPU.Build.0 = Release|Any CPU - {19868E2D-7163-2108-1094-F13887C4F070}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {19868E2D-7163-2108-1094-F13887C4F070}.Debug|Any CPU.Build.0 = Debug|Any CPU - {19868E2D-7163-2108-1094-F13887C4F070}.Release|Any CPU.ActiveCfg = Release|Any CPU - {19868E2D-7163-2108-1094-F13887C4F070}.Release|Any CPU.Build.0 = Release|Any CPU - {5EE3F943-51AD-4EA2-025B-17382AF1C7C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5EE3F943-51AD-4EA2-025B-17382AF1C7C3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5EE3F943-51AD-4EA2-025B-17382AF1C7C3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5EE3F943-51AD-4EA2-025B-17382AF1C7C3}.Release|Any CPU.Build.0 = Release|Any CPU - {7D3FC972-467A-4917-8339-9B6462C6A38A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7D3FC972-467A-4917-8339-9B6462C6A38A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7D3FC972-467A-4917-8339-9B6462C6A38A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7D3FC972-467A-4917-8339-9B6462C6A38A}.Release|Any CPU.Build.0 = Release|Any CPU - {C154051B-DB4E-5270-AF5A-12A0FFE0E769}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C154051B-DB4E-5270-AF5A-12A0FFE0E769}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C154051B-DB4E-5270-AF5A-12A0FFE0E769}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C154051B-DB4E-5270-AF5A-12A0FFE0E769}.Release|Any CPU.Build.0 = Release|Any CPU - {CC319FC5-F4B1-C3DD-7310-4DAD343E0125}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CC319FC5-F4B1-C3DD-7310-4DAD343E0125}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CC319FC5-F4B1-C3DD-7310-4DAD343E0125}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CC319FC5-F4B1-C3DD-7310-4DAD343E0125}.Release|Any CPU.Build.0 = Release|Any CPU - {CD6B144E-BCDD-D4FE-2749-703DAB054EBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CD6B144E-BCDD-D4FE-2749-703DAB054EBC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CD6B144E-BCDD-D4FE-2749-703DAB054EBC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CD6B144E-BCDD-D4FE-2749-703DAB054EBC}.Release|Any CPU.Build.0 = Release|Any CPU - {A96C11AB-BD51-91E4-0CA7-5125FA4AC7A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A96C11AB-BD51-91E4-0CA7-5125FA4AC7A8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A96C11AB-BD51-91E4-0CA7-5125FA4AC7A8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A96C11AB-BD51-91E4-0CA7-5125FA4AC7A8}.Release|Any CPU.Build.0 = Release|Any CPU - {B46D185B-A630-8F76-E61B-90084FBF65B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B46D185B-A630-8F76-E61B-90084FBF65B0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B46D185B-A630-8F76-E61B-90084FBF65B0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B46D185B-A630-8F76-E61B-90084FBF65B0}.Release|Any CPU.Build.0 = Release|Any CPU - {84F711C2-C210-28D2-F0D9-B13733FEE23D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {84F711C2-C210-28D2-F0D9-B13733FEE23D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {84F711C2-C210-28D2-F0D9-B13733FEE23D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {84F711C2-C210-28D2-F0D9-B13733FEE23D}.Release|Any CPU.Build.0 = Release|Any CPU - {A78EBC0F-C62C-8F56-95C0-330E376242A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A78EBC0F-C62C-8F56-95C0-330E376242A2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A78EBC0F-C62C-8F56-95C0-330E376242A2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A78EBC0F-C62C-8F56-95C0-330E376242A2}.Release|Any CPU.Build.0 = Release|Any CPU - {6D26FB21-7E48-024B-E5D4-E3F0F31976BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6D26FB21-7E48-024B-E5D4-E3F0F31976BB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6D26FB21-7E48-024B-E5D4-E3F0F31976BB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6D26FB21-7E48-024B-E5D4-E3F0F31976BB}.Release|Any CPU.Build.0 = Release|Any CPU - {7CB7FEA8-8A12-A5D6-0057-AA65DB328617}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7CB7FEA8-8A12-A5D6-0057-AA65DB328617}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7CB7FEA8-8A12-A5D6-0057-AA65DB328617}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7CB7FEA8-8A12-A5D6-0057-AA65DB328617}.Release|Any CPU.Build.0 = Release|Any CPU - {A79CBC0C-5313-4ECF-A24E-27CE236BCF2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A79CBC0C-5313-4ECF-A24E-27CE236BCF2C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A79CBC0C-5313-4ECF-A24E-27CE236BCF2C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A79CBC0C-5313-4ECF-A24E-27CE236BCF2C}.Release|Any CPU.Build.0 = Release|Any CPU - {0AF13355-173C-3128-5AFC-D32E540DA3EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0AF13355-173C-3128-5AFC-D32E540DA3EF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0AF13355-173C-3128-5AFC-D32E540DA3EF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0AF13355-173C-3128-5AFC-D32E540DA3EF}.Release|Any CPU.Build.0 = Release|Any CPU - {8CD19568-1638-B8F6-8447-82CFD4F17ADF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8CD19568-1638-B8F6-8447-82CFD4F17ADF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8CD19568-1638-B8F6-8447-82CFD4F17ADF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8CD19568-1638-B8F6-8447-82CFD4F17ADF}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {F310596E-88BB-9E54-885E-21C61971917E} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {D9492ED1-A812-924B-65E4-F518592B49BB} = {F310596E-88BB-9E54-885E-21C61971917E} - {3823DE1E-2ACE-C956-99E1-00DB786D9E1D} = {D9492ED1-A812-924B-65E4-F518592B49BB} - {5AC09D9A-F2A5-9CFA-B3C5-8D25F257651C} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {33B1AE27-692A-1778-48C1-CCEC2B9BC78F} = {5AC09D9A-F2A5-9CFA-B3C5-8D25F257651C} - {018E0E11-1CCE-A2BE-641D-21EE14D2E90D} = {5AC09D9A-F2A5-9CFA-B3C5-8D25F257651C} - {5F27FB4E-CF09-3A6B-F5B4-BF5A709FA609} = {33B1AE27-692A-1778-48C1-CCEC2B9BC78F} - {AB67BDB9-D701-3AC9-9CDF-ECCDCCD8DB6D} = {5AC09D9A-F2A5-9CFA-B3C5-8D25F257651C} - {3F605548-87E2-8A1D-306D-0CE6960B8242} = {AB67BDB9-D701-3AC9-9CDF-ECCDCCD8DB6D} - {45F7FA87-7451-6970-7F6E-F8BAE45E081B} = {AB67BDB9-D701-3AC9-9CDF-ECCDCCD8DB6D} - {C1DCEFBD-12A5-EAAE-632E-8EEB9BE491B6} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {A6928CBA-4D4D-AB2B-CA19-FEE6E73ECE70} = {C1DCEFBD-12A5-EAAE-632E-8EEB9BE491B6} - {F2E6CB0E-DF77-1FAA-582B-62B040DF3848} = {A6928CBA-4D4D-AB2B-CA19-FEE6E73ECE70} - {C494ECBE-DEA5-3576-D2AF-200FF12BC144} = {A6928CBA-4D4D-AB2B-CA19-FEE6E73ECE70} - {7E890DF9-B715-B6DF-2498-FD74DDA87D71} = {A6928CBA-4D4D-AB2B-CA19-FEE6E73ECE70} - {64689413-46D7-8499-68A6-B6367ACBC597} = {A6928CBA-4D4D-AB2B-CA19-FEE6E73ECE70} - {157C3671-CA0B-69FA-A7C9-74A1FDA97B99} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {F39E09D6-BF93-B64A-CFE7-2BA92815C0FE} = {157C3671-CA0B-69FA-A7C9-74A1FDA97B99} - {F2B58F4E-6F28-A25F-5BFB-CDEBAD6B9A3E} = {F39E09D6-BF93-B64A-CFE7-2BA92815C0FE} - {C4A90603-BE42-0044-CAB4-3EB910AD51A5} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {054761F9-16D3-B2F8-6F4D-EFC2248805CD} = {C4A90603-BE42-0044-CAB4-3EB910AD51A5} - {B54CE64C-4167-1DD1-B7D6-2FD7A5AEF715} = {C4A90603-BE42-0044-CAB4-3EB910AD51A5} - {8E6B774C-CC4E-CE7C-AD4B-8AF7C92889A6} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {B76CF38D-4C77-2AD0-69CB-2FD13C2BDE4C} = {8E6B774C-CC4E-CE7C-AD4B-8AF7C92889A6} - {BC12ED55-6015-7C8B-8384-B39CE93C76D6} = {8E6B774C-CC4E-CE7C-AD4B-8AF7C92889A6} - {7DE09F4B-E86D-CEA4-EC36-364CC9CCD2A6} = {8E6B774C-CC4E-CE7C-AD4B-8AF7C92889A6} - {BA20548F-5ADA-BE63-1AE7-BA12CB4E82B3} = {8E6B774C-CC4E-CE7C-AD4B-8AF7C92889A6} - {FF70543D-AFF9-1D38-4950-4F8EE18D60BB} = {8E6B774C-CC4E-CE7C-AD4B-8AF7C92889A6} - {831265B0-8896-9C95-3488-E12FD9F6DC53} = {FF70543D-AFF9-1D38-4950-4F8EE18D60BB} - {97579A99-E7BE-9189-9B9A-CA0EBB5E9C97} = {FF70543D-AFF9-1D38-4950-4F8EE18D60BB} - {F3131BAC-FF6E-FBF1-1A59-74B89427DFE6} = {FF70543D-AFF9-1D38-4950-4F8EE18D60BB} - {667DC5D3-F09E-76F7-C4BC-FA35001F3609} = {FF70543D-AFF9-1D38-4950-4F8EE18D60BB} - {316BBD0A-04D2-85C9-52EA-7993CC6C8930} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {9D6AB85A-85EA-D85A-5566-A121D34016E6} = {316BBD0A-04D2-85C9-52EA-7993CC6C8930} - {FC018E5B-1E2F-DE19-1E97-0C845058C469} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {1BE5B76C-B486-560B-6CB2-44C6537249AA} = {FC018E5B-1E2F-DE19-1E97-0C845058C469} - {F4F1CBE2-1CDD-CAA4-41F0-266DB4677C05} = {1BE5B76C-B486-560B-6CB2-44C6537249AA} - {5896C4B3-31D1-1EDD-11D0-C46DB178DC12} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {D4D193A8-47D7-0B1A-1327-F9C580E7AD07} = {5896C4B3-31D1-1EDD-11D0-C46DB178DC12} - {9F30DC58-7747-31D8-2403-D7D0F5454C87} = {D4D193A8-47D7-0B1A-1327-F9C580E7AD07} - {AD65DDE7-9FEA-7380-8C10-FA165F745354} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {076B8074-5735-5367-1EEA-CA16A5B8ABD7} = {AD65DDE7-9FEA-7380-8C10-FA165F745354} - {3247EE0D-B3E9-9C11-B0AE-FE719410390B} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {CD7C09DA-FEC8-2CC5-D00C-E525638DFF4A} = {3247EE0D-B3E9-9C11-B0AE-FE719410390B} - {79B10804-91E9-972E-1913-EE0F0B11663E} = {CD7C09DA-FEC8-2CC5-D00C-E525638DFF4A} - {E9A667F9-9627-4297-EF5E-0333593FDA14} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {B81E0B20-6C85-AC09-1DB6-5BD6CBB8AA62} = {E9A667F9-9627-4297-EF5E-0333593FDA14} - {74C64C1F-14F4-7B75-C354-9F252494A758} = {B81E0B20-6C85-AC09-1DB6-5BD6CBB8AA62} - {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} = {5B52EF8A-3661-DCFF-797D-BC4D6AC60BDA} - {79E122F4-2325-3E92-438E-5825A307B594} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {538E2D98-5325-3F54-BE74-EFE5FC1ECBD8} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {66557252-B5C4-664B-D807-07018C627474} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {7203223D-FF02-7BEB-2798-D1639ACC01C4} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {5AC9EE40-1881-5F8A-46A2-2C303950D3C8} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {3C69853C-90E3-D889-1960-3B9229882590} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {643E4D4C-BC96-A37F-E0EC-488127F0B127} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {6F2CA7F5-3E7C-C61B-94E6-E7DD1227B5B1} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {F04B7DBB-77A5-C978-B2DE-8C189A32AA72} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {7C72F22A-20FF-DF5B-9191-6DFD0D497DB2} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {C896CC0A-F5E6-9AA4-C582-E691441F8D32} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {0AA3A418-AB45-CCA4-46D4-EEBFE011FECA} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {225D9926-4AE8-E539-70AD-8698E688F271} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {D6E8E69C-F721-BBCB-8C39-9716D53D72AD} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {589A43FD-8213-E9E3-6CFF-9CBA72D53E98} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {2BACF7E3-1278-FE99-8343-8221E6FBA9DE} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {75E47125-E4D7-8482-F1A4-726564970864} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {FCD529E0-DD17-6587-B29C-12D425C0AD0C} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {61B23570-4F2D-B060-BE1F-37995682E494} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {772B02B5-6280-E1D4-3E2E-248D0455C2FB} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {48F90289-938C-CCA7-B60F-D2143E7C9A69} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {083067CF-CE89-EF39-9BD3-4741919E26F3} = {1345DD29-BB3A-FB5F-4B3D-E29F6045A27A} - {61DB9360-5415-FFDD-0F42-3D5CF077B35A} = {BB76B5A5-14BA-E317-828D-110B711D71F5} - {AD31623A-BC43-52C2-D906-AC1D8784A541} = {3823DE1E-2ACE-C956-99E1-00DB786D9E1D} - {5B4DF41E-C8CC-2606-FA2D-967118BD3C59} = {5F27FB4E-CF09-3A6B-F5B4-BF5A709FA609} - {3D8C5A6C-462D-7487-5BD0-A3EF6B657EB6} = {018E0E11-1CCE-A2BE-641D-21EE14D2E90D} - {2609BC1A-6765-29BE-78CC-C0F1D2814F10} = {3F605548-87E2-8A1D-306D-0CE6960B8242} - {C6822231-A4F4-9E69-6CE2-4FDB3E81C728} = {45F7FA87-7451-6970-7F6E-F8BAE45E081B} - {55D9B653-FB76-FCE8-1A3C-67B1BEDEC214} = {F2E6CB0E-DF77-1FAA-582B-62B040DF3848} - {DE5BF139-1E5C-D6EA-4FAA-661EF353A194} = {C494ECBE-DEA5-3576-D2AF-200FF12BC144} - {ECA25786-A3A8-92C4-4AA3-D4A73C69FDCA} = {7E890DF9-B715-B6DF-2498-FD74DDA87D71} - {97F94029-5419-6187-5A63-5C8FD9232FAE} = {64689413-46D7-8499-68A6-B6367ACBC597} - {AF9E7F02-25AD-3540-18D7-F6A4F8BA5A60} = {79E122F4-2325-3E92-438E-5825A307B594} - {BDA26234-BC17-8531-D0D4-163D3EB8CAD5} = {260590C1-7FC4-2A7C-10F1-4CC1B3121523} - {096BC080-DB77-83B4-E2A3-22848FE04292} = {61DB9360-5415-FFDD-0F42-3D5CF077B35A} - {EB093C48-CDAC-106B-1196-AE34809B34C0} = {F2B58F4E-6F28-A25F-5BFB-CDEBAD6B9A3E} - {92C62F7B-8028-6EE1-B71B-F45F459B8E97} = {538E2D98-5325-3F54-BE74-EFE5FC1ECBD8} - {F664A948-E352-5808-E780-77A03F19E93E} = {66557252-B5C4-664B-D807-07018C627474} - {FA83F778-5252-0B80-5555-E69F790322EA} = {7203223D-FF02-7BEB-2798-D1639ACC01C4} - {F3A27846-6DE0-3448-222C-25A273E86B2E} = {5AC9EE40-1881-5F8A-46A2-2C303950D3C8} - {C53E0895-879A-D9E6-0A43-24AD17A2F270} = {3C69853C-90E3-D889-1960-3B9229882590} - {0AED303F-69E6-238F-EF80-81985080EDB7} = {643E4D4C-BC96-A37F-E0EC-488127F0B127} - {2904D288-CE64-A565-2C46-C2E85A96A1EE} = {6F2CA7F5-3E7C-C61B-94E6-E7DD1227B5B1} - {A6667CC3-B77F-023E-3A67-05F99E9FF46A} = {F04B7DBB-77A5-C978-B2DE-8C189A32AA72} - {A26E2816-F787-F76B-1D6C-E086DD3E19CE} = {7C72F22A-20FF-DF5B-9191-6DFD0D497DB2} - {B3DEC619-67AC-1B5A-4F3E-A1F24C3F6877} = {C896CC0A-F5E6-9AA4-C582-E691441F8D32} - {90DB65B4-8F6E-FB8E-0281-505AD8BC6BA6} = {0AA3A418-AB45-CCA4-46D4-EEBFE011FECA} - {059FBB86-DEE6-8207-3F23-2A1A3EC00DEA} = {225D9926-4AE8-E539-70AD-8698E688F271} - {8BBA3159-C4CC-F685-A28C-7FE6CBD3D2A1} = {D6E8E69C-F721-BBCB-8C39-9716D53D72AD} - {632A1F0D-1BA5-C84B-B716-2BE638A92780} = {589A43FD-8213-E9E3-6CFF-9CBA72D53E98} - {9DE7852B-7E2D-257E-B0F1-45D2687854ED} = {2BACF7E3-1278-FE99-8343-8221E6FBA9DE} - {DC2AFC89-C3C8-4E9B-13A7-027EB6386EFA} = {75E47125-E4D7-8482-F1A4-726564970864} - {CB296A20-2732-77C1-7F23-27D5BAEDD0C7} = {054761F9-16D3-B2F8-6F4D-EFC2248805CD} - {0DBEC9BA-FE1D-3898-B2C6-E4357DC23E0F} = {B54CE64C-4167-1DD1-B7D6-2FD7A5AEF715} - {A63897D9-9531-989B-7309-E384BCFC2BB9} = {FCD529E0-DD17-6587-B29C-12D425C0AD0C} - {8C594D82-3463-3367-4F06-900AC707753D} = {61B23570-4F2D-B060-BE1F-37995682E494} - {97998C88-E6E1-D5E2-B632-537B58E00CBF} = {F4F1CBE2-1CDD-CAA4-41F0-266DB4677C05} - {38A9EE9B-6FC8-93BC-0D43-2A906E678D66} = {772B02B5-6280-E1D4-3E2E-248D0455C2FB} - {19868E2D-7163-2108-1094-F13887C4F070} = {831265B0-8896-9C95-3488-E12FD9F6DC53} - {5EE3F943-51AD-4EA2-025B-17382AF1C7C3} = {B76CF38D-4C77-2AD0-69CB-2FD13C2BDE4C} - {7D3FC972-467A-4917-8339-9B6462C6A38A} = {97579A99-E7BE-9189-9B9A-CA0EBB5E9C97} - {C154051B-DB4E-5270-AF5A-12A0FFE0E769} = {F3131BAC-FF6E-FBF1-1A59-74B89427DFE6} - {CC319FC5-F4B1-C3DD-7310-4DAD343E0125} = {BC12ED55-6015-7C8B-8384-B39CE93C76D6} - {CD6B144E-BCDD-D4FE-2749-703DAB054EBC} = {7DE09F4B-E86D-CEA4-EC36-364CC9CCD2A6} - {A96C11AB-BD51-91E4-0CA7-5125FA4AC7A8} = {667DC5D3-F09E-76F7-C4BC-FA35001F3609} - {B46D185B-A630-8F76-E61B-90084FBF65B0} = {BA20548F-5ADA-BE63-1AE7-BA12CB4E82B3} - {84F711C2-C210-28D2-F0D9-B13733FEE23D} = {48F90289-938C-CCA7-B60F-D2143E7C9A69} - {A78EBC0F-C62C-8F56-95C0-330E376242A2} = {9D6AB85A-85EA-D85A-5566-A121D34016E6} - {6D26FB21-7E48-024B-E5D4-E3F0F31976BB} = {083067CF-CE89-EF39-9BD3-4741919E26F3} - {7CB7FEA8-8A12-A5D6-0057-AA65DB328617} = {9F30DC58-7747-31D8-2403-D7D0F5454C87} - {A79CBC0C-5313-4ECF-A24E-27CE236BCF2C} = {076B8074-5735-5367-1EEA-CA16A5B8ABD7} - {0AF13355-173C-3128-5AFC-D32E540DA3EF} = {79B10804-91E9-972E-1913-EE0F0B11663E} - {8CD19568-1638-B8F6-8447-82CFD4F17ADF} = {74C64C1F-14F4-7B75-C354-9F252494A758} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {CECB2236-DAFE-1DBC-D493-FE8FDBB846E4} - EndGlobalSection -EndGlobal - diff --git a/src/Platform/__Libraries/StellaOps.Platform.Database/MigrationModulePluginDiscovery.cs b/src/Platform/__Libraries/StellaOps.Platform.Database/MigrationModulePluginDiscovery.cs index 5984c206e..5f829e999 100644 --- a/src/Platform/__Libraries/StellaOps.Platform.Database/MigrationModulePluginDiscovery.cs +++ b/src/Platform/__Libraries/StellaOps.Platform.Database/MigrationModulePluginDiscovery.cs @@ -72,12 +72,12 @@ internal static class MigrationModulePluginDiscovery private static IEnumerable DiscoverPlugins() { - foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies().OrderBy(static a => a.FullName, StringComparer.Ordinal)) + // Filter to Default ALC to avoid type identity mismatches from isolated plugin ALCs. + foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies() + .Where(static a => !a.IsDynamic + && AssemblyLoadContext.GetLoadContext(a) == AssemblyLoadContext.Default) + .OrderBy(static a => a.FullName, StringComparer.Ordinal)) { - if (assembly.IsDynamic) - { - continue; - } foreach (var type in GetLoadableTypes(assembly)) { diff --git a/src/Router/StellaOps.Gateway.WebService/Program.cs b/src/Router/StellaOps.Gateway.WebService/Program.cs index 078051cfc..668090ed7 100644 --- a/src/Router/StellaOps.Gateway.WebService/Program.cs +++ b/src/Router/StellaOps.Gateway.WebService/Program.cs @@ -24,6 +24,7 @@ using StellaOps.Router.Gateway.Middleware; using StellaOps.Router.Gateway.OpenApi; using StellaOps.Router.Gateway.RateLimit; using StellaOps.Router.Gateway.Routing; +using System.Runtime.Loader; var builder = WebApplication.CreateBuilder(args); @@ -77,7 +78,8 @@ var transportPluginLoader = new RouterTransportPluginLoader( foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies() .Where(assembly => - assembly.GetName().Name?.StartsWith("StellaOps.Router.Transport.", StringComparison.OrdinalIgnoreCase) == true)) + assembly.GetName().Name?.StartsWith("StellaOps.Router.Transport.", StringComparison.OrdinalIgnoreCase) == true + && AssemblyLoadContext.GetLoadContext(assembly) == AssemblyLoadContext.Default)) { transportPluginLoader.LoadFromAssembly(assembly); } diff --git a/src/Router/__Libraries/StellaOps.Messaging/DependencyInjection/MessagingServiceCollectionExtensions.cs b/src/Router/__Libraries/StellaOps.Messaging/DependencyInjection/MessagingServiceCollectionExtensions.cs index 421a3c301..6eec2aad4 100644 --- a/src/Router/__Libraries/StellaOps.Messaging/DependencyInjection/MessagingServiceCollectionExtensions.cs +++ b/src/Router/__Libraries/StellaOps.Messaging/DependencyInjection/MessagingServiceCollectionExtensions.cs @@ -5,6 +5,7 @@ using Microsoft.Extensions.Logging; using StellaOps.Messaging.Abstractions; using StellaOps.Messaging.Plugins; using System.Reflection; +using System.Runtime.Loader; namespace StellaOps.Messaging.DependencyInjection; @@ -33,9 +34,12 @@ public static class MessagingServiceCollectionExtensions var loader = new MessagingPluginLoader(); var plugins = loader.LoadFromDirectory(options.PluginDirectory, options.SearchPattern); - // Also load from assemblies in the current domain that might contain plugins + // Also load from assemblies in the current domain that might contain plugins. + // Filter to Default ALC only — plugin assemblies loaded via PluginHost into isolated + // AssemblyLoadContexts have distinct types that cause IOptions resolution failures. var domainAssemblies = AppDomain.CurrentDomain.GetAssemblies() - .Where(a => a.GetName().Name?.StartsWith("StellaOps.Messaging.Transport.") == true); + .Where(a => a.GetName().Name?.StartsWith("StellaOps.Messaging.Transport.") == true + && AssemblyLoadContext.GetLoadContext(a) == AssemblyLoadContext.Default); var domainPlugins = loader.LoadFromAssemblies(domainAssemblies); var allPlugins = plugins.Concat(domainPlugins) diff --git a/src/Router/__Libraries/StellaOps.Microservice/GeneratedEndpointDiscoveryProvider.cs b/src/Router/__Libraries/StellaOps.Microservice/GeneratedEndpointDiscoveryProvider.cs index b2071e656..bc16ed611 100644 --- a/src/Router/__Libraries/StellaOps.Microservice/GeneratedEndpointDiscoveryProvider.cs +++ b/src/Router/__Libraries/StellaOps.Microservice/GeneratedEndpointDiscoveryProvider.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using StellaOps.Router.Common.Models; using System.Reflection; +using System.Runtime.Loader; namespace StellaOps.Microservice; @@ -98,7 +99,9 @@ public sealed class GeneratedEndpointDiscoveryProvider : IEndpointDiscoveryProvi } // Check all loaded assemblies (integration tests may host multiple microservices in one process). - foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) + // Filter to Default ALC to avoid type identity mismatches from isolated plugin ALCs. + foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies() + .Where(a => AssemblyLoadContext.GetLoadContext(a) == AssemblyLoadContext.Default)) { try { diff --git a/src/Router/__Libraries/StellaOps.Microservice/ReflectionEndpointDiscoveryProvider.cs b/src/Router/__Libraries/StellaOps.Microservice/ReflectionEndpointDiscoveryProvider.cs index d6313a439..f16605de1 100644 --- a/src/Router/__Libraries/StellaOps.Microservice/ReflectionEndpointDiscoveryProvider.cs +++ b/src/Router/__Libraries/StellaOps.Microservice/ReflectionEndpointDiscoveryProvider.cs @@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using StellaOps.Router.Common.Models; using System.Reflection; +using System.Runtime.Loader; namespace StellaOps.Microservice; @@ -28,7 +29,9 @@ public sealed class ReflectionEndpointDiscoveryProvider : IEndpointDiscoveryProv ILogger? logger = null) { _options = options; - _assemblies = assemblies ?? AppDomain.CurrentDomain.GetAssemblies(); + // Filter to Default ALC to avoid type identity mismatches from isolated plugin ALCs. + _assemblies = assemblies ?? AppDomain.CurrentDomain.GetAssemblies() + .Where(a => AssemblyLoadContext.GetLoadContext(a) == AssemblyLoadContext.Default); _serviceProviderIsService = serviceProviderIsService; _logger = logger; } diff --git a/src/Router/__Libraries/StellaOps.Microservice/ServiceCollectionExtensions.cs b/src/Router/__Libraries/StellaOps.Microservice/ServiceCollectionExtensions.cs index 911b1d556..c014df13a 100644 --- a/src/Router/__Libraries/StellaOps.Microservice/ServiceCollectionExtensions.cs +++ b/src/Router/__Libraries/StellaOps.Microservice/ServiceCollectionExtensions.cs @@ -4,6 +4,7 @@ using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Hosting; using StellaOps.Microservice.Validation; using System.Reflection; +using System.Runtime.Loader; namespace StellaOps.Microservice; @@ -164,7 +165,9 @@ public static class ServiceCollectionExtensions private static Type? FindGeneratedSchemaProvider(List issues) { - foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) + // Filter to Default ALC to avoid type identity mismatches from isolated plugin ALCs. + foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies() + .Where(a => AssemblyLoadContext.GetLoadContext(a) == AssemblyLoadContext.Default)) { Type[] types; try diff --git a/src/Router/__Libraries/StellaOps.Router.AspNet/StellaRouterIntegrationHelper.cs b/src/Router/__Libraries/StellaOps.Router.AspNet/StellaRouterIntegrationHelper.cs index abc07dff1..ae69a7735 100644 --- a/src/Router/__Libraries/StellaOps.Router.AspNet/StellaRouterIntegrationHelper.cs +++ b/src/Router/__Libraries/StellaOps.Router.AspNet/StellaRouterIntegrationHelper.cs @@ -4,6 +4,7 @@ using Microsoft.Extensions.DependencyInjection; using StellaOps.Router.Common.Enums; using StellaOps.Router.Common.Plugins; using System.Globalization; +using System.Runtime.Loader; namespace StellaOps.Router.AspNet; @@ -492,10 +493,13 @@ public static class StellaRouterIntegrationHelper { var loader = new RouterTransportPluginLoader(); + // Filter to Default ALC only — assemblies loaded via PluginHost into isolated + // AssemblyLoadContexts have distinct types that cause DI resolution failures. foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies() .Where(a => a.GetName().Name?.StartsWith( - "StellaOps.Router.Transport.", - StringComparison.OrdinalIgnoreCase) == true)) + "StellaOps.Router.Transport.", + StringComparison.OrdinalIgnoreCase) == true + && AssemblyLoadContext.GetLoadContext(a) == AssemblyLoadContext.Default)) { loader.LoadFromAssembly(assembly); } diff --git a/src/Cartographer/StellaOps.Cartographer/AGENTS.md b/src/Scanner/StellaOps.Scanner.Cartographer/AGENTS.md similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/AGENTS.md rename to src/Scanner/StellaOps.Scanner.Cartographer/AGENTS.md diff --git a/src/Cartographer/StellaOps.Cartographer/CartographerEntryPoint.cs b/src/Scanner/StellaOps.Scanner.Cartographer/CartographerEntryPoint.cs similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/CartographerEntryPoint.cs rename to src/Scanner/StellaOps.Scanner.Cartographer/CartographerEntryPoint.cs diff --git a/src/Cartographer/StellaOps.Cartographer/Options/CartographerAuthorityOptions.cs b/src/Scanner/StellaOps.Scanner.Cartographer/Options/CartographerAuthorityOptions.cs similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/Options/CartographerAuthorityOptions.cs rename to src/Scanner/StellaOps.Scanner.Cartographer/Options/CartographerAuthorityOptions.cs diff --git a/src/Cartographer/StellaOps.Cartographer/Options/CartographerAuthorityOptionsConfigurator.cs b/src/Scanner/StellaOps.Scanner.Cartographer/Options/CartographerAuthorityOptionsConfigurator.cs similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/Options/CartographerAuthorityOptionsConfigurator.cs rename to src/Scanner/StellaOps.Scanner.Cartographer/Options/CartographerAuthorityOptionsConfigurator.cs diff --git a/src/Cartographer/StellaOps.Cartographer/Options/CartographerAuthorityOptionsValidator.cs b/src/Scanner/StellaOps.Scanner.Cartographer/Options/CartographerAuthorityOptionsValidator.cs similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/Options/CartographerAuthorityOptionsValidator.cs rename to src/Scanner/StellaOps.Scanner.Cartographer/Options/CartographerAuthorityOptionsValidator.cs diff --git a/src/Cartographer/StellaOps.Cartographer/Program.cs b/src/Scanner/StellaOps.Scanner.Cartographer/Program.cs similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/Program.cs rename to src/Scanner/StellaOps.Scanner.Cartographer/Program.cs diff --git a/src/Cartographer/StellaOps.Cartographer/Properties/AssemblyInfo.cs b/src/Scanner/StellaOps.Scanner.Cartographer/Properties/AssemblyInfo.cs similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/Properties/AssemblyInfo.cs rename to src/Scanner/StellaOps.Scanner.Cartographer/Properties/AssemblyInfo.cs diff --git a/src/Cartographer/StellaOps.Cartographer/Properties/launchSettings.json b/src/Scanner/StellaOps.Scanner.Cartographer/Properties/launchSettings.json similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/Properties/launchSettings.json rename to src/Scanner/StellaOps.Scanner.Cartographer/Properties/launchSettings.json diff --git a/src/Cartographer/StellaOps.Cartographer/StellaOps.Cartographer.csproj b/src/Scanner/StellaOps.Scanner.Cartographer/StellaOps.Scanner.Cartographer.csproj similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/StellaOps.Cartographer.csproj rename to src/Scanner/StellaOps.Scanner.Cartographer/StellaOps.Scanner.Cartographer.csproj diff --git a/src/Cartographer/StellaOps.Cartographer/TASKS.completed.md b/src/Scanner/StellaOps.Scanner.Cartographer/TASKS.completed.md similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/TASKS.completed.md rename to src/Scanner/StellaOps.Scanner.Cartographer/TASKS.completed.md diff --git a/src/Cartographer/StellaOps.Cartographer/TASKS.md b/src/Scanner/StellaOps.Scanner.Cartographer/TASKS.md similarity index 100% rename from src/Cartographer/StellaOps.Cartographer/TASKS.md rename to src/Scanner/StellaOps.Scanner.Cartographer/TASKS.md diff --git a/src/Cartographer/__Tests/StellaOps.Cartographer.Tests/AGENTS.md b/src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/AGENTS.md similarity index 100% rename from src/Cartographer/__Tests/StellaOps.Cartographer.Tests/AGENTS.md rename to src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/AGENTS.md diff --git a/src/Cartographer/__Tests/StellaOps.Cartographer.Tests/CartographerProgramTests.cs b/src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/CartographerProgramTests.cs similarity index 100% rename from src/Cartographer/__Tests/StellaOps.Cartographer.Tests/CartographerProgramTests.cs rename to src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/CartographerProgramTests.cs diff --git a/src/Cartographer/__Tests/StellaOps.Cartographer.Tests/Options/CartographerAuthorityOptionsConfiguratorTests.cs b/src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/Options/CartographerAuthorityOptionsConfiguratorTests.cs similarity index 100% rename from src/Cartographer/__Tests/StellaOps.Cartographer.Tests/Options/CartographerAuthorityOptionsConfiguratorTests.cs rename to src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/Options/CartographerAuthorityOptionsConfiguratorTests.cs diff --git a/src/Cartographer/__Tests/StellaOps.Cartographer.Tests/StellaOps.Cartographer.Tests.csproj b/src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/StellaOps.Scanner.Cartographer.Tests.csproj similarity index 100% rename from src/Cartographer/__Tests/StellaOps.Cartographer.Tests/StellaOps.Cartographer.Tests.csproj rename to src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/StellaOps.Scanner.Cartographer.Tests.csproj diff --git a/src/Cartographer/__Tests/StellaOps.Cartographer.Tests/TASKS.md b/src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/TASKS.md similarity index 100% rename from src/Cartographer/__Tests/StellaOps.Cartographer.Tests/TASKS.md rename to src/Scanner/__Tests/StellaOps.Scanner.Cartographer.Tests/TASKS.md