Skip to content

docs: record pluggable storage backends in ADR 0004 and the glossary - #122

Closed
johnf wants to merge 1 commit into
mainfrom
spec/109-pluggable-storage
Closed

johnf wants to merge 1 commit into
mainfrom
spec/109-pluggable-storage

Conversation

@johnf

@johnf johnf commented Oct 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

Records the decisions from the Storage: pluggable storage backends for 5.0 map. Docs only; no code.

 GLOSSARY.md
+## How it is stored
+  Storage backend, Storage key, Delivery
 docs/adr/
   0002-library-enforces-access.md   # "handler" → storage backend
+  0004-pluggable-storage-backends.md

ADR 0004 in brief:

-fileHandler:    { get, head }   → redirect | stream | file(+accelPath) | false
-roCrateHandler: { get, head }
+storage: {
+  metadata(entity, ctx)          → stream | path | redirect | json | null
+  content(file, entity, ctx)     → stream | path | redirect | null
+}
+arocapi/storage/{directory,s3,ocfl,entity-meta}
+arocapi/search/{opensearch,postgres}   # moved

Evidence

  • Before: GLOSSARY.md and docs/adr/ have no storage entries; ADR 0002 refers to handlers.
    After: pre-commit lint (biome, types, examples, knip, consumer types) passes. Each ADR section traces to a closed ticket on the map.

Merge Danger

Door: two-way

Docs only. Merging to main publishes a beta, but there are no code changes.

Blast Radius: none

The ADR describes 5.0 behaviour that isn't implemented yet. Until to-spec and the implementation land, CLAUDE.md and the website still describe handlers.

Closes #121

Adds ADR 0004 (storage backends replace fileHandler and roCrateHandler)
and a "How it is stored" glossary section (Storage backend, Storage key,
Delivery), and rewords ADR 0002 to refer to storage backends.

Refs #121
@github-actions

Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🟢 Lines 100% (🎯 100%) 1017 / 1017
🟢 Statements 100% (🎯 100%) 1070 / 1070
🟢 Functions 100% (🎯 100%) 231 / 231
🟢 Branches 100% (🎯 100%) 692 / 692
File CoverageNo changed files found.
Generated in workflow #136 for commit 2e33244 by the Vitest Coverage Report Action

@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 5.0.0-beta.7 🎉

The release is available on:

Your semantic-release bot 📦🚀

@johnf
johnf deleted the spec/109-pluggable-storage branch October 21, 2026 23:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Write ADR 0004 and the storage glossary entries

1 participant