Repository navigation
tests: e2e coverage for the continual harness - #48
Merged
mannuch merged 2 commits intoNov 3, 2026
Merged
Conversation
Four end-to-end tests, each in the local, stdio and tcp placements: the agent records a memory through the brokered harness view; a global memory reaches the next session; an authored skill package written in one session is callable in the next (through the skills mirror in split execution); and a later session reads a past episode's history. The e2e fixture gains a `harness` option, a fresh workspace per session and a session_dir keyed by session id, so one test can open several sessions on a shared RLM_HOME. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mannuch
marked this pull request as ready for review
November 3, 2026 00:40
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #46. Adds end-to-end tests for the fork's continual harness to the hosted-model suite in
tests/e2e. Like the rest of the suite, each answer exists only behind the feature under test, and every test runs in all three placements (local,stdio,tcp).Tests (
tests/e2e/test_harness.py)test_agent_records_a_memory: the agent saves a codeword fromsecret.txtwithh.create_memory. It must land in the session'sharness/harness_state.jsonand in the snapshot's local memory count. In split placements this goes through the brokeredharness.callpath.test_global_memory_reaches_the_next_session: session 1 saves the codeword to a sharedglobal_dir. Session 2 has nosecret.txt, so it can only answer from the harness block in its prompt.test_authored_skill_works_in_the_next_session: withauthor_skills, session 1 writes avaultpackage. It must appear under$RLM_HOME/skills, which in split placements means the skills mirror wrote it back. Session 2 must callvault(...)and return its stamp.test_next_session_reads_a_past_episode: withrecord_episodes, session 1 prints a random token and answers "done". Session 2 must find the episode and read the token from its ledger withhistory(...).In the e2e setup the split workers share the test machine's filesystem, so
history(path)reads the past ledger directly. The broker fallback for missing paths is still covered only by unit tests.Fixture changes (
tests/e2e/conftest.py)open_sessiontakes aharnessoption, passed through as the runtime'sharnessfield.workspace-*temp directory, so one test can open several sessions on a sharedRLM_HOME.AgentSession.session_dirishome/sessions/<session_id>(the ACP session id is the session directory's name) instead of assuming a single directory.These are fork changes to an upstream file, so they may need attention when syncing.
Test plan
uv run pytest tests/e2e/test_harness.py -m e2e: all 12 cases passed locally against Prime Inference.🤖 Generated with Claude Code