Documentation / Public package reference
Audience: application composition and object-storage Adapter authors.
Status: implemented SDK-independent contracts, currently consumed by the MinIO Adapter.
Package: github.com/frost-leo/fathomry/adapters/objectstore/v1.
This is a real shared contract boundary, not an empty grouping package or a
universal storage client. It imports public adapters/v1, never Internal,
a concrete Adapter, an SDK or Framework. Importing it creates no source, worker,
connection, registry or shutdown authority.
The owner requested this boundary during #104 implementation. It follows the existing database contract separation. Future Adapters may share these already-defined observations without adopting MinIO's addressing, grants, multipart protocol or client implementation.
Budgetdeclares root-family work and per-result evidence bytes. Providers derive effective envelopes from their actual implementation. These are not RSS measurements, distributed quotas or a promise about arbitrary native error graphs.Policycombines Budget with explicit Runtime/Evidence options, including source ownership, sessions, incremental children and queued operations.ForGenerations(1..16)scales equivalent source/root/queue/evidence envelopes for overlap without altering per-root budgets or an existing runtime. It checks arithmetic limits, not provider compatibility.Infoidentifies actual source preparation and copied provenance.Cloneisolates both the outer provenance slice and nested field slices. Revision is opaque; configuration version, SDK version and public resource generation remain different axes.Attributionfreezes public correlation and the generation actually borrowed. Zero Source covers direct use and failed acquisition, not proof of absence.Attemptscounts observed dispatches. Inexact zero does not prove none occurred.EffectdistinguishesNotSubmitted,UnknownandAcknowledgedfor a provider-defined action. Acknowledgement does not prove prior existence, persistence, rollback, idempotency or business success. A later cleanup ACK must not overwrite an earlier uncertain action.
Info and Attribution are potentially sensitive process-local observations. Ordinary formatting is restricted and JSON serialization/reconstruction is refused. Explicit fields and detached copies remain caller-owned data. Budget/Policy are composition data, not runtime handles.
MinIO owns its Settings, requests, immutable results, delegation, retained multipart/cursor handles and provider error definitions. Shared contracts do not expose an Internal bridge or unify future SDK methods.
Metadata tests, policy tests and integration tests check copying, diagnostics, overlap arithmetic and the actual dependency graph. The independent consumer uses both shared contracts and a selected concrete provider.
The Adapter tree map defines this package's role and file responsibilities; shared mechanisms, capability vocabulary, preparation and concrete providers do not acquire identical APIs by convention.