docs re-org, audit fixes, build fixes

This commit is contained in:
StellaOps Bot
2026-01-05 09:35:33 +02:00
parent eca4e964d3
commit dfab8a29c3
173 changed files with 1276 additions and 560 deletions

View File

@@ -165,14 +165,14 @@ internal static class NoiseGatingApiMapper
VulnerabilityId: entry.VulnerabilityId,
ProductKey: entry.ProductKey,
FromStatus: entry.FromStatus?.ToString(),
ToStatus: entry.ToStatus?.ToString(),
ToStatus: entry.ToStatus.ToString(),
FromConfidence: entry.FromConfidence,
ToConfidence: entry.ToConfidence,
Justification: entry.Justification?.ToString(),
FromRationaleClass: entry.FromRationaleClass,
ToRationaleClass: entry.ToRationaleClass,
Summary: entry.Summary,
ContributingSources: entry.ContributingSources?.ToList(),
ContributingSources: entry.ContributingSources.IsDefaultOrEmpty ? null : entry.ContributingSources.ToList(),
CreatedAt: entry.Timestamp);
}

View File

@@ -57,16 +57,27 @@ public sealed class NoiseGateService : INoiseGate
if (!opts.EdgeDeduplicationEnabled || !opts.Enabled)
{
// Return edges without deduplication - create minimal deduplicated wrappers
var passthrough = edges.Select(e => new DeduplicatedEdgeBuilder(
e.From, e.To, e.Why.Type, e.Why.Loc)
.WithConfidence(e.Why.Confidence)
.Build())
.ToList();
var passthrough = edges.Select(e =>
{
var key = new EdgeSemanticKey(e.From, e.To);
var builder = new DeduplicatedEdgeBuilder(key, e.From, e.To);
builder.AddSource(
"passthrough",
e.Why,
e.Why.Confidence,
_timeProvider.GetUtcNow());
return builder.Build();
}).ToList();
return Task.FromResult<IReadOnlyList<DeduplicatedEdge>>(passthrough);
}
var result = _edgeDeduplicator.Deduplicate(edges);
var result = _edgeDeduplicator.Deduplicate(
edges,
e => new EdgeSemanticKey(e.From, e.To),
e => "deduplicated",
e => e.Why.Confidence,
e => _timeProvider.GetUtcNow());
return Task.FromResult(result);
}
@@ -438,13 +449,13 @@ public sealed class NoiseGateService : INoiseGate
// Add sorted edges
var sortedEdges = edges
.OrderBy(e => e.SemanticKey, StringComparer.Ordinal)
.OrderBy(e => e.Key.ComputeKey(), StringComparer.Ordinal)
.ToList();
foreach (var edge in sortedEdges)
{
sb.Append('|');
sb.Append(edge.SemanticKey);
sb.Append(edge.Key.ComputeKey());
}
// Add sorted verdicts