storage: tenant document lifecycle tiers and S3 actor backend - #201
lost-rob0t wants to merge 35 commits into
Conversation
|
Runtime/storage reconciliation — this branch is broader than the now-authoritative #206 first slice and should not be merged as-is. #206 explicitly owns the data-tier/lifecycle boundary and narrows the first production slice to a pure deterministic library: backend protocol + in-memory fixture, tier registry, storage metadata, ordered lifecycle evaluator, verified fake-backend move, trusted init example, and docs. It explicitly excludes REST APIs, background migration, provider provisioning, production migration, and defers the S3 adapter until a separately justified signer/transport slice. PR #201 exact head Gate state: schema lock, Operational Salvage, and Container Stack are green; Smoke Tests and Docstring Coverage are red. The #206 preflight comment also records that the required five independent issue voters were not executed, so AGENTS.md still blocks production mutation/merge. Salvage when the gate opens: the backend protocol, in-memory backend tests, checksum-before-delete move invariants, lifecycle fixtures, and any provider-neutral metadata model that fits #206. Keep S3/actor/API integration out of the first recovered slice. |
Summary
Adds tenant-aware document lifecycle APIs and a Star-Lang/Sento document-storage actor.
Lifecycle API
GET /api/v1/documents/:id/lifecycle(documents:read)PUT /api/v1/documents/:id/lifecycle(documents:write)hot,warm,cold,archiveStorage model
hot: full CouchDB documentwarm: full CouchDB document + mirrored object payloadcold/archive: CouchDB authorization/index stub + authoritative external payloadextensions._server_storage; lifecycle API exposes placement explicitlyBackends / actor runtime
star.storageprotocol (put/get/delete/head)ironclad,dexador, andquridependenciesdocument-storageactorspec/document-storage.starIngest behavior
hotConfiguration
STAR_STORAGE_DEFAULT_TIERSTAR_STORAGE_TENANT_TIERSSTAR_STORAGE_TIER_BACKENDSSTAR_S3_REGIONSTAR_S3_ENDPOINTSTAR_S3_BUCKETSTAR_S3_ACCESS_KEY_IDSTAR_S3_SECRET_ACCESS_KEY[_FILE]STAR_S3_SESSION_TOKEN[_FILE]Includes capabilities/OpenAPI/client-contract integration, docs, and a required hermetic lifecycle/storage test suite.