# cache { #tvbo.cli.cache }

`cli.cache`

Inspect and reclaim the produced-constant store.

A parameter with a ``producer:`` is materialised once to a content-addressed artifact under ``~/.tvbo/constants``, keyed on the producing call AND on that module's source. Editing the callable is therefore supposed to write a NEW artifact — which is what keeps a run from reading arrays computed by code that no longer exists — and the old one is left behind deliberately, because nothing at write time knows whether another study still reaches it.

That is what this reclaims: given a study, the artifacts of ITS producers that IT no longer reaches. Producers the study does not declare are never touched.

## Attributes

| Name | Description |
| --- | --- |
| [app](#tvbo.cli.cache.app) |  |

## Functions

| Name | Description |
| --- | --- |
| [prune](#tvbo.cli.cache.prune) | List — or with --delete remove — produced constants these studies have superseded. |

### prune { #tvbo.cli.cache.prune }

```python
cli.cache.prune(
    specs=typer.Argument(..., help='Study / experiment YAML to read.'),
    delete=typer.Option(False, '--delete', help='Actually remove them (default: list only).'),
    cache_dir=typer.Option(None, help='Store to prune (default ~/.tvbo/constants).'),
)
```

List — or with --delete remove — produced constants these studies have superseded.