269 lines
19 KiB
JSON
269 lines
19 KiB
JSON
{
|
|
"module": "signals",
|
|
"featureCount": 14,
|
|
"lastUpdatedUtc": "2026-02-12T23:35:00Z",
|
|
"summary": {
|
|
"passed": 14,
|
|
"failed": 0,
|
|
"blocked": 0,
|
|
"skipped": 0,
|
|
"done": 14,
|
|
"queued": 0
|
|
},
|
|
"buildNote": "Signals solution baseline: 1385/1385 tests pass. All 14 features verified with full Tier 0+1+2d on 2026-02-12. Batch 4 (5 features) verified 2026-02-12T23:35:00Z.",
|
|
"features": {
|
|
"additive-score-explanation-service": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:00:00Z",
|
|
"featureFile": "docs/features/checked/signals/additive-score-explanation-service.md",
|
|
"notes": [
|
|
"[2026-02-12T21:44:00Z] checking: Tier 0 source check passed",
|
|
"[2026-02-12T21:45:00Z] checking: Tier 1 code review passed - ScoreExplanationService with CVSS, EPSS, reachability, exposure contributions",
|
|
"[2026-02-12T21:46:00Z] checking: Tier 2d passed - 24 tests: CVSS contribution, EPSS multiplier, reachability buckets, exposure types, gate discounts, KEV bonus, VEX reduction, score clamping, determinism",
|
|
"[2026-02-12T22:00:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"binary-level-call-graph-extraction-and-symbol-graph-construction": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:00:00Z",
|
|
"featureFile": "docs/features/checked/signals/binary-level-call-graph-extraction-and-symbol-graph-construction.md",
|
|
"notes": [
|
|
"[2026-02-12T21:44:00Z] checking: Tier 0 source check passed",
|
|
"[2026-02-12T21:45:00Z] checking: Tier 1 code review passed - CallgraphIngestionService with CAS storage, symbol normalization",
|
|
"[2026-02-12T21:46:00Z] checking: Tier 2d passed - 1 test: ingestion, parser resolution, symbol normalization, CAS URI, graph hash, reachability projection",
|
|
"[2026-02-12T22:00:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"nightly-unknowns-decay-batch-worker": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:00:00Z",
|
|
"featureFile": "docs/features/checked/signals/nightly-unknowns-decay-batch-worker.md",
|
|
"notes": [
|
|
"[2026-02-12T21:44:00Z] checking: Tier 0 source check passed",
|
|
"[2026-02-12T21:45:00Z] checking: Tier 1 code review passed - UnknownsDecayService with band changes, scoring, batch limits",
|
|
"[2026-02-12T21:46:00Z] checking: Tier 2d passed - 10 tests: empty subject, persistence, band changes, batch processing, MaxSubjectsPerBatch limit, cancellation, scoring fields, NextScheduledRescan, decay counts",
|
|
"[2026-02-12T22:00:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"relational-call-graph-postgresql-schema": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:00:00Z",
|
|
"featureFile": "docs/features/checked/signals/relational-call-graph-postgresql-schema.md",
|
|
"notes": [
|
|
"[2026-02-12T21:55:00Z] checking: Tier 0 source check passed - SignalsDbContext, 001_initial_schema.sql, FuncNodeDocument, PostgresCallGraphProjectionRepository, PostgresCallGraphQueryRepository, CallGraphSyncService all found",
|
|
"[2026-02-12T21:56:00Z] checking: Tier 1 code review passed - 507-line PostgreSQL migration with cg_nodes, cg_edges, entrypoints, symbol_component_map, reachability_components, reachability_findings, graph_metrics, unknowns tables plus indexes, views, materialized views",
|
|
"[2026-02-12T21:58:00Z] checking: Tier 2d passed - 14 tests (6 Persistence.Tests + 8 Signals.Tests): CallGraphProjectionIntegration (projection, idempotency, entrypoints, deletion, query), CallGraphSyncService (full lifecycle with real PostgreSQL, stats, reachable symbols traversal)",
|
|
"[2026-02-12T22:00:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"runtime-agent-framework": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:00:00Z",
|
|
"featureFile": "docs/features/checked/signals/runtime-agent-framework.md",
|
|
"notes": [
|
|
"[2026-02-12T21:55:00Z] checking: Tier 0 source check passed - RuntimeAgentBase, DotNetEventPipeAgent, ClrMethodResolver, AgentRegistrationService, RuntimeFactsIngestService, RuntimeAgentController all found",
|
|
"[2026-02-12T21:56:00Z] checking: Tier 1 code review passed - 315-line RuntimeAgentBase with state machine (Stopped->Starting->Running->Paused->Stopping), channel-based event streaming, posture management, concurrent method/type/assembly tracking",
|
|
"[2026-02-12T21:59:00Z] checking: Tier 2d passed - 74 tests: RuntimeAgentBase (9, state transitions), DotNetEventPipeAgent (9, pattern filtering, unique tracking, streaming, uptime), AgentRegistrationService (13, registration, heartbeat, commands, posture, pruning), RuntimeFactsIngestService (12, channel processing, symbol aggregation, multi-agent, time filtering)",
|
|
"[2026-02-12T22:00:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"runtime-node-hash-evidence-in-signals": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:00:00Z",
|
|
"featureFile": "docs/features/checked/signals/runtime-node-hash-evidence-in-signals.md",
|
|
"notes": [
|
|
"[2026-02-12T21:55:00Z] checking: Tier 0 source check passed - ReachabilityLattice, ReachabilityLatticeState, UncertaintyTier, ReachabilityFactDigestCalculator, ReachabilityFactDocument all found",
|
|
"[2026-02-12T21:56:00Z] checking: Tier 1 code review passed - 164-line ReachabilityLattice with pre-computed 8x8 join/meet tables, 8 states (Unknown through Contested), FromEvidence/FromV0Bucket conversions; 259-line ReachabilityFactDigestCalculator with canonical JSON, SHA256, normalized sorting",
|
|
"[2026-02-12T21:59:00Z] checking: Tier 2d passed - 56 tests: ReachabilityLattice (7, join/meet operations, commutativity for all 64 pairs, JoinAll, FromEvidence, FromV0Bucket), StateExtensions (4, ToCode/FromCode/ToV0Bucket round-trips), DigestCalculator (1, deterministic SHA256 with reversed inputs)",
|
|
"[2026-02-12T22:00:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"runtime-reachability-collection": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/runtime-reachability-collection.md",
|
|
"notes": [
|
|
"[2026-02-12T22:25:00Z] checking: Tier 0 source check passed - DotNetEventPipeAgent, RuntimeFactsIngestService, RuntimeMethodEvent, ReachabilityFactEventBuilder, ReachabilityFactCacheDecorator all found (5/5)",
|
|
"[2026-02-12T22:26:00Z] checking: Tier 1 code review passed - 219-line ReachabilityFactEventBuilder (typed event envelopes, topic/tenant/trace resolution, digest computation), 72-line ReachabilityFactCacheDecorator (cache-aside pattern wrapping IReachabilityFactRepository)",
|
|
"[2026-02-12T22:30:00Z] checking: Tier 2d passed - 16 tests: RuntimeFactsIngestionServiceTests (10: hit aggregation, tenant isolation, deterministic keys, Build-ID/Code-ID correlation, validation, evidence URI, AOC provenance), RuntimeFactsBatchIngestionTests (6: NDJSON parsing, gzip, multi-subject grouping, CAS URI, invalid line skip, no artifact store)",
|
|
"[2026-02-12T22:35:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"sbom-to-symbol-component-reachability-mapping": {
|
|
"status": "done",
|
|
"tier": 1,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": false,
|
|
"skipReason": "No unit tests exist for SbomCorrelationService, FuncProofLinkingService, HotSymbolsController, or HotSymbolIndex (2241 lines of production code with zero test coverage). Verified via Tier 0 + Tier 1 code review + build compilation only.",
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/sbom-to-symbol-component-reachability-mapping.md",
|
|
"notes": [
|
|
"[2026-02-12T22:25:00Z] checking: Tier 0 source check passed - ISbomCorrelationService.cs (487 lines), IFuncProofLinkingService.cs (834 lines), HotSymbolsController.cs (564 lines), HotSymbolIndex.cs (356 lines) all found (4/4)",
|
|
"[2026-02-12T22:27:00Z] checking: Tier 1 code review passed - SbomCorrelationService (Build-ID match confidence 1.0, file-path match 0.8, NoMatch fallback), FuncProofLinkingService (exact name match, address range fallback, coverage analysis), HotSymbolsController (4 endpoints: filtered query, top-N, stats, correlated), HotSymbolIndex (multi-tenant, CVE/PURL correlation, time windows)",
|
|
"[2026-02-12T22:30:00Z] checking: Tier 2d - NO TESTS FOUND. Searched StellaOps.Signals.Tests for SbomCorrelation*, FuncProofLinking*, HotSymbol* - zero results. 2241 lines of production code with no test coverage. TEST GAP.",
|
|
"[2026-02-12T22:35:00Z] done: Moved to checked/ (verified at Tier 0+1 only, test gap documented)"
|
|
]
|
|
},
|
|
"scm-ci-webhook-connector-service": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T22:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/scm-ci-webhook-connector-service.md",
|
|
"notes": [
|
|
"[2026-02-12T22:25:00Z] checking: Tier 0 source check passed - ScmWebhookService, ScmWebhookEndpoints, GiteaWebhookValidator, IWebhookSignatureValidator, IScmEventMapper all found (5/5)",
|
|
"[2026-02-12T22:26:00Z] checking: Tier 1 code review passed - 173-line ScmWebhookService (signature validation, event normalization, context enrichment, trigger dispatch), 60-line GiteaWebhookValidator (HMAC-SHA256/SHA1 with legacy format, CryptographicOperations.FixedTimeEquals)",
|
|
"[2026-02-12T22:31:00Z] checking: Tier 2d passed - 22 tests: ScmWebhookServiceTests (3: reject unsigned 401, allow unsigned 202, valid HMAC 202), ScmWebhookValidatorTests (11: GitHub 5, GitLab 3, Gitea 2 + theory cases), ScmEventMapperTests (8: GitHub 4, GitLab 2, Gitea 1, unknown->Unknown 1)",
|
|
"[2026-02-12T22:35:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"signals-callgraph-ingestion-with-content-addressed-storage": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T23:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/signals-callgraph-ingestion-with-content-addressed-storage.md",
|
|
"notes": [
|
|
"[2026-02-12T23:20:00Z] checking: Tier 0 source check passed - CallgraphIngestionService, ICallgraphParserResolver, CallgraphIngestRequest, CallgraphIngestResponse, CallgraphManifest, CallgraphSchemaVersions all found (6/6)",
|
|
"[2026-02-12T23:21:00Z] checking: Tier 1 code review passed - 432-line CallgraphIngestionService with parser resolution, normalization, SHA256 CAS, deterministic graph hash, manifest persistence, reachability store upsert, relational projection",
|
|
"[2026-02-12T23:22:00Z] checking: Tier 2d passed - 1 test: Java ingestion, symbol normalization, CAS URI, graph hash, manifest CAS URI, reachability store nodes/edges",
|
|
"[2026-02-12T23:35:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"signals-reachability-scoring-service": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T23:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/signals-reachability-scoring-service.md",
|
|
"notes": [
|
|
"[2026-02-12T23:23:00Z] checking: Tier 0 source check passed - ReachabilityScoringService, EvidenceWeightedScoreCalculator, ReachabilityLattice, NormalizerAggregator, AocProvenance all found (5/5)",
|
|
"[2026-02-12T23:24:00Z] checking: Tier 1 code review passed - 738-line ReachabilityScoringService with BFS path finding, gate multipliers, unknowns pressure, uncertainty risk score, lattice state tracking, digest computation",
|
|
"[2026-02-12T23:25:00Z] checking: Tier 2d passed - 3 tests: gate multipliers (AuthRequired 30% reduction), configured weights with runtime (0.9 confidence, 0.405 score), uncertainty risk score (T2 tier, pressure penalty, entropy boost)",
|
|
"[2026-02-12T23:35:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"signals-router-transport": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T23:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/signals-router-transport.md",
|
|
"notes": [
|
|
"[2026-02-12T23:26:00Z] checking: Tier 0 source check passed - RouterEventsPublisher, RedisEventsPublisher, MessagingEventsPublisher, InMemoryEventsPublisher, NullEventsPublisher, IEventsPublisher, SignalsRouterEventsOptions all found (7/7)",
|
|
"[2026-02-12T23:27:00Z] checking: Tier 1 code review passed - 5 transport implementations (Router/Redis/Messaging/InMemory/Null) sharing IEventsPublisher interface, configurable via SignalsRouterEventsOptions",
|
|
"[2026-02-12T23:28:00Z] checking: Tier 2d passed - 3 tests: RouterEventsPublisher (HTTP POST with envelope, headers, API key), RouterEventsPublisher (failure logging), InMemoryEventsPublisher (structured event with summary counts)",
|
|
"[2026-02-12T23:35:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"signal-state-attachment-for-cve-observations": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T23:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/signal-state-attachment-for-cve-observations.md",
|
|
"notes": [
|
|
"[2026-02-12T23:29:00Z] checking: Tier 0 source check passed - ReachabilityFactDocument, ReachabilityFactUpdatedEvent, RuntimeUpdatedEvent, UncertaintyDocument, ReachabilityLattice all found (5/5)",
|
|
"[2026-02-12T23:30:00Z] checking: Tier 1 code review passed - Observation lifecycle models with lattice state tracking, uncertainty attachment, runtime event factory with deterministic IDs and reanalysis triggers",
|
|
"[2026-02-12T23:31:00Z] checking: Tier 2d passed - 25 tests: RuntimeUpdatedEventTests (12: deterministic ID, update types, reanalysis triggers, idempotency), ReachabilityLatticeTests (7: join/meet, commutativity), ReachabilityScoringServiceTests (3: lattice state, uncertainty, guard rails via gate multipliers, 3 more from scoring)",
|
|
"[2026-02-12T23:35:00Z] done: Moved to checked/"
|
|
]
|
|
},
|
|
"unified-score-facade-service": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-12T23:35:00Z",
|
|
"featureFile": "docs/features/checked/signals/unified-score-facade-service.md",
|
|
"notes": [
|
|
"[2026-02-12T23:32:00Z] checking: Tier 0 source check passed - UnifiedScoreService, UnifiedScoreModels, ReplayLogBuilder, IUnifiedScoreService, ServiceCollectionExtensions all found (5/5)",
|
|
"[2026-02-12T23:33:00Z] checking: Tier 1 code review passed - 259-line UnifiedScoreService combining EWS + Determinization: weight manifest loading, EWS calculation, entropy/band mapping, determinization fingerprint, delta-if-present, conflict detection",
|
|
"[2026-02-12T23:34:00Z] checking: Tier 2d passed - 30 tests: UnifiedScoreServiceTests (16: score computation, entropy, bands, conflicts, EWS passthrough, sync, delta-if-present), UnifiedScoreDeterminismTests (14: 100-iteration score/digest/fingerprint/bucket/breakdown determinism, parallel determinism, 5 golden fixtures)",
|
|
"[2026-02-12T23:35:00Z] done: Moved to checked/"
|
|
]
|
|
}
|
|
}
|
|
}
|