generated from coulomb/repo-seed
content-addressed blob storage: blob_storage.py, memory, local, and S3 adapters
This commit is contained in:
@@ -4,7 +4,7 @@ type: workplan
|
||||
title: "Blob Storage Deduplication And Content Streaming"
|
||||
domain: markitect
|
||||
repo: kontextual-engine
|
||||
status: active
|
||||
status: completed
|
||||
owner: codex
|
||||
topic_slug: markitect
|
||||
planning_priority: high
|
||||
@@ -37,6 +37,10 @@ This workplan adds content-addressed blob infrastructure and stream interfaces.
|
||||
It does not introduce AtomPub, SOAP/Web Services, chunk-level deduplication, or
|
||||
a general document-management storage model.
|
||||
|
||||
It includes an optional S3 backend as an infrastructure adapter behind the same
|
||||
blob storage port. S3 object keys are digest-derived, so object storage can be
|
||||
used without changing engine semantics or CMIS profile governance.
|
||||
|
||||
## Architecture Constraint
|
||||
|
||||
Blob bytes are infrastructure state. Engine semantics remain attached to
|
||||
@@ -48,7 +52,7 @@ engine-native content services instead of bypassing governance.
|
||||
|
||||
```task
|
||||
id: KONT-WP-0013-T001
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "6bb5b49a-cf9f-47ce-86d3-24b47a20a2c6"
|
||||
```
|
||||
@@ -66,7 +70,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0013-T002
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "661386c7-8094-4f0f-928c-c17f5b3a9132"
|
||||
```
|
||||
@@ -82,7 +86,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0013-T003
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "00bc34c5-0f79-47b6-b305-f47311edd3a7"
|
||||
```
|
||||
@@ -98,7 +102,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0013-T004
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "cc4445d9-f773-4337-afd4-aeccc743dc1e"
|
||||
```
|
||||
@@ -113,7 +117,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0013-T005
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "db0e8a2d-50ce-439c-8393-d65e2fc4bc9e"
|
||||
```
|
||||
@@ -129,7 +133,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0013-T006
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "2f1da1fb-9634-4ba6-931a-3e29394efd37"
|
||||
```
|
||||
@@ -146,7 +150,7 @@ Acceptance:
|
||||
|
||||
```task
|
||||
id: KONT-WP-0013-T007
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "987ad4f6-8658-4e93-82c2-b9fa0a3a2270"
|
||||
```
|
||||
@@ -168,3 +172,15 @@ Acceptance:
|
||||
- Existing tests continue to pass.
|
||||
- Focused dedupe/content-stream tests cover duplicate content, readback,
|
||||
policy denial, cleanup dry-run, and CMIS integration.
|
||||
|
||||
## Completion Notes
|
||||
|
||||
- Implemented `BlobStorage` port with `put_bytes`, `read_bytes`, `iter_bytes`,
|
||||
`stat`, `exists`, and `delete_unreferenced`.
|
||||
- Added in-memory, local filesystem, and optional S3 content-addressed adapters.
|
||||
- Added governed representation content service for byte-backed
|
||||
representations, chunked streams, policy checks, audit events, and cleanup.
|
||||
- Wired CMIS `setContentStream` and byte stream routes through the content
|
||||
service; repeated content updates now expose the latest source representation.
|
||||
- Added tests for dedupe, local/S3 adapter behavior, content-kind reads, policy
|
||||
denial, cleanup dry-run, and CMIS stream integration.
|
||||
|
||||
Reference in New Issue
Block a user