Files
git.stella-ops.org/docs/features/unchecked/excititor/vex-annotation-and-export.md

1.8 KiB

VEX annotation and export (OpenVEX + CycloneDX VEX formats)

Module

Excititor

Status

IMPLEMENTED

Description

OpenVEX, CycloneDX, and CSAF VEX normalizers plus consensus export service implement multi-format VEX annotation and export.

Implementation Details

  • Modules: src/Excititor/__Libraries/StellaOps.Excititor.Export/, src/Excititor/__Libraries/StellaOps.Excititor.Core/
  • Key Classes:
    • ExportEngine (src/Excititor/__Libraries/StellaOps.Excititor.Export/ExportEngine.cs) - multi-format VEX export engine
    • VexExportManifest (src/Excititor/__Libraries/StellaOps.Excititor.Core/VexExportManifest.cs) - manifest tracking exported VEX data
    • FileSystemArtifactStore (src/Excititor/__Libraries/StellaOps.Excititor.Export/FileSystemArtifactStore.cs) - file-based storage for exported artifacts
    • VexConsensus (src/Excititor/__Libraries/StellaOps.Excititor.Core/VexConsensus.cs) - consensus model for export
    • VexCanonicalJsonSerializer (src/Excititor/__Libraries/StellaOps.Excititor.Core/VexCanonicalJsonSerializer.cs) - canonical JSON for deterministic export
    • VexConsensusResolver (src/Excititor/__Libraries/StellaOps.Excititor.Core/VexConsensusResolver.cs) - resolves consensus before export
  • Interfaces: IVexArtifactStore, IVexExportStore
  • Source: Feature matrix scan

E2E Test Plan

  • Export VEX data in OpenVEX format via ExportEngine and verify schema compliance
  • Export VEX data in CycloneDX format and verify CycloneDX VEX schema compliance
  • Export VEX data in CSAF format and verify CSAF schema compliance
  • Verify VexExportManifest tracks all exported artifacts with content hashes
  • Verify VexCanonicalJsonSerializer produces deterministic output across repeated exports
  • Verify FileSystemArtifactStore persists exported artifacts to the configured directory