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

@@ -58,3 +58,50 @@ The `StellaOpsMirror` connector in Concelier handles:
* Concelier: `../concelier/architecture.md`
* AirGap: `../airgap/architecture.md`
* Provenance observers: `./provenance/observers.md`
---
## 3) Mirror Creator Core (2026-02-08)
Sprint `SPRINT_20260208_041_Mirror_mirror_creator` adds a deterministic core library at:
- `src/Mirror/StellaOps.Mirror.Creator/StellaOps.Mirror.Creator.Core.csproj`
### Implemented Contracts
- `IMirrorCreatorService`
- `UpsertSourceAsync(MirrorSourceConfiguration source, CancellationToken cancellationToken = default)`
- `GetSourcesAsync(string tenantId, CancellationToken cancellationToken = default)`
- `CreateSyncPlanAsync(MirrorSyncRequest request, CancellationToken cancellationToken = default)`
- `RecordSyncResultAsync(MirrorSyncResult result, CancellationToken cancellationToken = default)`
- Model types in `MirrorModels.cs`:
- `MirrorSourceConfiguration`
- `MirrorSyncRequest`
- `MirrorSyncPlan` and `MirrorSyncPlanItem`
- `MirrorSyncResult`
- `MirrorContentKind` and `MirrorSyncMode`
- Options in `MirrorCreatorOptions` with configurable `OutputRoot`.
- DI registration in `MirrorServiceCollectionExtensions.AddMirrorCreator(...)`.
### Determinism Guarantees
- Tenant and source IDs are normalized to lowercase-trimmed values.
- Source ordering is stable (ordinal sort by source ID per tenant).
- Plan IDs are generated from canonical plan content using SHA-256.
- Output bundle path format is stable:
- `<outputRoot>/<tenant>/<source>/<yyyyMMddHHmmss>.bundle.json`
- Sync mode behavior:
- `Full` when no prior cursor exists.
- `Incremental` after successful cursor recording via `RecordSyncResultAsync`.
### Test Evidence
- Test project: `src/Mirror/__Tests/StellaOps.Mirror.Creator.Core.Tests/`
- Executed: `dotnet test src/Mirror/__Tests/StellaOps.Mirror.Creator.Core.Tests/StellaOps.Mirror.Creator.Core.Tests.csproj`
- Result on 2026-02-08: Passed `4/4` tests.
### Current Boundaries
- Implementation is currently in-memory and does not persist checkpoints to a backing store.
- No dedicated HTTP endpoints or CLI command group are added in this sprint.
- Runtime mirror transport/execution remains the responsibility of future integration work.