## RepoConfig


Committed repository configuration.


Usage

``` python
RepoConfig(
    version=CONFIG_VERSION,
    dataset_id=new_dataset_id(),
    snapshot_auto=False,
    verify_on_status=False,
    new_fork="lazy",
    new_record="fork",
    defaults=Policy(),
    vcs=dict(),
    backends=dict(),
    committed_import_query=None
)
```


## Parameter Attributes


`version: int = CONFIG_VERSION`  

`dataset_id: str = new_dataset_id()`  
`[dataset] id`: 8 hex chars naming this dataset in every store it pins. Pins are `tether.<id>.<hash>`, working branches `tether.ws.<id>.<ws>...`; `gc` only touches refs in this namespace. Committed, so all clones share it.

`snapshot_auto: bool = ``False`  
`[snapshot] auto`: whether the CLI's [status](backends.VerifyReport.md#tether.backends.VerifyReport.status) fingerprints every object on each run. Off by default: [status](backends.VerifyReport.md#tether.backends.VerifyReport.status) shows the last snapshot and its age, `status --snapshot` (or `tether snapshot`) refreshes. [commit](vcs.VcsAdapter.md#tether.vcs.VcsAdapter.commit) and [verify](ObjectStatus.md#tether.ObjectStatus.verify) always fingerprint.

`verify_on_status: bool = ``False`  

`new_fork: str = ``"lazy"`  
`[new] fork`: `lazy` (default) creates a working branch on the first writable [open](testing.ObjectBackend.md#tether.testing.ObjectBackend.open); `eager` creates every branch during [new](vcs.VcsAdapter.md#tether.vcs.VcsAdapter.new).

`new_record: str = ``"fork"`  
`[new] record`: [fork](testing.ObjectBackend.md#tether.testing.ObjectBackend.fork) (default) branches a `pin = "record"` object during [new](vcs.VcsAdapter.md#tether.vcs.VcsAdapter.new) even when forks are lazy, since that branch is all that keeps its recorded state from expiring; `defer` leaves it for the first writable [open](testing.ObjectBackend.md#tether.testing.ObjectBackend.open) like a pinned one (`new --defer-record`). Needs `fork = "lazy"`.

`defaults: Policy = Policy()`  

`vcs: dict[str, Any] = dict()`  

`backends: dict[str, dict[str, Any]] = dict()`  

`committed_import_query: str | None = None`  
`[import] query` in the committed file: kept only so `tether import` can refuse it by name. A clone must not choose SQL that runs with your DSN; the default query is `Secrets.import_query`.


## Attributes

| Name | Description |
|----|----|
| [trunk](#trunk) | `[vcs] trunk` (default `main`): the dataset bookmark that stands for |

------------------------------------------------------------------------


#### trunk


`[vcs] trunk` (default `main`): the dataset bookmark that stands for


`trunk: str`


every object's upstream branch (`locator.branch`). Working on it writes to those branches directly; any other bookmark forks.
