{"repo":"NousResearch/hermes-agent","public_id":"27003","display_label":"Anthropic tests leaking into macOS Keychain and browser","summary":"A cluster of bugs and fixes addressing test isolation failures where the Anthropic adapter test suite inadvertently reads from the developer's macOS Keychain or opens real browser OAuth flows during local runs. Work spans hardening keychain output parsing and mocking out system-level side effects.","subsystem":"agent","counts":{"members":12,"open_issues":1,"open_issues_distinct":1,"open_prs":2,"closed_issues":3,"merged_prs":1,"attempt_prs":7},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":74517},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-07-30T01:55:10+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.17333333333333334},"fix_edges":[{"issue_number":35404,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":38034,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":50681,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":58415,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":58609,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":61597,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":69283,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":70041,"pr_number":74517,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":27003,"title":"Pre-existing failure: test_returns_token_from_credential_files","url":null,"state":"open"},{"kind":"issue","number":35404,"title":"Test suite opens a real browser / xAI OAuth flow + reads the dev's macOS Keychain on local runs","url":null,"state":"closed"},{"kind":"issue","number":58415,"title":"[Bug]: Anthropic OAuth setup-token tests fail on macOS keychain subprocess path","url":null,"state":"closed"},{"kind":"issue","number":58609,"title":"Anthropic adapter tests are not isolated from Claude Code macOS Keychain","url":null,"state":"closed"},{"kind":"pr","number":27065,"title":"fix(anthropic): guard keychain reader against non-string stdout (#27003)","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":35464,"title":"test: guard browser and Keychain side effects","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"45ffeea70a","number":0},{"kind":"pr","value":"#74517","number":74517},{"kind":"pr","value":"#35404","number":35404}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":41880,"title":"test(auth): prevent browser popup during OAuth loopback tests","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":57111,"title":"fix(anthropic): harden keychain credential parsing","url":null,"state":"open","close_reason":{"refs":[{"kind":"pr","value":"#27065","number":27065},{"kind":"pr","value":"#27003","number":27003},{"kind":"pr","value":"#27065","number":27065},{"kind":"pr","value":"#31017","number":31017}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":58419,"title":"test(agent): isolate anthropic oauth setup token from macos keychain","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#74517","number":74517},{"kind":"pr","value":"#35464","number":35464},{"kind":"pr","value":"#35093","number":35093}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":58612,"title":"fix(tests): isolate anthropic adapter tests from macOS Keychain","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#74517","number":74517},{"kind":"pr","value":"#35464","number":35464},{"kind":"pr","value":"#58609","number":58609},{"kind":"pr","value":"#43344","number":43344}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":58613,"title":"fix(tests): isolate Anthropic keychain credentials","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#58612","number":58612},{"kind":"pr","value":"#58609","number":58609},{"kind":"pr","value":"#57111","number":57111},{"kind":"pr","value":"#27065","number":27065}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":74517,"title":"test: land the test-stability backlog — 12 PRs salvaged, Windows hermeticity, fail-closed guards, event-based waits","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":[".github/workflows/tests.yml","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","gateway/restart.py","gateway/slash_commands.py","hermes_cli/web_server.py","hermes_state.py","plugins/memory/honcho/session.py","scripts/run_tests.sh","tests/agent/test_anthropic_keychain.py","tests/agent/test_copilot_acp_client.py","tests/agent/test_vision_routing_31179.py","tests/conftest.py","tests/cron/test_sessiondb_init_hang.py","tests/gateway/test_approve_deny_commands.py","tests/gateway/test_complete_path_at_filter.py","tests/gateway/test_restart_drain.py","tests/gateway/test_restart_service_detection.py","tests/gateway/test_session_store_prune.py","tests/hermes_cli/test_gateway_wsl.py","tests/hermes_cli/test_kanban_write_guard.py","tests/hermes_cli/test_memory_setup_provider_arg.py","tests/hermes_cli/test_web_server.py","tests/honcho_plugin/conftest.py","tests/honcho_plugin/test_async_memory.py","tests/honcho_plugin/test_network_isolation.py","tests/honcho_plugin/test_oauth_flow.py","tests/plugins/memory/test_hindsight_provider.py","tests/test_hermetic_side_effect_guards.py","tests/test_tui_gateway_server.py","tools/session_search_tool.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}