google-deepmind / google-deepmind/concordia
Support transport-neutral human-controlled entities
- Dominant language
- Python
- Stars
- 1.7k
- Forks
- 367
- PR merge metrics
- No merged PRs in 30d
Description
## Need
Concordia entities currently delegate their final action to programmed or model-backed acting policies. Applications also need a reusable human acting policy for a player or game master while other entities keep their normal behavior.
## Proposed contribution
- A transport-neutral `HumanInputRequest` / `HumanInput` boundary and `HumanActComponent`; no browser, server, session manager or web dependencies in core.
- Supply the controlled entity's full pre-act context as one ordered string, retaining the exact `ConcatActComponent` ordering, whitespace and error semantics through shared library assembly.
- Validate prose, exact choices, finite numbers and sequential-game-master contracts, including next-action specifications; return invalid-input feedback without repeating the context lifecycle or inventing an action.
- Preserve logging, serialization of order, cancellation and per-entity input routing. Keep transport wiring runtime-only.
## Acceptance checks
Player and GM action-spec tests, exact Concat/Human ordering parity (default, explicit, empty, partial, duplicate and missing keys), retry behavior and standard sequential-engine compatibility.
This is a broadly reusable component contribution. Prefab injection and a small human-play tutorial will be separate changes.
Contributor guide
Research direction
Start by tracing the existing ConcatActComponent and the player/GM action-spec tests, then inspect the sequential engine entry points and current acting-policy interfaces. Define the transport-neutral boundaries around the stated context ordering, validation and retry behavior; done means the listed parity, routing, cancellation, serialization and compatibility checks pass without runtime transport dependencies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100