Skip to content

The S Mazes and the M1 Mazes with Their Tests#19

Open
helenlu66 wants to merge 10 commits into
mainfrom
S+M1_mazes
Open

The S Mazes and the M1 Mazes with Their Tests#19
helenlu66 wants to merge 10 commits into
mainfrom
S+M1_mazes

Conversation

@helenlu66
Copy link
Copy Markdown
Member

@helenlu66 helenlu66 commented Jun 5, 2026

Summary

Moves the S maze set and the M1 single key-door maze set from inside the ogbench submodule into the root repo along with maze-specific tests and rendered maze images.

Maze Sets

S1: 8x8 empty room, no mechanisms - Baseline, can model navigate at all? Also validates environment

S2: 8x8 corridor with turns, no mechanisms - Does turning matter?

S3: 10x10 corridor with turns, no mechanisms - Moderate size navigation

S4: 10x10 dense maze (dead ends), no mechanisms - Does topology matter at moderate size?

S5: 14x14 corridor with turns, no mechanisms - Large grid navigation

S6: 14x14 dense maze (dead ends), no mechanisms - Large grid + topology combined

M1: Single key-door - Basic mechanism comprehension example

Visualizing Mazes

python3 scripts/render_maze_jsons.py \
  --input-dir mazes/exp_maze_jsons \
  --output-dir mazes/exp_maze_images

Maze-Specific Tests

From the repo root:

cd tests && python3 -m unittest test_S_maze_types.py test_M1_maze_types.py

Tests should all pass:

Ran 44 tests in 0.085s
OK

@helenlu66 helenlu66 requested a review from Copilot June 5, 2026 07:29
@helenlu66 helenlu66 marked this pull request as ready for review June 5, 2026 07:29
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR brings the S (S1–S6) and M1 (single key-door) maze JSON specifications into the root repository (out of the ogbench submodule), along with dedicated unit tests and supporting test helpers to validate maze structure and solvability.

Changes:

  • Adds new maze-spec test suites for S mazes and M1 mazes, plus shared maze test utilities.
  • Introduces a test-helper BFS solver wrapper that delegates planning to the existing gridworld baseline planner.
  • Adds the S/M1 experimental maze JSONs under mazes/exp_maze_jsons/, plus editor and submodule metadata files.

Reviewed changes

Copilot reviewed 30 out of 52 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/test_S_maze_types.py Adds unit tests validating navigation, metadata, and solvability for S1–S6 maze specs.
tests/test_M1_maze_types.py Adds unit tests validating M1 naming, structure parity with S mazes, and key-door chain constraints.
tests/maze_test_utils.py Adds shared loaders and assertions for maze spec validation and BFS-based solvability checks.
tests/BFS_solver.py Provides a legacy-shaped BFS test helper that delegates to gridworld.baselines planning.
mazes/exp_maze_jsons/S1/8x8_empty_room_0.json Adds S1 variant 0 maze JSON spec.
mazes/exp_maze_jsons/S1/8x8_empty_room_1.json Adds S1 variant 1 maze JSON spec.
mazes/exp_maze_jsons/S2/8x8_corridor_0.json Adds S2 variant 0 maze JSON spec.
mazes/exp_maze_jsons/S2/8x8_corridor_1.json Adds S2 variant 1 maze JSON spec.
mazes/exp_maze_jsons/S3/10x10_corridor_0.json Adds S3 variant 0 maze JSON spec.
mazes/exp_maze_jsons/S3/10x10_corridor_1.json Adds S3 variant 1 maze JSON spec.
mazes/exp_maze_jsons/S4/10x10_dense_0.json Adds S4 variant 0 maze JSON spec.
mazes/exp_maze_jsons/S4/10x10_dense_1.json Adds S4 variant 1 maze JSON spec.
mazes/exp_maze_jsons/S5/14x14_corridor_0.json Adds S5 variant 0 maze JSON spec.
mazes/exp_maze_jsons/S5/14x14_corridor_1.json Adds S5 variant 1 maze JSON spec.
mazes/exp_maze_jsons/S6/14x14_dense_0.json Adds S6 variant 0 maze JSON spec.
mazes/exp_maze_jsons/S6/14x14_dense_1.json Adds S6 variant 1 maze JSON spec.
mazes/exp_maze_jsons/M1/8x8_corridor_kr_0.json Adds M1 8x8 corridor variant 0 key-door maze spec.
mazes/exp_maze_jsons/M1/8x8_corridor_kr_1.json Adds M1 8x8 corridor variant 1 key-door maze spec.
mazes/exp_maze_jsons/M1/10x10_corridor_kr_0.json Adds M1 10x10 corridor variant 0 key-door maze spec.
mazes/exp_maze_jsons/M1/10x10_corridor_kr_1.json Adds M1 10x10 corridor variant 1 key-door maze spec.
mazes/exp_maze_jsons/M1/10x10_dense_kr_0.json Adds M1 10x10 dense variant 0 key-door maze spec.
mazes/exp_maze_jsons/M1/10x10_dense_kr_1.json Adds M1 10x10 dense variant 1 key-door maze spec.
mazes/exp_maze_jsons/M1/14x14_corridor_kr_0.json Adds M1 14x14 corridor variant 0 key-door maze spec.
mazes/exp_maze_jsons/M1/14x14_corridor_kr_1.json Adds M1 14x14 corridor variant 1 key-door maze spec.
mazes/exp_maze_jsons/M1/14x14_dense_kr_0.json Adds M1 14x14 dense variant 0 key-door maze spec.
mazes/exp_maze_jsons/M1/14x14_dense_kr_1.json Adds M1 14x14 dense variant 1 key-door maze spec.
.vscode/settings.json Adds workspace-level Python environment manager/package manager settings.
.vscode/launch.json Adds a Python debug configuration with a pre-set PYTHONPATH.
.gitmodules Adds an ogbench submodule entry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread mazes/exp_maze_jsons/S4/10x10_dense_1.json
Comment thread tests/test_S_maze_types.py
Comment thread tests/test_M1_maze_types.py
Comment thread .vscode/launch.json Outdated
Comment thread tests/maze_test_utils.py
@helenlu66 helenlu66 requested a review from pranavguru June 5, 2026 18:54
helenlu66 and others added 4 commits June 5, 2026 12:01
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.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.

2 participants