Catalogs
A catalog is the metadata directory where Ironclad keeps facts, indexes, and snapshots.
The catalog directory is .ironclad/.
The directory above it is the container directory.
That distinction matters:
- the catalog directory stores Ironclad data
- the container directory is the workspace your facts usually observe
For example:
project-root/
├── .ironclad/
├── app/
├── config/
└── README.md
Here:
project-root/.ironclad/is the catalog directoryproject-root/is the container directory
Discovery
If you do not pass --catalog-dir, Ironclad searches upward from the current working directory until it finds .ironclad/.
If you do pass --catalog-dir, it must point to the catalog directory itself. Ironclad does not append .ironclad for you.
Catalog layout
.ironclad/
├── .gitignore
├── facts/
├── index.toml
└── snapshots/
├── actual.json
└── canon.json
facts/holds fact files.index.tomlmaps labels to fact IDs.snapshots/actual.jsonstores the resolved snapshot.snapshots/canon.jsonstores the approved snapshot.