## backends.effective_capabilities()


Capabilities for a specific object.


Usage

``` python
backends.effective_capabilities(
    backend,
    locator,
    policy,
)
```


Some backends (notably `file`) span tiers depending on the locator and policy: a local file is Observed while an S3 object in a versioned bucket is Addressable. Backends may implement `effective_capabilities(locator, policy)` to refine their class-level `capabilities`; otherwise the class value is used.

`policy.pin == "record"` removes [PIN](testing.Capability.md#tether.testing.Capability.PIN) for any backend: the state is recorded without a native ref (cheaper, no retention hold) and forks come straight from the recorded state while the system still has it.
