relationship persistence, context entities, idempotent asset creation, audit/version handling for relationship changes

This commit is contained in:
2026-05-06 02:09:23 +02:00
parent bf59087073
commit 286ebc3cb6
12 changed files with 651 additions and 24 deletions

View File

@@ -1,8 +1,8 @@
# Asset Registry Implementation Note
Date: 2026-05-05
Date: 2026-05-06
Status: first implementation slice for `KONT-WP-0005`.
Status: active implementation note for `KONT-WP-0005`.
## Purpose
@@ -40,6 +40,12 @@ and SQLite repositories are adapters behind those ports.
transition, and denied mutations.
- Asset version records for create, content/representation changes, metadata
changes, and lifecycle changes.
- Context entity persistence.
- Relationship persistence for asset-to-asset and asset-to-context-entity
links.
- Relationship changes create source-asset version records and audit events.
- Idempotency records for safe asset creation retries.
- Idempotency-key reuse with a different payload raises a validation error.
- In-memory repository for deterministic tests.
- SQLite repository for local-first durable asset registry state.
- SQLite foreign-key enforcement for representation and metadata asset
@@ -51,19 +57,21 @@ and SQLite repositories are adapters behind those ports.
- `assets`
- `representations`
- `metadata_records`
- `context_entities`
- `core_relationships`
- `asset_versions`
- `audit_events`
- `idempotency_records`
Payloads are stored as compact JSON envelopes while indexed columns carry
stable lookup fields such as asset ID, lifecycle, representation kind, digest,
sequence, actor ID, target, and correlation ID.
sequence, relationship source/target, actor ID, target, correlation ID, and
idempotency key.
## Not Yet Implemented
- Full custom metadata schema validation.
- Relationship persistence in the new core registry.
- Policy assignment storage and enterprise policy adapters.
- Idempotency-key persistence for mutation deduplication.
- Conflict detection beyond version-sequence uniqueness.
- Restore and supersession service operations.
- Batch partial-failure envelopes.
@@ -80,4 +88,7 @@ These remain in scope for later `KONT-WP-0005` tasks or adjacent workplans.
- SQLite reload preserving asset lifecycle, representation, metadata, versions,
and audit history,
- SQLite referential integrity for representation asset references.
- idempotent asset creation and conflicting idempotency-key reuse,
- relationship creation with source-asset versioning and audit,
- SQLite reload preserving context entities, relationships, and idempotency
records.