partly or unimplemented features - now implemented
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user