feat(agent): deprecate and completely remove cline agent support

- Delete adapters/cline.py and unregister from registry.py
- Remove cline branches from lib.sh and all 8 skill scripts (create, resume, stop, status, reconcile, update_yaml_resumed, resolve_session_id, orc_onboard)
- Narrow own-key mapping dictionaries across lib_py core modules to 4 supported agents
- Delete cline-exclusive tests and retarget shared fixtures to grok/hermes/claude
- Update skills documentation and installation guides (439 passed, 0 failures)
- Archive cline deprecation consensus and review reports
This commit is contained in:
2026-08-28 22:38:48 +09:00
parent e0c0c107f5
commit f57cd5cdde
40 changed files with 530 additions and 411 deletions
+2 -30
View File
@@ -13,7 +13,7 @@ ONBOARD_SH = REPO_ROOT / ".agents" / "skills" / "multi-agent-mux-orc-onboard" /
RECONCILE_SH = REPO_ROOT / ".agents" / "skills" / "multi-agent-mux-monitor" / "scripts" / "reconcile.sh"
SCRUBBED_ENV = dict(os.environ)
for k in ["CLAUDE_CODE_SESSION_ID", "ANTIGRAVITY_CONVERSATION_ID", "HERMES_SESSION_ID", "CLINE_SESSION_ID", "MAM_ORCHESTRATOR_UUIDS"]:
for k in ["CLAUDE_CODE_SESSION_ID", "ANTIGRAVITY_CONVERSATION_ID", "HERMES_SESSION_ID", "MAM_ORCHESTRATOR_UUIDS"]:
SCRUBBED_ENV.pop(k, None)
SCRUBBED_ENV["PYTHONPATH"] = f"{LIB_SH.parent}:{SCRUBBED_ENV.get('PYTHONPATH', '')}"
@@ -490,25 +490,10 @@ def test_o30_argv_precedes_env(mam_sandbox):
assert env_uuid not in res_list.stdout
# O-31: cline node launcher & non-UUID ID format (1785635248957_fajon)
def test_o31_cline_node_launcher_id_format(mam_sandbox):
cline_id = "1785635248957_fajon"
env = {
"AGENT_SESSIONS_YAML": str(mam_sandbox / ".mam" / "agent-sessions.yaml"),
"HOME_DIR": str(mam_sandbox)
}
cmd = f"exec -a 'cline --id {cline_id}' bash '{ONBOARD_SH}'"
res = subprocess.run(["bash", "-c", cmd], capture_output=True, text=True, env={**SCRUBBED_ENV, **env}, cwd=str(mam_sandbox))
assert res.returncode == 0
res_list = run_onboard(["--list"], env=env, cwd=str(mam_sandbox))
assert cline_id in res_list.stdout
# O-32: ID format strictness rejects invalid strings
def test_o32_id_format_strictness(mam_sandbox):
env = {"AGENT_SESSIONS_YAML": str(mam_sandbox / ".mam" / "agent-sessions.yaml"), "HOME_DIR": str(mam_sandbox)}
for bad in ["../../etc/passwd", "a b", "fajon", "1785635248957"]:
for bad in ["../../etc/passwd", "a b", "fajon", "1785635248957", "1785635248957_fajon"]:
res = run_onboard(["--uuid", bad], env=env, cwd=str(mam_sandbox))
assert res.returncode == 2
@@ -565,19 +550,6 @@ def test_o38_atomic_dump_yaml_initialization(mam_sandbox):
assert orc_uuid in yaml_path.read_text()
# O-39: cline agent family discovery exclusion in verify_session_uuid
def test_o39_cline_orchestrator_exclusion(mam_sandbox):
cline_id = "1785635248957_fajon"
c_dir = mam_sandbox / ".cline" / "data" / "sessions" / cline_id
c_dir.mkdir(parents=True, exist_ok=True)
(c_dir / f"{cline_id}.json").write_text(json.dumps({"session_id": cline_id}))
state = {"orchestrator_uuids": [cline_id], "herdr_sessions": []}
env = dump_state(mam_sandbox, state)
row = {"name": "subagent", "cline_conversation_id_own": None, "pane": {"cwd": str(mam_sandbox)}}
assert not run_verify_uuid(str(mam_sandbox), "cline", cline_id, row=row, mode="discover", env=env)
# O-40: Malformed orchestrator_uuids logs warning to stderr and degrades gracefully
def test_o40_malformed_orchestrator_uuids_degrades_open(mam_sandbox):
sub_uuid = "02222222-2222-2222-2222-222222222222"