docs(proposals): note assistant-first provider constraint (#347 rev 1.1 validation)
Worldtree accepted the v1 wire validation green; contract rev 1.1 folds all three consumer flags. Flag #1 surfaced a real provider constraint: first-message makes the assistant seq 0 -> vLLM/openai_compat tolerate it (sindra unaffected), but Anthropic-family providers 400 on an assistant-first array. Consumer must gate first-message on provider compat; provider-agnostic normalization deferred.
This commit is contained in:
@@ -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 /
|
||||
|
||||
Reference in New Issue
Block a user