partly or unimplemented features - now implemented

This commit is contained in:
master
2026-02-09 08:53:51 +02:00
parent 1bf6bbf395
commit 4bdc298ec1
674 changed files with 90194 additions and 2271 deletions

View File

@@ -0,0 +1,26 @@
# Advisory Lens (Core Library and UI)
## Status
NOT_FOUND
## Description
Proposed contextual copilot that learns from organizational data to surface explainable suggestions. Includes:
- **Core library**: Semantic case matching engine (`StellaOps.AdvisoryLens`)
- **UI components**: "Top 3 Suggestions Today" Lens Panel, inline hints, playbook drawer with dry-run preview
Not yet created; sprint tasks all at TODO status.
## Why Not Implemented
- No `StellaOps.AdvisoryLens` library found under `src/__Libraries/` or anywhere in `src/`
- No dedicated "Lens Panel", "Top 3 Suggestions", inline hint system, or playbook drawer components found in `src/Web/`
- The AdvisoryAI module (`src/AdvisoryAI/`) provides AI-powered explanation generation (evidence-anchored explanations, replay, prompt templates) but does not implement the "Advisory Lens" semantic case-matching copilot concept
- The Web UI has AI components (`src/Web/StellaOps.Web/src/app/shared/components/ai/`) including Ask Stella and AI explanation chips, but these are a different UX pattern from the Advisory Lens concept
- Likely deferred to a future phase; the AdvisoryAI module may serve as foundation for eventual Advisory Lens work
## Source
- Feature matrix scan
## Notes
- Module: __Libraries
- Modules referenced: `(planned for src/__Libraries/StellaOps.AdvisoryLens, src/Web)`
- Related existing code: `src/AdvisoryAI/` (explanation generation), `src/Web/.../shared/components/ai/` (AI chips, Ask Stella)

View File

@@ -0,0 +1,53 @@
# Provcache: Signer-Aware Invalidation, Evidence Chunk Paging, and Air-Gap Export
## Module
__Libraries (Provcache)
## Status
IMPLEMENTED
## Description
Large multi-wave feature: evidence chunk storage (with SHA-256 per-chunk verification and ChunkManifest for lazy fetching), paged evidence API (GetChunkRangeAsync), minimal proof bundle export (lite/standard/strict density), signer-aware cache invalidation (InvalidationType.SignerSetHash), feed epoch invalidation (InvalidationType.FeedEpochOlderThan), lazy evidence fetch (HTTP + sneakernet), revocation ledger with replay service, and CLI commands (stella prov export/import). Most waves DONE, but messaging bus subscription tasks and CLI e2e tests are BLOCKED pending service integration.
## What's Implemented
- **ProvcacheService**: `src/__Libraries/StellaOps.Provcache/ProvcacheService.cs` -- multi-partial: `.Get.cs` (lookup by VeriKey), `.GetOrCompute.cs` (read-through pattern), `.Set.cs` (store with TTL), `.Invalidate.cs`/`.InvalidateBy.cs` (targeted invalidation), `.Prune.cs` (expired entry cleanup), `.Metrics.cs` (telemetry), `.Tracking.cs` (usage tracking)
- **InvalidationRequest**: `src/__Libraries/StellaOps.Provcache/InvalidationRequest.cs` -- record with `Type` (InvalidationType), `Value`, `Reason`, `Actor`; factory methods: `ByPolicyHash(hash)`, `BySignerSetHash(hash)`, `ByFeedEpochOlderThan(epoch)`, `ByPattern(pattern)`
- **InvalidationType**: `src/__Libraries/StellaOps.Provcache/InvalidationType.cs` -- enum: `PolicyHash`, `SignerSetHash`, `FeedEpochOlderThan`, `Pattern`, `Expired`
- **InvalidationResult**: `src/__Libraries/StellaOps.Provcache/InvalidationResult.cs` -- result of invalidation operation
- **EvidenceChunk**: `src/__Libraries/StellaOps.Provcache/EvidenceChunk.cs` -- record: `ChunkId` (Guid), `ProofRoot` (string), `ChunkIndex` (int, zero-based), `ChunkHash` (SHA-256), `Blob` (byte[]), `BlobSize` (int), `ContentType` (MIME), `CreatedAt`
- **ChunkManifest**: `src/__Libraries/StellaOps.Provcache/ChunkManifest.cs` -- record: `ProofRoot`, `TotalChunks`, `TotalSize` (long bytes), `Chunks` (IReadOnlyList<ChunkMetadata>), `GeneratedAt`; used for lazy fetching where blobs are retrieved on demand
- **ChunkMetadata**: `src/__Libraries/StellaOps.Provcache/ChunkMetadata.cs` -- metadata-only chunk descriptor
- **IEvidenceChunkRepository**: `src/__Libraries/StellaOps.Provcache/IEvidenceChunkRepository.cs` -- interface: `GetChunksAsync(proofRoot)`, `GetChunkAsync(proofRoot, chunkIndex)`, `GetChunkRangeAsync(proofRoot, startIndex, count)` (paged retrieval), `GetManifestAsync(proofRoot)`, `StoreChunksAsync(proofRoot, chunks)`, `DeleteChunksAsync(proofRoot)`, `GetChunkCountAsync`, `GetTotalSizeAsync`
- **ValkeyProvcacheStore**: `src/__Libraries/StellaOps.Provcache.Valkey/ValkeyProvcacheStore.cs` -- multi-partial: `.Get.cs`, `.GetMany.cs`, `.GetOrSet.cs`, `.Set.cs`, `.SetMany.cs`, `.Invalidate.cs`, `.InvalidateByPattern.cs`
- **PostgresProvcacheRepository**: `src/__Libraries/StellaOps.Provcache.Postgres/PostgresProvcacheRepository.cs` -- multi-partial: `.Read.cs`, `.Upsert.cs`, `.Delete.cs`, `.DeleteFeedExpired.cs`, `.DeletePolicySigner.cs`, `.Revocations.cs`, `.Metrics.cs`, `.Mapping.cs`
- **PostgresEvidenceChunkRepository**: `src/__Libraries/StellaOps.Provcache.Postgres/PostgresEvidenceChunkRepository.cs` -- multi-partial: `.Get.cs`, `.Manifest.cs`, `.Mapping.cs`, `.Metrics.cs`, `.Range.cs`, `.Store.cs`
- **RevocationLedger**: `src/__Libraries/StellaOps.Provcache/Revocation/` -- `IRevocationLedger` (RecordAsync, GetEntriesSinceAsync, GetEntriesByTypeAsync, GetLatestSeqNoAsync, GetRevocationsForKeyAsync, GetStatsAsync), `InMemoryRevocationLedger` (multi-partial: `.Query.cs`, `.Stats.cs`), `RevocationEntry` (SeqNo, RevocationId, RevocationType, RevokedKey, Reason, EntriesInvalidated, Source, CorrelationId, RevokedAt, Metadata)
- **RevocationReplayService**: `src/__Libraries/StellaOps.Provcache/Revocation/RevocationReplayService.cs` -- multi-partial: `.Apply.cs`, `.Checkpoint.cs`, `.Process.cs`, `.Replay.cs`, `.Result.cs`, `.State.cs`
- **WriteBehindQueue**: `src/__Libraries/StellaOps.Provcache/WriteBehindQueue.cs` -- multi-partial: `.Enqueue.cs`, `.Drain.cs`, `.Batch.cs`, `.Run.cs`, `.Metrics.cs`
- **Attestation Models**: `src/__Libraries/StellaOps.Provcache/` -- `ProvcacheOciAttestationRequest.cs`, `ProvcacheOciAttestationResult.cs`, `ProvcachePredicate.cs`, `ProvcacheStatement.cs`, `ProvcacheSubject.cs` for OCI attestation integration
- **Telemetry**: `src/__Libraries/StellaOps.Provcache/ProvcacheTelemetry.cs` -- multi-partial covering activities, counters, gauges, histograms, and metrics
- **Provenance Attestation Core**: `src/Provenance/StellaOps.Provenance.Attestation/` -- full attestation library with build models, promotion attestation, signers, and verification pipeline
## What's Missing
- **SignerRevokedEvent handler**: No event handler listening for signer revocation events and invalidating cached provenance records signed by the revoked key. The signer infrastructure and `InvalidationType.SignerSetHash` exist but the messaging bus fan-out is not wired.
- **FeedEpochAdvancedEvent handler**: No event handler listening for feed epoch advancement and invalidating stale provenance cache entries referencing the previous epoch's advisory data.
- **Cross-module event bus integration**: The event-driven fan-out requires integration with the broader event bus (likely via the Scheduler or Orchestrator) which is not yet connected.
- **CLI e2e tests**: No e2e test coverage for `stella prov export/import` commands (BLOCKED pending CLI integration).
- **Air-gap export bundle with DSSE signing**: Partial -- sneakernet transport bundle needs DSSE signing for integrity verification before import.
## Implementation Plan
- Integrate messaging bus subscriptions for `SignerRevokedEvent` triggering `InvalidationRequest.BySignerSetHash()`
- Integrate messaging bus subscriptions for `FeedEpochAdvancedEvent` triggering `InvalidationRequest.ByFeedEpochOlderThan()`
- Complete air-gap export bundle with DSSE signing for offline transport
- Implement CLI e2e test coverage for provenance export/import commands
- Verify revocation replay service correctly re-applies invalidation events after restore
## Related Documentation
- Source: SPRINT_8200_0001_0002_provcache_invalidation_airgap.md
- Provenance attestation library: `src/Provenance/StellaOps.Provenance.Attestation/`
- Signer module: `src/Signer/`
- Attestor proof chain (Merkle infrastructure): `src/Attestor/__Libraries/StellaOps.Attestor.ProofChain/Merkle/`
## Merged From
- `libraries/provcache-invalidation-and-evidence-chunk-paging.md` (deleted)
- `provenance/provcache-invalidation-with-signerrevokedevent-and-feedepochadvancedevent-fan-ou.md` (deleted)