Skip to content

[Feat] Add text-board Sokoban agent with Valen levels - #34

Draft
hsliuustc0106 wants to merge 1 commit into
mainfrom
codex-sokoban
Draft

hsliuustc0106 wants to merge 1 commit into
mainfrom
codex-sokoban

Conversation

@hsliuustc0106

Copy link
Copy Markdown
Contributor

Adds s1a run sokoban so the existing decision-model loop can play Sokoban with reproducible levels and ordinary episode reports. It adapts Valen's standard-library simulator and bundles its 100 selected evaluation levels; the model receives an ASCII board, the remaining step budget and four directional choices. A solved game scores 1, otherwise 0.

Blocked moves consume steps, the environment caps episodes at 200 actions, and level selection uses --seed as an offset without wrapping. Rethink and rule mode are rejected: the agent receives no solver assistance or reference solutions. This is a text-board adaptation, not a reproduction of Valen's visual benchmark, and the supplied levels are a selected subset. No learned-model accuracy or performance claim is made.

Code and data revisions, Apache-2.0 attribution, CLI usage and evaluation limits are documented. Evaluator-only reference solutions are confined to test fixtures.

Validation:

  • Full pytest suite: 502 passed, 36 skipped (optional dependencies/platform checks), 80 subtests passed.
  • All 100 upstream reference solutions replay to completion; transition, reset, step-limit, selection and offline DeepAgent integration tests pass.
  • Ruff formatting/lint, ty with the reused development environment, CLI/MCP smoke checks and uv build pass.
  • A 10-step random-policy CLI run completed with zero errors, invalid keys or model calls; no GPU execution.

Try from the checkout:

uv run s1a run sokoban --model random --rethink off --episodes 1 --max-steps 10
uv run s1a run sokoban --model jev --rethink off --episodes 100

Signed-off-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant