Structured OperationFailure, BatchItemResult, and BatchOperationResult envelopes

This commit is contained in:
2026-05-06 10:26:37 +02:00
parent df3b43d311
commit 48dffedc09
9 changed files with 603 additions and 62 deletions

View File

@@ -4,7 +4,7 @@ type: workplan
title: "Asset Registry Governance And Durable State"
domain: markitect
repo: kontextual-engine
status: active
status: done
owner: codex
topic_slug: markitect
planning_priority: high
@@ -66,9 +66,13 @@ SQLite repositories, policy gateway boundary, audit events, versions,
representations, metadata records, context entities, asset/context
relationships, idempotent asset creation, and custom metadata schema
validation before registry writes. It now also includes a durable metadata
schema registry and assignment rules for policy-selected validation. Remaining
work in this workplan is concentrated on broader audit/error coverage, durable
policy assignment details, and batch partial-failure envelopes.
schema registry and assignment rules for policy-selected validation, structured
operation failures, metadata batch partial-failure envelopes, and durable
SQLite reference checks for versions, audit actors, ingestion job actors,
metadata schema assignments, and relationship targets. This foundation
workplan is complete; enterprise policy adapters, richer policy-assignment
language, and production concurrency controls are intentionally left to
adjacent workplans.
## G5.1 - Implement stable asset identity and source references
@@ -153,7 +157,7 @@ Acceptance:
```task
id: KONT-WP-0005-T005
status: in_progress
status: done
priority: high
state_hub_task_id: "3d2e98a1-3312-452a-a5f1-f7a73234b45b"
```
@@ -164,16 +168,27 @@ Acceptance:
- Asset create, ingest, update, delete/retire, metadata, relationship,
permission, query, transformation, workflow, export, and agent operations can
emit audit events.
emit audit events through the shared audit primitives as those operation
services land.
- Structured errors include code, message, correlation ID, operation, and
remediation hint where practical.
- Partial failures are represented for batch operations.
Implemented registry baseline:
- Registry mutations emit correlated audit events with `success`, `denied`, and
`partial` outcomes where applicable.
- `OperationFailure`, `BatchItemResult`, and `BatchOperationResult` provide the
reusable structured error and batch envelope primitives.
- Metadata batch updates return per-item diagnostics, preserve successful
writes, skip failed writes, and emit a final batch audit event with counts and
failed item IDs.
## G5.6 - Implement durable SQLite repository for registry state
```task
id: KONT-WP-0005-T006
status: in_progress
status: done
priority: high
state_hub_task_id: "de155d02-3123-42da-8ede-f111bec62747"
```
@@ -188,6 +203,18 @@ Acceptance:
versions, and audit references.
- The in-memory backend remains useful for deterministic unit tests.
Implemented registry baseline:
- SQLite persists assets, representations, metadata records, metadata schemas,
schema assignments, context entities, relationships, versions, audit events,
idempotency records, and ingestion jobs.
- SQLite reload tests cover asset state, relationships, context entities,
idempotency, schema assignments, metadata filters, ingestion jobs, and batch
partial audit state.
- Direct durable reference failures for versions, audit actors, and ingestion
job actors raise structured `ValidationError` diagnostics instead of leaking
raw SQLite integrity errors.
## G5.7 - Implement versioning change history conflict and idempotency semantics
```task