ferrox-api 0.8.0

Shared route constants and wire DTOs for the Ferrox HTTP surface and its clients
Documentation
# ferrox-api

The wire contract between `ferrox-server` and its clients.

Route constants and serde DTOs shared by the server, the UI it serves at
`/`, the desktop shell that spawns it, and `ferrox chat` — so a path or
a payload shape has exactly one definition instead of one per end.

Contents:

- `routes` — every path the server serves, named once.
- `health` — the three-state `/health` handshake (`ready` /
  `detecting` / `unavailable`) with per-capability machine reason codes
  and human sentences.
- `lifecycle` — the `ferrox.server.ready` stdout line carrying the
  actually-bound address and pid, which is what makes `--port 0` usable
  by a supervising process.
- `usage` — token accounting plus llama.cpp-style timings, with prefill
  and decode kept separate.
- `request_id` — server-assigned ids, stated in the first streamed chunk.
- `progress` — rolling-window transfer rate/ETA that reports nothing
  until it can report something true.

Depends on serde only: a CLI, a desktop shell and a browser-targeted
frontend may all link it.