aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-04-02 08:03:02 +0000
committerGravatar Runxi Yu2026-04-02 08:03:02 +0000
commit43e343908408ed641785b58896445e9912216f3e (patch)
tree4c752849f77502f76e6084d4b46d2ca078a49509
parentfurgit: Document interface/implementation contract docs (diff)
signatureNo signature
object/store: Document package
-rw-r--r--object/store/doc.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/object/store/doc.go b/object/store/doc.go
new file mode 100644
index 00000000..5dedd7a1
--- /dev/null
+++ b/object/store/doc.go
@@ -0,0 +1,13 @@
+// Package store provides interfaces for object storage backends.
+//
+// Reading stores only respond to object-ID queries in terms of headers (type
+// and size), raw bytes, and streaming payloads, but they do not parse commits,
+// trees, blobs, or tags into typed values. Turning stored objects into typed
+// objects is the job of [codeberg.org/lindenii/furgit/object/fetch].
+//
+// This package does not define one unified writing interface. Backends have
+// very different write models: writing one loose object is natural, while
+// writing one object into a packfile backend is wasteful. Instead, we define
+// distinct optional capabilities for object-wise writes, pack-wise writes,
+// and compose them against quarantined writes.
+package store