Define the Durak AI contract with a shared observation format #53

Merged
hellsingoff merged 1 commit from feat/durak-ai-contract into main 2026-11-14 16:47:50 +00:00
Owner

Implement P6.1 (ADR 0014): games describe what a bot sees as objects and
actions with features, through an optional BotObservationPolicy capability
on GameDefinition. BotObserver takes candidates from the same personal
ActionSet as the human client and rejects an encoder that changes them.

  • DurakObservationEncoder, schema durak.observation@1, seats relative to
    the bot and only cards the seat may know
  • BehaviorFingerprint over seeded deals and moves, with the Durak baseline
    in config/bot/compatibility.json checked against the game catalog
  • Typed game_bot_jobs columns and a strict BotJob record with a stable
    command ULID
  • Third unrelated test game covering parity, leaks and fingerprint changes

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

Изменение

Проблема и получившееся поведение; ссылка на PLAN/ADR.

Проверка

Команды и результаты, ограничения проверки, способ отката.

  • make check, make test, make smoke проходят.
  • Для protocol/security/storage изменений выполнены правила review.
  • Измененные contracts, fixtures и документация согласованы.
  • Секреты и приватные игровые данные отсутствуют в diff и логах.
Implement P6.1 (ADR 0014): games describe what a bot sees as objects and actions with features, through an optional BotObservationPolicy capability on GameDefinition. BotObserver takes candidates from the same personal ActionSet as the human client and rejects an encoder that changes them. - DurakObservationEncoder, schema durak.observation@1, seats relative to the bot and only cards the seat may know - BehaviorFingerprint over seeded deals and moves, with the Durak baseline in config/bot/compatibility.json checked against the game catalog - Typed game_bot_jobs columns and a strict BotJob record with a stable command ULID - Third unrelated test game covering parity, leaks and fingerprint changes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> ## Изменение Проблема и получившееся поведение; ссылка на PLAN/ADR. ## Проверка Команды и результаты, ограничения проверки, способ отката. - [ ] `make check`, `make test`, `make smoke` проходят. - [ ] Для protocol/security/storage изменений выполнены правила [review](../docs/OWNERSHIP.md). - [ ] Измененные contracts, fixtures и документация согласованы. - [ ] Секреты и приватные игровые данные отсутствуют в diff и логах.
Define the Durak AI contract with a shared observation format
All checks were successful
Forgejo Quality CI / Repository · Format & configuration (pull_request) Successful in 1m10s
Forgejo Quality CI / CI · Select affected components (pull_request) Successful in 13s
Forgejo Quality CI / Core · PHP quality, tests & runtime (pull_request) Successful in 9m1s
Forgejo Quality CI / Client · Dart quality, tests & Linux build (pull_request) Has been skipped
Forgejo Quality CI / Contracts · Cross-language validation (pull_request) Has been skipped
Forgejo Quality CI / CI · Required checks (pull_request) Successful in 6s
Forgejo Quality CI / Gateway · Go quality & race tests (pull_request) Has been skipped
Forgejo Quality CI / Notifications · Go quality (pull_request) Has been skipped
Forgejo Quality CI / AI · Dependency compatibility (pull_request) Has been skipped
af5569e883
Implement P6.1 (ADR 0014): games describe what a bot sees as objects and
actions with features, through an optional BotObservationPolicy capability
on GameDefinition. BotObserver takes candidates from the same personal
ActionSet as the human client and rejects an encoder that changes them.

- DurakObservationEncoder, schema durak.observation@1, seats relative to
  the bot and only cards the seat may know
- BehaviorFingerprint over seeded deals and moves, with the Durak baseline
  in config/bot/compatibility.json checked against the game catalog
- Typed game_bot_jobs columns and a strict BotJob record with a stable
  command ULID
- Third unrelated test game covering parity, leaks and fingerprint changes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hellsingoff scheduled this pull request to auto merge when all checks succeed 2026-11-14 16:36:47 +00:00
hellsingoff deleted branch feat/durak-ai-contract 2026-11-14 16:47:50 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hellsingoff/epicly-unstable-app!53
No description provided.