documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF

This commit is contained in:
master
2026-02-25 01:24:07 +02:00
parent b07d27772e
commit 4db038123b
9090 changed files with 4836 additions and 2909 deletions

View File

@@ -0,0 +1,39 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Feedser.BinaryAnalysis.Tests -> C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 26, Skipped: 0, Total: 26, Duration: 244ms - StellaOps.Feedser.BinaryAnalysis.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,40 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.TestKit -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.TestKit\bin\Release\net10.0\StellaOps.TestKit.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Feedser.Core.Tests -> C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 76, Skipped: 0, Total: 76, Duration: 458ms - StellaOps.Feedser.Core.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,39 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Feedser.BinaryAnalysis.Tests -> C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 26, Skipped: 0, Total: 26, Duration: 253ms - StellaOps.Feedser.BinaryAnalysis.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,40 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.TestKit -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.TestKit\bin\Release\net10.0\StellaOps.TestKit.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Feedser.Core.Tests -> C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 76, Skipped: 0, Total: 76, Duration: 477ms - StellaOps.Feedser.Core.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,40 @@
{
"filesChecked": [
"src/Feedser/StellaOps.Feedser.Core/Signals/EpssSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/KevSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/ISignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/SignalAttacherServiceExtensions.cs",
"src/Feedser/StellaOps.Feedser.Core/FunctionSignatureExtractor.cs",
"src/Feedser/StellaOps.Feedser.Core/HunkSigExtractor.cs",
"src/Feedser/StellaOps.Feedser.Core/Models/PatchSignature.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/BinaryFingerprintFactory.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/InstructionHashFingerprinter.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/SimplifiedTlshFingerprinter.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Models/BinaryFingerprint.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/Signals/EpssSignalAttacherTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/FunctionSignatureExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/HunkSigExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/BinaryFingerprintTests.cs"
],
"found": [
"src/Feedser/StellaOps.Feedser.Core/Signals/EpssSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/KevSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/ISignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/SignalAttacherServiceExtensions.cs",
"src/Feedser/StellaOps.Feedser.Core/FunctionSignatureExtractor.cs",
"src/Feedser/StellaOps.Feedser.Core/HunkSigExtractor.cs",
"src/Feedser/StellaOps.Feedser.Core/Models/PatchSignature.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/BinaryFingerprintFactory.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/InstructionHashFingerprinter.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/SimplifiedTlshFingerprinter.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Models/BinaryFingerprint.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/Signals/EpssSignalAttacherTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/FunctionSignatureExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/HunkSigExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/BinaryFingerprintTests.cs"
],
"missing": [
],
"verdict": "pass"
}

View File

@@ -0,0 +1,20 @@
{
"project": "src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/StellaOps.Feedser.Core.Tests.csproj",
"buildResult": "pass",
"testResult": "pass",
"command": "dotnet test src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/StellaOps.Feedser.Core.Tests.csproj -c Release --nologo; dotnet test src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/StellaOps.Feedser.BinaryAnalysis.Tests.csproj -c Release --nologo",
"testProjects": [
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/StellaOps.Feedser.Core.Tests.csproj",
"src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/StellaOps.Feedser.BinaryAnalysis.Tests.csproj"
],
"testsRun": 102,
"testsPassed": 102,
"testsFailed": 0,
"errors": [
],
"warnings": [
],
"runAtUtc": "2026-02-11T07:21:41.1765105Z"
}

View File

@@ -0,0 +1,19 @@
{
"type": "integration",
"module": "feedser",
"feature": "epss-signal-ready-layer",
"runId": "run-001",
"capturedAtUtc": "2026-02-11T07:21:41.1823015Z",
"testCommand": "dotnet test src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/StellaOps.Feedser.Core.Tests.csproj -c Release --nologo; dotnet test src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/StellaOps.Feedser.BinaryAnalysis.Tests.csproj -c Release --nologo",
"testsRun": 102,
"testsPassed": 102,
"testsFailed": 0,
"behaviorVerified": [
"EPSS signal attacher behavior validated via Feedser core signal tests.",
"KEV signal attachment and signal contract behavior validated in core suite.",
"Function/hunk signature extraction behavior validated for deterministic outputs.",
"Binary fingerprint strategies validated for deterministic hashing behavior."
],
"evidence": "docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-001/evidence",
"verdict": "pass"
}

View File

@@ -0,0 +1,104 @@
Client:
Version: 29.1.5
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Docker AI Agent - Ask Gordon (Docker Inc.)
Version: v1.17.1
Path: C:\Program Files\Docker\cli-plugins\docker-ai.exe
buildx: Docker Buildx (Docker Inc.)
Version: v0.30.1-desktop.2
Path: C:\Program Files\Docker\cli-plugins\docker-buildx.exe
compose: Docker Compose (Docker Inc.)
Version: v5.0.1
Path: C:\Program Files\Docker\cli-plugins\docker-compose.exe
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.47
Path: C:\Program Files\Docker\cli-plugins\docker-debug.exe
desktop: Docker Desktop commands (Docker Inc.)
Version: v0.2.0
Path: C:\Program Files\Docker\cli-plugins\docker-desktop.exe
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.31
Path: C:\Program Files\Docker\cli-plugins\docker-extension.exe
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: C:\Program Files\Docker\cli-plugins\docker-init.exe
mcp: Docker MCP Plugin (Docker Inc.)
Version: v0.35.0
Path: C:\Program Files\Docker\cli-plugins\docker-mcp.exe
model: Docker Model Runner (Docker Inc.)
Version: v1.0.7
Path: C:\Program Files\Docker\cli-plugins\docker-model.exe
offload: Docker Offload (Docker Inc.)
Version: v0.5.41
Path: C:\Program Files\Docker\cli-plugins\docker-offload.exe
pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
Version: v0.0.22
Path: C:\Program Files\Docker\cli-plugins\docker-pass.exe
sandbox: Docker Sandbox (Docker Inc.)
Version: v0.10.1
Path: C:\Users\VladimirMoushkov\.docker\cli-plugins\docker-sandbox.exe
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: C:\Program Files\Docker\cli-plugins\docker-sbom.exe
scout: Docker Scout (Docker Inc.)
Version: v1.19.0
Path: C:\Program Files\Docker\cli-plugins\docker-scout.exe
Server:
Containers: 6
Running: 4
Paused: 0
Stopped: 2
Images: 139
Server Version: 29.1.5
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Discovered Devices:
cdi: docker.com/gpu=webgpu
Swarm: inactive
Runtimes: runc io.containerd.runc.v2 nvidia
Default Runtime: runc
Init Binary: docker-init
containerd version: dea7da592f5d1d2b7755e3a161be07f43fad8f75
runc version: v1.3.4-0-gd6d73eb8
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.6.87.2-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 16
Total Memory: 23.47GiB
Name: docker-desktop
ID: 050b93d5-c56e-4aa7-ac6a-bb56e38dc322
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=npipe://\\.\pipe\docker_cli
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
::1/128
Live Restore Enabled: false
Firewall Backend: iptables

View File

@@ -0,0 +1,7 @@
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fea92ccb04fc postgres:18.1-alpine "docker-entrypoint.s<>" 21 hours ago Up 15 hours (healthy) 127.1.1.1:5432->5432/tcp stellaops-dev-postgres
4e3f351b0182 ghcr.io/sigstore/rekor-tiles:latest "rekor-server serve" 21 hours ago Restarting (1) 39 seconds ago stellaops-dev-rekor
226baba3c50c chrislusf/seaweedfs:latest "/entrypoint.sh serv<72>" 21 hours ago Up 1 second (health: starting) 127.1.1.3:8080->8080/tcp stellaops-dev-rustfs
fb50b8808c83 valkey/valkey:9.0.1-alpine "docker-entrypoint.s<>" 21 hours ago Up 15 hours (healthy) 127.1.1.2:6379->6379/tcp stellaops-dev-valkey
5bcb12209aa1 ghcr.io/project-zot/zot-linux-amd64:v2.1.3 "/usr/local/bin/zot-<2D>" 21 hours ago Up 15 hours (unhealthy) 127.1.1.5:80->5000/tcp stellaops-dev-registry

View File

@@ -0,0 +1,158 @@
using System.Text.Json;
using Microsoft.Extensions.Logging.Abstractions;
using StellaOps.Feedser.BinaryAnalysis;
using StellaOps.Feedser.Core;
using StellaOps.Feedser.Core.Signals;
var now = new DateTimeOffset(2026, 1, 7, 12, 0, 0, TimeSpan.Zero);
var timeProvider = new FrozenTimeProvider(now);
var emitter = new InMemoryEmitter();
var epss = new EpssSignalAttacher(new StubEpssDataSource(), emitter, timeProvider, NullLogger<EpssSignalAttacher>.Instance);
var kev = new KevSignalAttacher(new StubKevDataSource(), emitter, timeProvider, NullLogger<KevSignalAttacher>.Instance);
var epssAvailable = await epss.AttachAsync(new EpssLookupInput { CveId = "CVE-2024-1234" });
var epssNotFound = await epss.AttachAsync(new EpssLookupInput { CveId = "CVE-2099-9999" });
var kevAvailable = await kev.AttachAsync(new KevLookupInput { CveId = "CVE-2024-1234" });
var kevNotInKev = await kev.AttachAsync(new KevLookupInput { CveId = "CVE-2099-9999" });
var diff = @"--- a/src/file.c
+++ b/src/file.c
@@ -1,2 +1,3 @@
line1
+line2
line3";
var sigA = HunkSigExtractor.ExtractFromDiff("CVE-2024-1234", "https://example/repo", "sha-1", diff);
var sigB = HunkSigExtractor.ExtractFromDiff("CVE-2024-1234", "https://example/repo", "sha-1", diff);
var hunkDeterministic = sigA.HunkHash == sigB.HunkHash && sigA.PatchSigId == sigB.PatchSigId;
var factory = new BinaryFingerprintFactory();
var binaryData = Enumerable.Range(0, 256).Select(i => (byte)(i % 251)).ToArray();
var fpA = await factory.ExtractAllAsync(binaryData, "sample.bin", "CVE-2024-1234");
var fpB = await factory.ExtractAllAsync(binaryData, "sample.bin", "CVE-2024-1234");
var fpPairsA = fpA.OrderBy(x => x.Method.ToString()).Select(x => $"{x.Method}:{x.FingerprintValue}").ToArray();
var fpPairsB = fpB.OrderBy(x => x.Method.ToString()).Select(x => $"{x.Method}:{x.FingerprintValue}").ToArray();
var fingerprintsDeterministic = fpPairsA.SequenceEqual(fpPairsB);
var result = new
{
epssAvailable = epssAvailable.Status == SignalStatus.Available && epssAvailable.Value is { Score: 0.85, CveId: "CVE-2024-1234" },
epssNotFound = epssNotFound.Status == SignalStatus.NotFound && epssNotFound.Value is null,
kevAvailable = kevAvailable.Status == SignalStatus.Available && kevAvailable.Value is { IsInKev: true, CveId: "CVE-2024-1234" },
kevNotInKev = kevNotInKev.Status == SignalStatus.Available && kevNotInKev.Value is { IsInKev: false, CveId: "CVE-2099-9999" },
hunkDeterministic,
fingerprintsDeterministic,
emittedEvents = emitter.Events.Count,
fingerprintValues = fpPairsA,
utcNow = now
};
var allPass = result.epssAvailable && result.epssNotFound && result.kevAvailable && result.kevNotInKev && result.hunkDeterministic && result.fingerprintsDeterministic;
Console.WriteLine(JsonSerializer.Serialize(result));
return allPass ? 0 : 2;
sealed class FrozenTimeProvider : TimeProvider
{
private readonly DateTimeOffset _utcNow;
public FrozenTimeProvider(DateTimeOffset utcNow) => _utcNow = utcNow;
public override DateTimeOffset GetUtcNow() => _utcNow;
}
sealed class InMemoryEmitter : ISignalEventEmitter
{
public List<SignalUpdatedEvent> Events { get; } = new();
public Task EmitAsync(SignalUpdatedEvent @event, CancellationToken ct = default)
{
Events.Add(@event);
return Task.CompletedTask;
}
public Task EmitBatchAsync(IReadOnlyList<SignalUpdatedEvent> events, CancellationToken ct = default)
{
Events.AddRange(events);
return Task.CompletedTask;
}
}
sealed class StubEpssDataSource : IEpssDataSource
{
public Task<EpssData?> GetEpssAsync(string cveId, DateOnly? asOfDate = null, CancellationToken ct = default)
{
if (string.Equals(cveId, "CVE-2024-1234", StringComparison.Ordinal))
{
return Task.FromResult<EpssData?>(new EpssData
{
CveId = cveId,
Score = 0.85,
Percentile = 99.2,
ScoreDate = new DateOnly(2026, 1, 6),
ModelVersion = "2024.10"
});
}
return Task.FromResult<EpssData?>(null);
}
public Task<IReadOnlyDictionary<string, EpssData>> GetEpssBatchAsync(IReadOnlyList<string> cveIds, DateOnly? asOfDate = null, CancellationToken ct = default)
{
var map = new Dictionary<string, EpssData>(StringComparer.Ordinal);
foreach (var cveId in cveIds)
{
if (string.Equals(cveId, "CVE-2024-1234", StringComparison.Ordinal))
{
map[cveId] = new EpssData
{
CveId = cveId,
Score = 0.85,
Percentile = 99.2,
ScoreDate = new DateOnly(2026, 1, 6)
};
}
}
return Task.FromResult<IReadOnlyDictionary<string, EpssData>>(map);
}
}
sealed class StubKevDataSource : IKevDataSource
{
public Task<KevData?> GetKevAsync(string cveId, CancellationToken ct = default)
{
if (string.Equals(cveId, "CVE-2024-1234", StringComparison.Ordinal))
{
return Task.FromResult<KevData?>(new KevData
{
CveId = cveId,
DateAdded = new DateOnly(2025, 12, 10),
DueDate = new DateOnly(2026, 1, 10),
VendorProject = "Vendor",
Product = "Product",
VulnerabilityName = "Example Vulnerability",
KnownRansomwareCampaignUse = true,
RequiredAction = "Patch",
Notes = "Act fast"
});
}
return Task.FromResult<KevData?>(null);
}
public Task<IReadOnlyDictionary<string, KevData>> GetKevBatchAsync(IReadOnlyList<string> cveIds, CancellationToken ct = default)
{
var map = new Dictionary<string, KevData>(StringComparer.Ordinal);
foreach (var cveId in cveIds)
{
if (string.Equals(cveId, "CVE-2024-1234", StringComparison.Ordinal))
{
map[cveId] = new KevData
{
CveId = cveId,
DateAdded = new DateOnly(2025, 12, 10)
};
}
}
return Task.FromResult<IReadOnlyDictionary<string, KevData>>(map);
}
public Task<IReadOnlySet<string>> GetAllKevCveIdsAsync(CancellationToken ct = default)
{
IReadOnlySet<string> values = new HashSet<string>(StringComparer.Ordinal) { "CVE-2024-1234" };
return Task.FromResult(values);
}
}

View File

@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<ProjectReference Include="..\..\..\..\..\..\..\..\..\src\Feedser\StellaOps.Feedser.Core\StellaOps.Feedser.Core.csproj" />
<ProjectReference Include="..\..\..\..\..\..\..\..\..\src\Feedser\StellaOps.Feedser.BinaryAnalysis\StellaOps.Feedser.BinaryAnalysis.csproj" />
</ItemGroup>
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<RootNamespace>feedser_harness</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,40 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Feedser.BinaryAnalysis.Tests -> C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 26, Skipped: 0, Total: 26, Duration: 286ms - StellaOps.Feedser.BinaryAnalysis.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.BinaryAnalysis.Tests\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,10 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.02

View File

@@ -0,0 +1,41 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.TestKit -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.TestKit\bin\Release\net10.0\StellaOps.TestKit.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Feedser.Core.Tests -> C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 81, Skipped: 0, Total: 81, Duration: 467ms - StellaOps.Feedser.Core.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Feedser\__Tests\StellaOps.Feedser.Core.Tests\bin\Release\net10.0\StellaOps.Feedser.Core.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,12 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
feedser-harness -> C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\feedser\epss-signal-ready-layer\run-002\evidence\feedser-harness\bin\Release\net10.0\feedser-harness.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.36

View File

@@ -0,0 +1,2 @@
{"epssAvailable":true,"epssNotFound":true,"kevAvailable":true,"kevNotInKev":true,"hunkDeterministic":true,"fingerprintsDeterministic":true,"emittedEvents":3,"fingerprintValues":["InstructionHash:4c4d6fba7a5991b19ae751f5344aea844f798f2e6d8e2094cc44d3f0622a9bdc","TLSH:abf173d5cc01fc4dba4b654eb6d0b6c8366fbe4059188dd9ea56db7bb44c9577"],"utcNow":"2026-01-07T12:00:00+00:00"}

View File

@@ -0,0 +1,2 @@
{"epssAvailable":true,"epssNotFound":true,"kevAvailable":true,"kevNotInKev":true,"hunkDeterministic":true,"fingerprintsDeterministic":true,"emittedEvents":3,"fingerprintValues":["InstructionHash:4c4d6fba7a5991b19ae751f5344aea844f798f2e6d8e2094cc44d3f0622a9bdc","TLSH:abf173d5cc01fc4dba4b654eb6d0b6c8366fbe4059188dd9ea56db7bb44c9577"],"utcNow":"2026-01-07T12:00:00+00:00"}

View File

@@ -0,0 +1,55 @@
{
"module": "feedser",
"feature": "epss-signal-ready-layer",
"runId": "run-002",
"checkedAtUtc": "2026-02-11T07:42:04.5604529Z",
"filesChecked": [
"src/Feedser/StellaOps.Feedser.Core/Signals/EpssSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/KevSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/FunctionSignatureExtractor.cs",
"src/Feedser/StellaOps.Feedser.Core/HunkSigExtractor.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/BinaryFingerprintFactory.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/InstructionHashFingerprinter.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/SimplifiedTlshFingerprinter.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/Signals/EpssSignalAttacherTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/Signals/KevSignalAttacherTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/FunctionSignatureExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/HunkSigExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/BinaryFingerprintTests.cs"
],
"found": [
"src/Feedser/StellaOps.Feedser.Core/Signals/EpssSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/Signals/KevSignalAttacher.cs",
"src/Feedser/StellaOps.Feedser.Core/FunctionSignatureExtractor.cs",
"src/Feedser/StellaOps.Feedser.Core/HunkSigExtractor.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/BinaryFingerprintFactory.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/InstructionHashFingerprinter.cs",
"src/Feedser/StellaOps.Feedser.BinaryAnalysis/Fingerprinters/SimplifiedTlshFingerprinter.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/Signals/EpssSignalAttacherTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/Signals/KevSignalAttacherTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/FunctionSignatureExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/HunkSigExtractorTests.cs",
"src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/BinaryFingerprintTests.cs"
],
"missing": [
],
"declarationsChecked": [
{
"found": true,
"name": "EpssSignalAttacher",
"file": "src/Feedser/StellaOps.Feedser.Core/Signals/EpssSignalAttacher.cs"
},
{
"found": true,
"name": "KevSignalAttacher",
"file": "src/Feedser/StellaOps.Feedser.Core/Signals/KevSignalAttacher.cs"
},
{
"found": true,
"name": "BinaryFingerprintFactory",
"file": "src/Feedser/StellaOps.Feedser.BinaryAnalysis/BinaryFingerprintFactory.cs"
}
],
"verdict": "pass"
}

View File

@@ -0,0 +1,26 @@
{
"project": "src/Feedser/StellaOps.Feedser.Core/StellaOps.Feedser.Core.csproj",
"buildResult": "pass",
"testResult": "pass",
"command": "dotnet build src/Feedser/StellaOps.Feedser.Core/StellaOps.Feedser.Core.csproj -c Release --nologo; dotnet test src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/StellaOps.Feedser.Core.Tests.csproj -c Release --nologo; dotnet test src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/StellaOps.Feedser.BinaryAnalysis.Tests.csproj -c Release --nologo",
"testProjects": [
"src/Feedser/__Tests/StellaOps.Feedser.Core.Tests/StellaOps.Feedser.Core.Tests.csproj",
"src/Feedser/__Tests/StellaOps.Feedser.BinaryAnalysis.Tests/StellaOps.Feedser.BinaryAnalysis.Tests.csproj"
],
"testsRun": 107,
"testsPassed": 107,
"testsFailed": 0,
"environment": {
"dockerInfoExitCode": 0,
"dockerInfoEvidence": "docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/docker-info.txt",
"dockerPsExitCode": 0,
"dockerPsEvidence": "docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/docker-ps.txt"
},
"errors": [
],
"warnings": [
],
"runAtUtc": "2026-02-11T07:42:24.5156198Z"
}

View File

@@ -0,0 +1,79 @@
{
"type": "integration",
"module": "feedser",
"feature": "epss-signal-ready-layer",
"runId": "run-002",
"capturedAtUtc": "2026-02-11T07:43:29.2837221Z",
"commands": [
{
"description": "Build feedser behavioral harness",
"command": "dotnet build docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/feedser-harness/feedser-harness.csproj -c Release --nologo",
"expectedExitCode": 0,
"actualExitCode": 0,
"commandCapturedAtUtc": "2026-02-11T07:43:29.2837221Z",
"evidence": "docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/tier2-harness-build-output.txt",
"result": "pass"
},
{
"description": "Run harness (pass 1) to exercise EPSS/KEV attachers and deterministic signature/fingerprint extraction",
"command": "dotnet docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/feedser-harness/bin/Release/net10.0/feedser-harness.dll",
"expectedExitCode": 0,
"actualExitCode": 0,
"commandCapturedAtUtc": "2026-02-11T07:43:28.9528960Z",
"evidence": "docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/tier2-harness-run-1-output.txt",
"result": "pass"
},
{
"description": "Run harness (pass 2) to confirm deterministic repeat behavior",
"command": "dotnet docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/feedser-harness/bin/Release/net10.0/feedser-harness.dll",
"expectedExitCode": 0,
"actualExitCode": 0,
"commandCapturedAtUtc": "2026-02-11T07:43:29.1151652Z",
"evidence": "docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/tier2-harness-run-2-output.txt",
"result": "pass"
}
],
"behaviorVerified": [
"EPSS available path returns signal score and EPSS not-found path returns SignalStatus.NotFound.",
"KEV available path returns IsInKev=true and KEV missing path returns IsInKev=false.",
"Hunk signature extraction is deterministic across repeated calls for the same diff input.",
"Binary fingerprint extraction yields identical method/value pairs across repeated runs."
],
"harnessSummary": {
"run2": {
"epssAvailable": true,
"epssNotFound": true,
"kevAvailable": true,
"kevNotInKev": true,
"hunkDeterministic": true,
"fingerprintsDeterministic": true,
"emittedEvents": 3,
"fingerprintValues": [
"InstructionHash:4c4d6fba7a5991b19ae751f5344aea844f798f2e6d8e2094cc44d3f0622a9bdc",
"TLSH:abf173d5cc01fc4dba4b654eb6d0b6c8366fbe4059188dd9ea56db7bb44c9577"
],
"utcNow": "2026-01-07T12:00:00+00:00"
},
"run1": {
"epssAvailable": true,
"epssNotFound": true,
"kevAvailable": true,
"kevNotInKev": true,
"hunkDeterministic": true,
"fingerprintsDeterministic": true,
"emittedEvents": 3,
"fingerprintValues": [
"InstructionHash:4c4d6fba7a5991b19ae751f5344aea844f798f2e6d8e2094cc44d3f0622a9bdc",
"TLSH:abf173d5cc01fc4dba4b654eb6d0b6c8366fbe4059188dd9ea56db7bb44c9577"
],
"utcNow": "2026-01-07T12:00:00+00:00"
},
"fingerprintValuesEqual": true
},
"evidence": [
"docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/tier2-harness-build-output.txt",
"docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/tier2-harness-run-1-output.txt",
"docs/qa/feature-checks/runs/feedser/epss-signal-ready-layer/run-002/evidence/tier2-harness-run-2-output.txt"
],
"verdict": "pass"
}