From fb7f13f0ab70bb80865fefd27d6b41ff72b3c62b Mon Sep 17 00:00:00 2001 From: ReaperOfVeriod Date: Sun, 25 Oct 2026 06:20:30 +0100 Subject: [PATCH] Document collaboration capability contract --- README.md | 4 ++++ .../v1/collaboration-capabilities-response.json | 14 ++++++++++++++ .../v1/collaboration-capabilities.response.json | 6 ++++++ 3 files changed, 24 insertions(+) create mode 100644 contracts/v1/collaboration-capabilities-response.json create mode 100644 fixtures/v1/collaboration-capabilities.response.json diff --git a/README.md b/README.md index 113beb3..4dff980 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,10 @@ Guest Star channel settings are described by token is a server-to-authenticated-client value and fixtures use a synthetic placeholder only. +The Twitch-authoritative collaboration capability probe is described by +`collaboration-capabilities-response.json`; unavailable beta surfaces include +a machine-readable reason without exposing Twitch tokens. + Destructive backup recovery uses the explicit `backup-restore-request.json` and `backup-restore-response.json` contracts; test fixtures contain no real database paths or credentials. diff --git a/contracts/v1/collaboration-capabilities-response.json b/contracts/v1/collaboration-capabilities-response.json new file mode 100644 index 0000000..25bd088 --- /dev/null +++ b/contracts/v1/collaboration-capabilities-response.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://trixie.local/contracts/v1/collaboration-capabilities-response.json", + "title": "Collaboration capabilities response", + "type": "object", + "required": ["guest_star_available", "shared_chat_available"], + "properties": { + "guest_star_available": { "type": "boolean" }, + "guest_star_reason": { "type": ["string", "null"] }, + "shared_chat_available": { "type": "boolean" }, + "shared_chat_reason": { "type": ["string", "null"] } + }, + "additionalProperties": false +} diff --git a/fixtures/v1/collaboration-capabilities.response.json b/fixtures/v1/collaboration-capabilities.response.json new file mode 100644 index 0000000..ffeafff --- /dev/null +++ b/fixtures/v1/collaboration-capabilities.response.json @@ -0,0 +1,6 @@ +{ + "guest_star_available": true, + "guest_star_reason": null, + "shared_chat_available": true, + "shared_chat_reason": null +}