tinyquant-sys 0.0.0

C ABI façade for TinyQuant (cdylib + staticlib).
# AGENTS.md — Guide for AI Agents Working in `rust/crates/tinyquant-sys/include`

This directory contains the cbindgen-generated C header for the `tinyquant-sys` crate. `tinyquant.h` is regenerated automatically by `build.rs` on every `cargo build -p tinyquant-sys` and must not be edited by hand. CI fails if the committed header differs from the regenerated one (the Phase 22 cbindgen drift guard). Non-Rust consumers that embed TinyQuant via the C ABI include this header. Changes here are always machine-generated — trigger them by modifying the `extern "C"` surface in `src/codec_abi.rs` or `src/corpus_abi.rs` and rebuilding.

## What this area contains

- primary responsibility: `tinyquant.h` — the cbindgen-generated C header exposing all `extern "C"` entry points, opaque handle types, error structs, and the `TINYQUANT_H_VERSION` macro
- main entrypoints: `tinyquant.h` (read-only; regenerated by `cargo build -p tinyquant-sys`)
- common changes: the header is regenerated automatically; do not edit it directly — modify the Rust source in `../src/` instead and let `build.rs` regenerate it

## Layout

```text
include/
├── README.md
└── tinyquant.h
```

## Common workflows

### Update existing behavior

1. Read the local README and the files you will touch before editing.
2. Follow the local invariants before introducing new files or abstractions.
3. Update nearby docs when the change affects layout, commands, or invariants.
4. Run the narrowest useful verification first, then the broader project gate.

### Add a new file or module

1. Confirm the new file belongs in this directory rather than a sibling.
2. Update the layout section if the structure changes in a way another agent must notice.
3. Add or refine local docs when the new file introduces a new boundary or invariant.

## Invariants — Do Not Violate

- keep this directory focused on its stated responsibility
- do not invent APIs, workflows, or invariants that the code does not support
- update this file when structure or safe-editing rules change

## See Also

- [Parent AGENTS.md](../AGENTS.md)
- [Root AGENTS.md](../../../../AGENTS.md)