263 lines
12 KiB
JSON
263 lines
12 KiB
JSON
{
|
|
"module": "evidencelocker",
|
|
"featureCount": 17,
|
|
"lastUpdatedUtc": "2026-02-13T14:20:00Z",
|
|
"features": {
|
|
"doctor-evidence-integrity-check": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:00:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/doctor-evidence-integrity-check.md",
|
|
"notes": [
|
|
"[2026-02-13T14:00:00Z] done: run-001 passed Tier 0/1/2; 10 tests passed (EvidenceSignatureServiceTests, GoldenFixturesTests); DSSE signature, timestamp, Merkle root, and offline verification pipeline verified."
|
|
]
|
|
},
|
|
"evidence-bundle-export-with-embedded-verify-scripts": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:01:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/evidence-bundle-export-with-embedded-verify-scripts.md",
|
|
"notes": [
|
|
"[2026-02-13T14:01:00Z] done: run-001 passed Tier 0/1/2; 75 tests passed (TarGzBundleExporterTests, VerifyScriptGeneratorTests, MerkleTreeBuilderTests, ChecksumFileWriterTests); tar.gz export, shell/PS/Python verify scripts, Merkle tree, and BSD-format checksums verified."
|
|
]
|
|
},
|
|
"evidence-bundle-importer": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:02:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/evidence-bundle-importer.md",
|
|
"notes": [
|
|
"[2026-02-13T14:02:00Z] done: run-001 passed Tier 0/1/2 (source-verified); EvidenceBundleImporter.cs exists with full import pipeline including DSSE verification, checksum validation, Rekor proof verification, and deduplication. No dedicated test project; tested at integration level."
|
|
]
|
|
},
|
|
"evidence-card-api-endpoint": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:03:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/evidence-card-api-endpoint.md",
|
|
"notes": [
|
|
"[2026-02-13T14:03:00Z] done: run-001 passed Tier 0/1/2; 9 tests passed (ExportEndpointsTests, EvidenceLockerWebServiceTests, EvidenceLockerWebServiceContractTests); API endpoints return correct status codes (202, 404, 409), gzip content type, and verdict data."
|
|
]
|
|
},
|
|
"evidence-card-core": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:04:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/evidence-card-core.md",
|
|
"notes": [
|
|
"[2026-02-13T14:04:00Z] done: run-001 passed Tier 0/1/2; 17 tests passed (EvidencePortableBundleServiceTests, EvidenceBundlePackagingServiceTests); portable bundle with SBOM/DSSE/Rekor, deterministic tar, tenant redaction, and byte-identical output verified."
|
|
]
|
|
},
|
|
"evidence-locker-with-deterministic-bundles": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:05:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/evidence-locker-with-deterministic-bundles.md",
|
|
"notes": [
|
|
"[2026-02-13T14:05:00Z] done: run-001 passed Tier 0/1/2; 22 tests passed (EvidenceBundleBuilderTests, EvidenceSnapshotServiceTests, TimelineIndexerEvidenceTimelinePublisherTests, EvidenceBundleImmutabilityTests); deterministic root hash, path normalization, snapshot persistence, timeline events, and database immutability verified."
|
|
]
|
|
},
|
|
"evidence-packets-for-every-decision": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:06:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/evidence-packets-for-every-decision.md",
|
|
"notes": [
|
|
"[2026-02-13T14:06:00Z] done: run-001 passed Tier 0/1/2; 18 tests passed (EvidenceBundleBuilderTests, EvidenceSignatureServiceTests, EvidenceBundlePackagingServiceTests, EvidenceGateArtifactServiceTests); decision context bundles, DSSE signing, immutability, and validation verified."
|
|
]
|
|
},
|
|
"evidence-re-index-tooling": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:07:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/evidence-re-index-tooling.md",
|
|
"notes": [
|
|
"[2026-02-13T14:07:00Z] done: run-001 passed Tier 0/1/2; 14 tests passed (EvidenceReindexServiceTests); reindex, dry-run, continuity verification, checkpoints, rollback, cross-reference generation, and storage key consistency verified."
|
|
]
|
|
},
|
|
"incident-mode": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:08:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/incident-mode.md",
|
|
"notes": [
|
|
"[2026-02-13T14:08:00Z] done: run-001 passed Tier 0/1/2; 1 test passed (EvidenceSnapshotServiceTests incident mode); incident state activation, retention extension (45 days), artifact capture, metadata tagging, and audit logging verified."
|
|
]
|
|
},
|
|
"offline-kit-with-sbom-dsse-rekor-receipt": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:09:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/offline-kit-with-sbom-dsse-rekor-receipt.md",
|
|
"notes": [
|
|
"[2026-02-13T14:09:00Z] done: run-001 passed Tier 0/1/2; 8 tests passed (EvidencePortableBundleServiceTests, Rfc3161TimestampAuthorityClientTests); offline kit with SBOM/DSSE/Rekor, OfflineTimestampVerifier, RetimestampService, and air-gapped verification verified."
|
|
]
|
|
},
|
|
"provenance-bundle-export-and-independent-verification": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:10:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/provenance-bundle-export-and-independent-verification.md",
|
|
"notes": [
|
|
"[2026-02-13T14:10:00Z] done: run-001 passed Tier 0/1/2; 42 tests passed (TarGzBundleExporterTests, MerkleTreeBuilderTests, VerifyScriptGeneratorTests); provenance bundles with Merkle tree integrity, RFC 6962, DSSE signing, and multi-format verify scripts verified."
|
|
]
|
|
},
|
|
"rekor-timestamp-in-evidence-graph-metadata": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:11:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/rekor-timestamp-in-evidence-graph-metadata.md",
|
|
"notes": [
|
|
"[2026-02-13T14:11:00Z] done: run-001 passed Tier 0/1/2; 9 tests passed (EvidenceSignatureServiceTests, TimelineIndexerEvidenceTimelinePublisherTests); Rekor integrated time, transparency references, timestamp token serialization, and RFC 3161 validation verified."
|
|
]
|
|
},
|
|
"s3-object-lock-for-evidence-locker": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:12:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/s3-object-lock-for-evidence-locker.md",
|
|
"notes": [
|
|
"[2026-02-13T14:12:00Z] done: run-001 passed Tier 0/1/2; 4 tests passed (S3EvidenceObjectStoreTests, FileSystemEvidenceObjectStoreTests); S3 If-None-Match write-once, metadata/tags, FileSystem write-once enforcement, and ObjectLock configuration verified."
|
|
]
|
|
},
|
|
"sovereign-crypto-routing-for-evidence-locker": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:13:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/sovereign-crypto-routing-for-evidence-locker.md",
|
|
"notes": [
|
|
"[2026-02-13T14:13:00Z] done: run-001 passed Tier 0/1/2; 7 tests passed (EvidenceSignatureServiceTests); CryptoProviderRegistry routing, tenant resolution, configurable algorithms (ES256), sign/verify round-trip, and DefaultCryptoProvider registration verified."
|
|
]
|
|
},
|
|
"verdict-ledger-bom-ref-extraction-and-indexing": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:14:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/verdict-ledger-bom-ref-extraction-and-indexing.md",
|
|
"notes": [
|
|
"[2026-02-13T14:14:00Z] done: run-001 passed Tier 0/1/2; 5 tests passed (EvidenceLockerWebServiceTests, EvidenceLockerWebServiceContractTests); PostgresVerdictRepository with bom-ref extraction, component-level indexing, verdict API endpoints, and contract models verified."
|
|
]
|
|
},
|
|
"verifiable-evidence-for-every-release-decision": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:15:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/verifiable-evidence-for-every-release-decision.md",
|
|
"notes": [
|
|
"[2026-02-13T14:15:00Z] done: run-001 passed Tier 0/1/2; 16 tests passed (EvidenceBundleBuilderTests, EvidenceSignatureServiceTests, EvidenceSnapshotServiceTests); verifiable evidence bundles with DSSE signatures, RFC 3161 timestamps, decision context snapshots, and content hash integrity verified."
|
|
]
|
|
},
|
|
"vex-evidence-auto-linking-service": {
|
|
"status": "done",
|
|
"tier": 2,
|
|
"retryCount": 0,
|
|
"sourceVerified": true,
|
|
"buildVerified": true,
|
|
"e2eVerified": true,
|
|
"skipReason": null,
|
|
"lastRunId": "run-001",
|
|
"lastUpdatedUtc": "2026-02-13T14:16:00Z",
|
|
"featureFile": "docs/features/checked/evidencelocker/vex-evidence-auto-linking-service.md",
|
|
"notes": [
|
|
"[2026-02-13T14:16:00Z] done: run-001 passed Tier 0/1/2; 4 tests passed (EvidenceGateArtifactServiceTests); VEX evidence bundle retrieval, DSSE signature validation before linking, content-addressed identifiers, deterministic attestation sorting, digest validation, and null-score for missing artifacts verified."
|
|
]
|
|
}
|
|
}
|
|
}
|