google-deepmind / google-deepmind/concordia

Consolidate the Astral Canticle human-control example

Open
#305 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.7k
Forks
367
PR merge metrics
No merged PRs in 30d

Description

## Category consolidation

Requested by Joel Z. Leibo in [issue #373](https://github.com/google-deepmind/concordia/issues/373#issuecomment-5621250114). This is the single continuing issue for this category. Implementation and subsequent improvements stay in [PR #306](https://github.com/google-deepmind/concordia/pull/306). Approved PRs #297, #302, #304 and #332 are exempt and remain unchanged.

## Scope

- Demonstrate human player or GM control through standard entities and the standard sequential engine.
- Preserve the full ordered basic/minimal controlled-entity context, ordinary autonomous NPCs, structured logs, persistent drafts and idempotent submissions.
- Provide terminal and optional mobile-browser adapters, journal export and reverse-proxy-prefix handling.
- Retain the shared HumanSession helper used by Bellwether.

Human-control APIs remain in approved PRs #302/#304. Reusable editor/CLI infrastructure belongs to #314; Bellwether belongs to #372. The reviewer request to use `generic.Simulation` in `adventure.py` is tracked here as remaining review follow-up, not falsely marked complete by consolidation.

## Consolidated review history

No additional standalone PR in this category; prerequisite pieces are extracted from the former Bellwether stack.

Superseded issues and PRs retain their original descriptions and point here. Consolidation closes duplicate review threads, not claims that pending code has landed upstream.

## Standard Simulation refactor

[Commit 38b68ea](https://github.com/concordia-claw/concordia/commit/38b68eaf14cbf54012ec18a021e497f27a8d47fd) replaces manual bank/cast/engine-loop assembly with ordinary Config instances and generic.Simulation. build_cast remains compatible. Human player/GM policies, basic perception context/order, NPC turns, per-step partial files, interruption handling and final player observation are preserved. Fresh builds retain the real reader without copying its locks and do not share components/banks. The GM bank now uses the standard Simulation duplicate-observation policy; checkpoint continuation is not added.

**34 tests pass** both standalone and on the combined checkout, including real inbox binding and partial-log preservation. Typecheck has zero errors; error-level lint and formatting/import checks pass. This is fixture evidence, not a new live-model run or a migration of the active game.

Contributor guide

Open the contributing guide

Research direction

Start with adventure.py, build_cast, and the generic.Simulation refactor described in commit 38b68ea; review PR #306 and its 34 tests before making changes. Done means the standard simulation preserves the listed human-control, NPC, logging, persistence, adapter, and journal behaviors without adding checkpoint continuation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.