# XO0904: an embedded file is not in git

An embed constant takes the file's bytes at build time. When git ignores the file or does not track it, a build of a clean checkout (CI, a release, another developer) embeds a different file or none, and the program differs without a source change. `xo vet` asks git about every embedded file of the modules it vets; outside a git work tree, or without git, it says nothing.

## Example

```xo
const KEY: Bytes = embed("secrets/dev.key")   // secrets/ is in .gitignore
```

## Fix

```xo
Add the file to git, or embed only files the repository holds.
```

Run `xo explain XO0904` for this text in a terminal, or see
[section 10.6 of the specification](../../spec/core/#106-diagnostic-codes).

