mirror of
https://github.com/stablyai/orca.git
synced 2026-09-28 08:02:43 +00:00
`experimentalStructuredNativeChat` was readable in the paired settings projection but absent from the update surface, and it defaults off. A headless `orca serve` or peer host ships no settings UI and had no RPC that could flip it, so every fresh headless host refused the whole structured surface forever. Add the key to the `settings.update` params schema and to the typed update projection. Admission stays host-owned policy: this only writes the setting the host's own admission check already reads, so the status admission field follows on the next read. The update decoder is strict, so this is a params-schema change on an existing method: an older host rejects the key with `invalid_argument` rather than silently ignoring it, and a client must therefore only send it to a host whose status carries the admission field. No client sends it yet -- there is no paired-host settings panel for the toggle today, so the affordance rides the later settings work. Mobile keeps its existing refusal. The phone has no surface for host policy, so the previously schema-level rejection becomes an explicit `clientKind` check rather than disappearing with the strict-decoder error.