@@ -52,7 +52,7 @@ Semver applies to documented changes in:
5252| ` repository_dispatch ` ** ` event_type ` ** values | ` add-submodules ` , ` start-translation ` , ` sync-translation ` |
5353| ** ` client_payload ` ** field names, optionality, semantics | [ README] ( ../README.md ) workflow tables; sections below |
5454| Dispatch HTTP contract | URL, auth headers, success = HTTP ** 204** |
55- | Outbound Weblate POST | ` organization ` , ` version ` , ` extensions ` , ` add_or_update ` ; success ** 200** or ** 202** |
55+ | Outbound Weblate POST | Request schema [ weblate-add-or-update.request.schema.json ] ( schemas/weblate-add-or-update.request.schema.json ) ; success ** 200** or ** 202** |
5656| Shell batch return codes ** 0 / 1 / 2** and job collapse | [ ARCHITECTURE §6] ( ARCHITECTURE.md#6-shell-return-codes ) — code ** 2** never propagates to GitHub Actions step exit |
5757| Branch/path constants affecting behavior | ` MASTER_BRANCH ` , ` LOCAL_BRANCH_PREFIX ` , ` TRANSLATION_BRANCH_PREFIX ` , ` WEBLATE_ENDPOINT_PATH ` in [ ` env.sh ` ] ( ../.github/workflows/assets/env.sh ) |
5858
@@ -134,3 +134,29 @@ submodule pointer updates, and Boost release refs in `client_payload.version`.
134134| Auth | ` Authorization: Token {WEBLATE_TOKEN} ` |
135135| Invoked by | ` .github/workflows/start-translation.yml ` (` start-local ` job) |
136136| Success | HTTP ** 200** or ** 202** (async accepted) |
137+
138+ ### Payload
139+
140+ Field names, types, and constraints are defined by
141+ ** [ weblate-add-or-update.request.schema.json] ( schemas/weblate-add-or-update.request.schema.json ) **
142+ (source of truth). Summary:
143+
144+ | Field | Shape |
145+ | ----- | ----- |
146+ | ` organization ` | Non-empty string (` MODULE_ORG ` ) |
147+ | ` version ` | Non-empty string (Boost libs ref) |
148+ | ` extensions ` | Array of dot-prefixed strings (may be ` [] ` ) |
149+ | ` add_or_update ` | Object: language code → non-empty array of submodule basenames |
150+
151+ Built by ` trigger_weblate ` in ` .github/workflows/assets/translation.sh ` . The call is
152+ omitted when ` add_or_update ` would be empty.
153+
154+ ### Success response bodies
155+
156+ | HTTP status | Body |
157+ | ----------- | ---- |
158+ | ** 202** | JSON object with required string ` task_id ` (async acceptance) |
159+ | ** 200** | JSON object with required string ` status ` equal to ` "ok" ` (sync completion) |
160+
161+ Orchestration treats both statuses as success and prints the response body to logs;
162+ it does not otherwise act on response fields.
0 commit comments