openvibers/openvibe.games Commits
docs: Bench allows game_outcome from the round creator (#291)
Changes
@@@ -23,4 +23,4 @@ Required Network service grants for principal `games`:Match records, moves, battle events, and Bench receipts are stored in `ai_matches`. A failed Bench submission leaves the local match with `failed` status for operator inspection; failed submissions are not automatically retried because Bench's create endpoints have no idempotency key for this workflow. Bench also applies its own round quotas (currently three rounds per creator per day by default); one match uses `GAMES_AI_MATCHES_GAMES + 1` Bench rounds including `games.fun`, so its quota must be raised for longer or multiple daily matches.--Bench currently rejects a `game_outcome` judgement when its subject is also the round creator. This job creates rounds and casts outcomes with the same `games` service principal, so its first judgement receives `bench.creator_cannot_vote` and the local match is marked failed. Bench needs to permit service-submitted `game_outcome` judgements from the round creator, or provide a separate authorized judge identity, before enabling this job in production.++Bench's creator-vote guard applies only to `human_pairwise`, where a person must not judge a round they started. A `game_outcome` judgement from the `games` service principal that also created the round is allowed (`server/store.js`, `castJudgement`), so this job can submit its outcomes in production without a separate judge identity.
@@ -23,4 +23,4 @@ Required Network service grants for principal `games`:
@@ -23,4 +23,4 @@ Required Network service grants for principal `games`:
Match records, moves, battle events, and Bench receipts are stored in `ai_matches`. A failed Bench submission leaves the local match with `failed` status for operator inspection; failed submissions are not automatically retried because Bench's create endpoints have no idempotency key for this workflow. Bench also applies its own round quotas (currently three rounds per creator per day by default); one match uses `GAMES_AI_MATCHES_GAMES + 1` Bench rounds including `games.fun`, so its quota must be raised for longer or multiple daily matches.
Match records, moves, battle events, and Bench receipts are stored in `ai_matches`. A failed Bench submission leaves the local match with `failed` status for operator inspection; failed submissions are not automatically retried because Bench's create endpoints have no idempotency key for this workflow. Bench also applies its own round quotas (currently three rounds per creator per day by default); one match uses `GAMES_AI_MATCHES_GAMES + 1` Bench rounds including `games.fun`, so its quota must be raised for longer or multiple daily matches.
-Bench currently rejects a `game_outcome` judgement when its subject is also the round creator. This job creates rounds and casts outcomes with the same `games` service principal, so its first judgement receives `bench.creator_cannot_vote` and the local match is marked failed. Bench needs to permit service-submitted `game_outcome` judgements from the round creator, or provide a separate authorized judge identity, before enabling this job in production.
+Bench's creator-vote guard applies only to `human_pairwise`, where a person must not judge a round they started. A `game_outcome` judgement from the `games` service principal that also created the round is allowed (`server/store.js`, `castJudgement`), so this job can submit its outcomes in production without a separate judge identity.