Skip to content

feat(memory): standardize task layers and enable RoboCasa global memory - #190

Open
ye1457 wants to merge 3 commits into
RLinf:mainfrom
ye1457:feat/robocasa-global-memory
Open

ye1457 wants to merge 3 commits into
RLinf:mainfrom
ye1457:feat/robocasa-global-memory

Conversation

@ye1457

@ye1457 ye1457 commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

RoboCasa now provides the current task-specific references and global memory together, with on-demand reads. Reading every file is not a condition for actions or finish. Cross-task restrictions, no-reset and independent per-run read auditing remain.

Changes

  • Use task-specific and task-family consistently in shared memory tools, robot prompts and both guides. Remove the optional memory policy, full-read gate, CORPUS dependency and RoboCasa revision plumbing.
  • Support published HF pairs and native local exploration pairs, matching task-family notes and local global Markdown files. Missing global, half-pairs and competing task pairs fail before startup.
  • Retain exploration inbox writes, attempt limits, reset and winning-attempt recipe export. Exploration can start without a corpus.
  • Keep v1 for historical validation and v2 for current runs; reported leaderboard scores do not prove historical runs used v2. Remove the duplicate legacy result table and its table-parsing test, preserving the archived commit link and protocol tests.
  • Rebase the complete changes onto main eecf2069, retaining the earlier merge commits' memory/exploration fixes, fix(memory): handle malformed YAML frontmatter #209's malformed-YAML handling and docs(readme): add Cosmos Policy to the WAM feature matrix #217's README update.

Data and code dependencies

HF #13 depends on HF #12. It supplies the current directory names; RoboCasa's 103 memory bodies are unchanged. New memory updates go to main. reproduce/memory retains the existing GPT-5.5 / Harness-VLA corpus and historical layout; #14 stays closed.

#202 owns LIBERO version selection and robot-specific memory preparation. #201 owns Codex turn budgets. #215 owns the leaderboard presentation and companion assets. Coordinate the matching data and code changes; historical layouts need their corresponding code.

Validation

Comment thread robots/robocasa/memory.py
Comment thread rpent/planner/codex.py Outdated
.. note::

公开的 Target50 协议固定在 ``robots/robocasa/eval/target50.json`` 中。
公开的 Target50 协议固定在 ``robots/robocasa/eval/target50_v2.json`` 中。

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

is the target50.json unused?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It is still used for explicit validation of historical v1 records with --manifest robots/robocasa/eval/target50.json. Current runs and the default validator use v2. The paired guides now explain this distinction, and regression coverage verifies that v1 records require the legacy manifest. Updated in 4753e89.

memory/robocasa/results/<Task>_s0.json
memory/robocasa/results/recipe_<Task>_s0.jsonl
memory/robocasa/results/<Task>.md # 可选
新版严格采用 PR #130 交付包的 103 份记忆:43 份 seed-0 audit JSON、43 份

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

PR #130 is not need to refer

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Removed the PR #130 reference and delivery-package narrative from both user guides in 4753e89. The documentation now describes the published task/global layout and ordinary HF/local loading commands.

--memory-profile local \
--memory-dir ./target50-memory/robocasa
python -m robots.robocasa.migrate_memory \
--source /path/to/package/changed_tree/robocasa-memory-hf-staging-20260829/robocasa/memory \

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is there any way to use a custom hf url and path directly? And where is this folder changed_tree/robocasa-memory-hf-staging-20260829/ from?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is the migrate_memory for migrate the explorations?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The guides now document RPENT_MEMORY_HF_REPO=<owner>/<dataset> for another dataset with the same RoboCasa subtree. For a custom path or branch, use hf download and point --memory-profile local --memory-dir at the downloaded subtree. The environment variable accepts a repository ID, not a browser URL.

The old changed_tree/... path came from a local delivery package. The migration script only repackaged those supplied files; it was not required for exploration. I removed the script and package-specific instructions, addressing the follow-up question as well. Updated in 4753e89.

上的规范复现清单。它固定 ``target`` 环境 split、依赖 revision、memory 边界、
task/seed 矩阵、cell 时限、成功来源与重试规则;协议 ID 为
``robocasa-harness-vla-v1``:
``robocasa-harness-vla-v2``:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

what is 协议 ID used?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The protocol ID identifies the result format and evaluation rules so the validator can distinguish historical v1 records from current v2 records. It does not select or pin the memory data version. Both guides now state this directly (4753e89).

``<output_dir>/vla_server.log``。

已发布的 Target50 结果
历史 task-only v1 结果

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

a simple description for the old result is enough. for fully table of the old version, give a url to the specific commit.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done. Both guides now retain only a short historical-results summary and link to the full table at a specific, verified code commit. They also distinguish those historical task-only aggregates from the current task-global policy. Updated in 4753e89.

@@ -0,0 +1,2257 @@
{

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

clean the files in this folder

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Removed the one-off JSON/Markdown validation reports and migration utility in 4753e89. The evaluation folder retains runtime result handling, reusable validation code, and the current/historical protocol resources. New validation traces and data-version records remain local rather than being committed.

Comment thread robots/robocasa/README.md Outdated
@@ -16,7 +16,7 @@ launcher.
## Runtime Flow

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

if the content is included in the .rst, this file can be removed.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done. The duplicate robot README is removed, matching current main. Setup and runtime instructions live in the English/Chinese RST guides; the root README entries and HF dataset READMEs now explain the task/global layout. Updated in 4753e89.

Comment thread rpent/cli/main.py Outdated
remote_repo=robot_spec.memory_repo_id,
**(
{
"revision": getattr(args, "memory_revision", None)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

is there a --memory-revision args in the main.py?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The original flag was registered by the RoboCasa robot extension, rather than directly in main.py. It is now removed along with revision forwarding: memory uses the standard unpinned HF sync in both CLI and Dashboard. Tests cover both entry points and memory policies. Updated in 4753e89.

Comment thread rpent/robots/robot_spec.py Outdated
#: extensions can opt into exploration with their own reset semantics.
supports_exploration: bool = False
memory_repo_id: str = "RLinf/RPent-memory"
memory_revision: str | None = None

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

the memory_revision is too redundant

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Agreed; the added RobotSpec.memory_revision field and RoboCasa-specific revision plumbing are removed. The shared RobotSpec, CLI/Dashboard sync and memory manager match current main; mutable HF/local memory sources use the existing interfaces. Updated in 4753e89.

@ye1457 ye1457 changed the title feat(robocasa): add verified task and global memory feat(robocasa): load task and global memory without a corpus manifest Sep 17, 2026
Comment thread robots/robocasa/toolkit.py Outdated
Comment thread robots/robocasa/prompt_bundle.py Outdated
@Sonorous281

Copy link
Copy Markdown
Collaborator

Do RoboCasa Target50 runs need a strict reproducibility branch or a pinned HF revision for this memory, or is following the mutable main branch intentional? if strict reproduction is required, could we record the resolved revision or content hash in the result metadata?

@ye1457

ye1457 commented Sep 19, 2026

Copy link
Copy Markdown
Contributor Author

@Sonorous281 Following mutable main is intentional in this PR so memory can continue to be updated; HF reproduce/memory is also a maintained branch, not a frozen snapshot. HF #10 and #11 are now merged, and I rechecked that both branches contain the same 103 RoboCasa memory bodies plus README, with no CORPUS.json.

For a strict comparison, download once, keep those exact files unchanged, and run every cell against that directory with --memory-profile local --memory-dir. Record the resolved HF commit or file hashes in local experiment notes alongside the preserved files. This PR does not pin the data or add revision/hash fields to result metadata.

The paired guides now make that scope explicit: the v2 validator checks memory policy and read completeness, but does not establish content equality between runs (977378a). Replying to #190 (comment) .

@ye1457 ye1457 changed the title feat(robocasa): load task and global memory without a corpus manifest feat(memory): standardize task layers and enable RoboCasa global memory Sep 20, 2026
Comment thread docs/source-en/rst_source/usage/robocasa.rst Outdated
``robocasa-harness-vla-v1``. Source dependencies follow the recorded ``rpent``
branches and must be recorded at their resolved revisions for each run:
The current ``robots/robocasa/eval/target50_v2.json`` protocol
(``robocasa-harness-vla-v2``) uses task/global memory without pinning its

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I’m really confused, how these protocols relate to the leaderboard. Were the robocasa leaderboard results produced using target50_v2.json?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Also, why was astra result evaluated on 250 cells while gpt5.5 and opus used 340 cell?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Clarified in 2cffcdc: the leaderboard reports scores independently; the two manifests define evaluation and validation rules. V1 is kept for historical records, while v2 describes current task-specific + global runs with a GPT-5.5 reference profile—we cannot claim that all existing leaderboard entries came from v2. Both guides now use the leaderboard's GPT-5.5 values (57.1% overall; 92.0% / 61.0% / 13.8% by split), and the older per-task counts are marked as historical.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The 250-cell figure was outdated. The contributor confirmed 340 cells in #205; I synced main and updated both guides in 2cffcdc to 180/80/80, keeping the leaderboard's reported Astra rates (59.20% overall; 87.78% / 43.75% / 42.50%). No success counts were reconstructed from rounded percentages.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Rechecked the current head with #202 on latest main: v1 remains for historical records; v2 describes task-specific + global runs, not the provenance of every leaderboard entry. Both guides report Astra as 340 cells (180/80/80), preserving leaderboard rates without inferring success counts. The existing changes remain in place. Combined validation: 673 passed, 3 skipped; pre-commit and strict EN/ZH builds passed.

Comment thread tests/unit_tests/robots/robocasa/conftest.py
@QuanluZhang
QuanluZhang self-requested a review September 22, 2026 07:54
@ye1457

ye1457 commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

Updated for #164 in 89c8566. Exploration keeps inbox writes, attempt limits, reset and recipe export; evaluation keeps on-demand task/global access and no-reset. Local evaluation rejects missing global memory and competing task pairs.

Combined with #201/#202: 693 tests passed, 3 optional-dependency skips; pre-commit and both docs builds pass. Five real model/MCP read checks passed. The native-layout case uses an explicitly synthetic export/merge fixture, with no robot episode.

@ye1457
ye1457 force-pushed the feat/robocasa-global-memory branch from 89c8566 to f6acde3 Compare September 25, 2026 10:09
@ye1457

ye1457 commented Sep 25, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main eecf2069, preserving the memory and exploration changes from the earlier merge commits. The guides now distinguish the frozen GPT-5.5 reproduction corpus from future main updates. Combined with #201/#202/#215: 697 tests passed, 3 optional-dependency skips; pre-commit and both docs builds passed. Three actual model/MCP read checks passed with no robot actions.

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.

4 participants