# fierros-core
Provider-neutral primitives shared across the Fierros workspace.
## Public API
- Errors: `FierrosError`, `FierrosResult`
- Data model: `Document`, `Chunk`, `Metadata`
- LLM abstractions: `Llm`, `CompletionRequest`, `CompletionResponse`, `Message`
- Embedding abstractions: `Embedder`
- Test doubles: `MockLlm`, `MockEmbedder`
- Provider adapters:
- `OpenAiCompatibleLlm`
- `OpenAiCompatibleEmbedder`
- `OllamaCompatibleLlm`
- `OllamaCompatibleEmbedder`
## Example
```text
use fierros_core::{Document, Metadata};
let doc = Document::new("runbook.md", "Rollback steps");
let tagged = doc.with_metadata(Metadata::new().with("team", "payments"));
```
See the root README and `docs/` for architecture, specs, RFCs, ADRs, and policy.