diff --git a/docs/proposals/authored-message-injection.md b/docs/proposals/authored-message-injection.md index b56f677..c0b36ea 100644 --- a/docs/proposals/authored-message-injection.md +++ b/docs/proposals/authored-message-injection.md @@ -169,6 +169,15 @@ consumer side MUST tolerate per-tenant absence: undiscoverable in `/capabilities` for ungranted tenants (same hide-existence posture as the R27-V1A cross-owner pattern). +**Provider constraint (first-message specifically).** A create-time first-message +makes the assistant turn `seq 0`. Assistant-first-tolerant providers (vLLM / +`openai_compat` — what our Tier-3 characters, incl. sindra, run) accept it out of +the box. **Anthropic-family providers reject an assistant-first array** ("first +message must use the user role") → the next generation `400`s. So the consumer +must **gate first-message on provider compatibility** (or treat it as +vLLM/`openai_compat`-only for v1). Sindra = `openai_compat` → unaffected; +provider-agnostic normalization is a deferred engine follow-up. + --- *This brief was cold-read-pressure-tested by a cross-frontier panel (Grok /