# `Beaver.MLIR.CompilationCache.File`

Filesystem backend for incremental compilation artifacts.

Entries are written through a temporary file and atomically renamed. Reads
use safe Erlang term decoding; malformed entries are reported to the runtime,
which invalidates them and recompiles.

# `t`

```elixir
@type t() :: %Beaver.MLIR.CompilationCache.File{root: Path.t()}
```

# `clear`

```elixir
@spec clear(t()) :: :ok | {:error, term()}
```

# `delete`

```elixir
@spec delete(t(), String.t()) :: :ok | {:error, term()}
```

# `get`

```elixir
@spec get(t(), String.t()) :: {:ok, map()} | :miss | {:error, term()}
```

# `new`

```elixir
@spec new(Path.t()) :: t()
```

# `put`

```elixir
@spec put(t(), String.t(), map()) :: :ok | {:error, term()}
```

