Add tests for SBOM generation determinism across multiple formats

- Created `StellaOps.TestKit.Tests` project for unit tests related to determinism.
- Implemented `DeterminismManifestTests` to validate deterministic output for canonical bytes and strings, file read/write operations, and error handling for invalid schema versions.
- Added `SbomDeterminismTests` to ensure identical inputs produce consistent SBOMs across SPDX 3.0.1 and CycloneDX 1.6/1.7 formats, including parallel execution tests.
- Updated project references in `StellaOps.Integration.Determinism` to include the new determinism testing library.
This commit is contained in:
master
2025-12-23 18:56:12 +02:00
parent 7ac70ece71
commit bc4318ef97
88 changed files with 6974 additions and 1230 deletions

View File

@@ -0,0 +1,49 @@
# AOC observability
Purpose
- Monitor Aggregation-Only ingestion for Concelier and Excititor.
- Provide deterministic metrics, traces, and logs for AOC guardrails.
Core metrics
- ingestion_write_total{source,tenant,result}
- ingestion_latency_seconds{source,tenant,phase}
- aoc_violation_total{source,tenant,code}
- ingestion_signature_verified_total{source,tenant,result}
- advisory_revision_count{source,tenant}
- verify_runs_total{tenant,initiator}
- verify_duration_seconds{tenant,initiator}
Alert guidance
- Violation spike: increase(aoc_violation_total[15m]) > 0 for critical sources.
- Stale ingestion: no growth in ingestion_write_total for > 60 minutes.
- Signature drop: rising ingestion_signature_verified_total{result="fail"}.
Health snapshot endpoint
- GET /obs/excititor/health returns ingest, link, signature, conflict status.
- Settings control warning and critical thresholds for lag, coverage, and conflict ratio.
Trace taxonomy
- ingest.fetch, ingest.transform, ingest.write
- aoc.guard for violations
- verify.run for verification jobs
Log fields
- traceId, tenant, source.vendor, upstream.upstreamId
- contentHash, violation.code, verification.window
- Correlation headers: X-Stella-TraceId, X-Stella-CorrelationId
Advisory AI chunk metrics
- advisory_ai_chunk_requests_total
- advisory_ai_chunk_latency_milliseconds
- advisory_ai_chunk_segments
- advisory_ai_chunk_sources
- advisory_ai_guardrail_blocks_total
Dashboards
- AOC ingestion health: sources overview, violations, signature rate, supersedes depth.
- Offline mode dashboard from offline snapshots.
Offline posture
- Metrics exporters write to local Prometheus snapshots in offline kits.
- CLI verification reports are hashed and archived.
- Dashboards support offline data sources.