Skip to content

test(agents): committed-rename recovery challenge pack - #1

Draft
Audacity88 wants to merge 2 commits into
masterfrom
cursor/committed-rename-recovery-4295
Draft

Audacity88 wants to merge 2 commits into
masterfrom
cursor/committed-rename-recovery-4295

Conversation

@Audacity88

@Audacity88 Audacity88 commented Sep 22, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Base branch: master (all contributions)
  • What changed and why:
    • Adds an Olympus fail-to-pass pack for shared recovery of an agent rename that has already committed, covering the CLI, gateway map-key handlers, and RPC.
    • artifacts/test.patch adds the harness and hidden tests. artifacts/solution.patch is the reference fix and is not applied on this branch.
    • Rebased onto current master (fb116d612). The original issue pin c1e79a774 is the parent of that master commit. The only commit this work adds is the artifacts/ pack.
  • Scope boundary: Does not change runtime behavior on this branch. Knowledge-graph rename ownership is out of scope of the solution patch. The pack does not edit generated locale files other than the English CLI catalogue inside the solution patch.
  • Blast radius: None until a consumer applies solution.patch. That patch changes CLI, gateway, and RPC agent rename/create so they share one recovery record.
  • Linked issue(s): Related upstream issue 10373 ([Bug]: Share committed agent-rename recovery across CLI and gateway zeroclaw-labs/zeroclaw#10373). This pack does not close that issue.
  • Labels: none applied

Testing (required)

How you can test (when useful)

  • Reviewer testing requested? Yes
  • Interface(s) exercised: cli (zeroclaw agents rename / agents create), gateway config map-key rename and create, RPC config/map-key-rename and config/map-key-create
  • Setup / preconditions: repository root at this branch; Rust 1.96; cargo registry already fetched (cargo fetch --locked)
  • Steps to run:
    1. git apply artifacts/test.patch
    2. ./test.sh --output_path /tmp/junit-base.xml base and confirm a non-zero exit
    3. git apply artifacts/solution.patch
    4. ./test.sh --output_path /tmp/junit-new.xml new and confirm exit 0
  • Expected on this branch (after): step 2 fails assertions (exit 1, 12 failures). Step 4 passes (exit 0, 12 tests, 0 failures).
  • Prior behavior on master (before): without solution.patch, the CLI reports a committed rename as an invalid or missing alias, and an unreadable follower does not block recreating the retired alias.

How I tested

./test.sh --output_path /tmp/junit-base.xml base
git apply artifacts/solution.patch
./test.sh --output_path /tmp/junit-new.xml new
git apply --check artifacts/test.patch
git apply --check artifacts/solution.patch
  • CI checks relied on and why they cover this change: none yet; this is a draft challenge pack. Local test.sh covers the CLI binary plus the gateway lib tests named committed_rename.
  • Known CI coverage gap, if any: docker build -f artifacts/Dockerfile . was not run. The fail-to-pass test.sh runs were on the original pin, before the rebase onto fb116d612. After the rebase, both patches still apply (git apply --check).
  • Commands run and tail output:
    • On the original pin: ./test.sh ... base → exit 1, JUnit tests="12" failures="12"; ./test.sh ... new → exit 0, JUnit tests="12" failures="0"
    • On fb116d612: git apply --check succeeded for both patches. Their path sets are disjoint (7 solution files, 5 test files).
  • Beyond CI, what did you manually verify? Base vs new harness on the pin, and patch application on updated master. Did not re-run the suite or boot the Dockerfile image after the rebase.
  • Visual interface evidence: N/A. No user-visible layout or rendered interface changed in the committed tree.
  • Tested revision, interface, and evidence path: cursor/committed-rename-recovery-4295 rebased onto fb116d612
  • Screenshot or exact-output evidence: N/A
  • Action or changed state and observed result: applying only test.patch made all 12 harness tests fail on the pin; applying solution.patch as well made all 12 pass. Both patches still apply on updated master.
  • If any command was intentionally skipped, why: full cargo test and ./dev/ci.sh all were skipped because the harness targets are the changed surface. The suite was not re-run after the rebase because master's new commit does not touch the rename handlers. Docker image build was skipped.

Security & Privacy Impact (required)

  • New permissions, capabilities, or file system access scope? No
  • New external network calls? No
  • Secrets / tokens / credentials handling changed? No
  • PII, real identities, or personal data in diff, tests, fixtures, or docs? No
  • Prompt injection or untrusted model-visible text introduced/changed? No
  • If any Yes, describe the risk and mitigation:

The committed tree only adds the challenge pack. The unapplied solution patch reads and writes recovery state under the existing data directory and does not add a network surface.

Compatibility (required)

  • Backward compatible? Yes
  • Config / env / CLI surface changed? No
  • Rust/MSRV/toolchain floor changed? No
  • If backward compatibility is No or either surface/floor question is Yes: exact upgrade steps for existing users:

This branch does not apply solution.patch. Applying that patch changes rename/create behavior for the CLI, gateway, and RPC as described in artifacts/task_prompt.txt.

Rollback (required for medium/high-risk PRs)

Low-risk PRs: git revert <sha> is the plan unless otherwise noted.

git revert of the artifacts commit removes the pack. No feature flag.

Open in Web Open in Cursor 

Comment thread apps/zerocode/src/main.rs Fixed
Comment thread artifacts/Dockerfile
&& cargo test --offline --no-run --test committed_agent_rename \
&& cargo test --offline --no-run -p zeroclaw-gateway --lib

CMD ["bash"]
cursoragent and others added 2 commits September 22, 2026 03:57
Package a fail-to-pass harness for one recovery contract shared by the
CLI, gateway, and RPC after an agent rename has already committed.

Co-authored-by: Dan Gilles <Audacity88@users.noreply.github.com>
Record that both patches still apply on fb116d6.

Co-authored-by: Dan Gilles <Audacity88@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants