{"repo":"NousResearch/hermes-agent","public_id":"72000","display_label":"Test isolation: prevent mutation of live checkout","summary":"These items address a problem where update and recovery tests were mutating the live repository checkout, including writing markers at the repo root and triggering real reinstalls of the active venv. The work involves adding guards, repairing paths, and fixing order-dependence to achieve stable, sandboxed test runs.","subsystem":"hermes_cli","counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":74576,"merged_at":"2026-07-30T04:30:54+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-07-30T04:30:54+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":36555,"pr_number":74576,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-07-30T04:30:54+00:00"},{"issue_number":57068,"pr_number":74576,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-07-30T04:30:54+00:00"},{"issue_number":72000,"pr_number":74576,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-07-30T04:30:54+00:00"},{"issue_number":73144,"pr_number":74576,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-07-30T04:30:54+00:00"}],"members":[{"kind":"issue","number":72000,"title":"tests: unsandboxed update/recovery tests mutate the live checkout (repo-root markers; real force-reinstall of the executing venv)","url":null,"state":"closed"},{"kind":"pr","number":72002,"title":"fix(update): test runs never mutate the live checkout — pytest-guard the marker and repair paths","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"f3082198d2","number":0},{"kind":"pr","value":"#74576","number":74576}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":74576,"title":"test: round-3 stability closeout — 12 salvaged PRs, order-dependence root fixes, guard precision","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":[".gitignore",".lazy-refresh-incomplete","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","hermes_cli/_early_recovery.py","hermes_cli/main.py","hermes_cli/update_cmd.py","pyproject.toml","scripts/run_tests.sh","scripts/run_tests_parallel.py","tests/agent/test_context_refs_concurrent.py","tests/agent/test_memory_boundary_commit.py","tests/cli/test_cli_yolo_toggle.py","tests/conftest.py","tests/gateway/conftest.py","tests/gateway/test_dm_topics.py","tests/hermes_cli/test_backup.py","tests/hermes_cli/test_checkout_mutation_guards.py","tests/hermes_cli/test_signal_handler_kanban_worker.py","tests/plugins/memory/test_mem0_v3.py","tests/test_live_system_guard.py","tests/test_run_tests_parallel.py","tests/test_run_tests_parallel_stdio.py","tests/tools/test_fal_common.py","tests/tools/test_homeassistant_tool.py","tests/tools/test_vercel_sandbox_environment.py","tests/tui_gateway/test_compaction_status.py","tests/tui_gateway/test_goal_command.py","tests/tui_gateway/test_inline_rpc_gil_starvation.py","tests/tui_gateway/test_moa_reference_emit.py","tests/tui_gateway/test_protocol.py","tests/tui_gateway/test_review_summary_callback.py","tests/tui_gateway/test_subagent_child_mirror.py","tests/tui_gateway/test_undo_command.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}