refactor: DB schema fixes + container renames + compose include + audit sprint

- FindingsLedger: change schema from public to findings (V3-01)
- Add 9 migration module plugins: RiskEngine, Replay, ExportCenter, Integrations, Signer, IssuerDirectory, Workflow, PacksRegistry, OpsMemory (V4-01 to V4-09)
- Remove 16 redundant inline CREATE SCHEMA patterns (V4-10)
- Rename export→export-web, excititor→excititor-web for consistency
- Compose stella-ops.yml: thin wrapper using include: directive
- Fix dead /api/v1/jobengine/* gateway routes → release-orchestrator/packsregistry
- Scheduler plugin architecture: ISchedulerJobPlugin + ScanJobPlugin + DoctorJobPlugin
- Create unified audit sink sprint plan
- VulnExplorer integration tests + gap analysis

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-04-08 16:10:36 +03:00
parent 6592cdcc9b
commit 65106afe4c
100 changed files with 5788 additions and 2852 deletions

View File

@@ -39,7 +39,17 @@ public class MigrationModuleRegistryTests
Assert.Contains(modules, m => m.Name == "SbomLineage" && m.SchemaName == "sbom");
Assert.Contains(modules, m => m.Name == "ReachGraph" && m.SchemaName == "reachgraph");
Assert.Contains(modules, m => m.Name == "Verdict" && m.SchemaName == "stellaops");
Assert.True(MigrationModuleRegistry.ModuleNames.Count() >= 20);
Assert.Contains(modules, m => m.Name == "FindingsLedger" && m.SchemaName == "findings");
Assert.Contains(modules, m => m.Name == "Signer" && m.SchemaName == "signer");
Assert.Contains(modules, m => m.Name == "IssuerDirectory" && m.SchemaName == "issuer");
Assert.Contains(modules, m => m.Name == "Workflow" && m.SchemaName == "workflow");
Assert.Contains(modules, m => m.Name == "PacksRegistry" && m.SchemaName == "packs");
Assert.Contains(modules, m => m.Name == "OpsMemory" && m.SchemaName == "opsmemory");
Assert.Contains(modules, m => m.Name == "ExportCenter" && m.SchemaName == "export_center");
Assert.Contains(modules, m => m.Name == "Integrations" && m.SchemaName == "integrations");
Assert.Contains(modules, m => m.Name == "Replay" && m.SchemaName == "replay");
Assert.Contains(modules, m => m.Name == "RiskEngine" && m.SchemaName == "riskengine");
Assert.True(MigrationModuleRegistry.ModuleNames.Count() >= 36);
}
[Fact]
@@ -78,6 +88,6 @@ public class MigrationModuleRegistryTests
public void GetModules_All_Returns_All()
{
var result = MigrationModuleRegistry.GetModules(null);
Assert.True(result.Count() >= 20);
Assert.True(result.Count() >= 36);
}
}