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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user