Files
multi-agent-mux/.agents/reports/reviewer-hermes-01/report-2e6f01f4.md
T
Godopu f57cd5cdde 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
2026-08-28 22:38:48 +09:00

5.4 KiB
Raw Blame History

📋 Code Review Report — cline Deprecation Consensus Opinion Rev.3 (Job 2e6f01f4)

  • Reviewer: reviewer-hermes-01 (role: reviewer) — participant in the reviewed consensus (job 57f33eff) and author of the prior NOT PASS review (job bc68ed65); this review judges only whether Rev.3 faithfully and accurately incorporates the two review rounds.
  • Reviewed diff: one file — .agents/reports/cline_deprecation_opinion.md (Rev.2 → Rev.3, 105 → 109 lines; blob f818c6e229ad1e, hash verified against working tree). No code changes.
  • Context: my previous review (job bc68ed65) issued [VERDICT: NOT PASS] with two blocking factual defects; grok's review (job 0a056794) raised its own points. This revision claims to fix both (F1, F2) plus an attribution refinement (F3).

1. Prior Blocking Defects — Correction Verification

1.1 F1 — flag inventory (my bc68ed65 §2.2) → FIXED, accurately

Rev.3 §3.2 now states: cline --help shows --auto-approve <boolean> (default true) and -k, --key <api-key> for startup key injection, bounding its scope explicitly — "cannot refresh an expired credential mid-task nor suppress the interactive TUI fallback"; and confirms no --headless/--non-interactive flag exists. §6.2's parenthetical is updated consistently ("-k, --key only provides startup key override"). My re-verification against the live CLI (v3.0.60): --auto-approve default true ; -k, --key <api-key> present ; no --headless/--non-interactive . The corrected scoping is exactly the right technical characterization — it neither overstates nor understates what -k buys.

1.2 F2 — drift-C modernization status (my other blocking defect) → FIXED, accurately

§2 point 3 and §6.1 now state: sibling-exclusion + epoch discipline exist only in agy (~692) and hermes (~742); claude (~637) and cline (~785) both lack it, and §6.1's urgent fix now covers both cline and claude blocks. Line references re-verified against live code: block markers at 637/676/725/785; sibling_claimed present only at 692 (agy) and 742 (hermes) — claude's block (637665) verifies against raw s. All four line numbers in the document are correct. The omission that made Rev.2 not-passable is fully remediated.

1.3 F3 — consensus attribution (grok's review) → FIXED

§2.3/§6.1 now attribute positions correctly (Hermes: RETAIN-condition; Planner: urgent; Grok: delete-if-REMOVE). Grok's review job 0a056794 exists with the expected brief, and its original report (e0916903) indeed recommends REMOVE as summarized in §1's table.

2. Carry-Over Claims — Re-verified (no regression between Rev.2 → Rev.3)

Claim Status
§3.1 modal-check scope (spawn + injection-time only, never continuous) — lib.sh _pane_dialog_open consumers re-confirmed (wait_for_tui_ready:1888, send_keys_safe:2081 are the only consumers)
§3.3 / §2.4: 40 standalone sessions, oldest 1782614591159_mrkxj re-confirmed live
§2.2: only claude.py + cline.py override modal_tokens
§2.6 / §5: blast-radius enumeration (incl. 5-tuple whitelist assertion in test_tier1_unit.py:963, fixture names) re-confirmed
§2.5 / §5: cline timestamp IDs, orc_onboard regex ^[0-9]{10,}_[0-9A-Za-z]+$ (L6970), argv0-aware ancestor walk + cline argv parsing (--id/--session-id, orc_onboard.sh:128129), per-family env vars (L147) all confirmed — the §5 "node-as-argv0 ancestor-walk accommodation" claim is accurate: detect_nearest_agent (orc_onboard.sh:76164) walks ancestors via ps -o command=, basename-matches agent tokens, and parses cline's --id from the command line; test_o31_cline_node_launcher_id_format (exec -a argv0 rewrite) covers exactly this
§4 honest 21 split; final decision deferred to GM preserved in Rev.3

3. Residual Findings (non-blocking)

  1. [Info — nuance, no doc change required] claude's epoch story differs in kind from cline's: claude.py::verify_artifact still uses a file-level getmtime check (claude.py:54), but each claude session is one .jsonl file, so file-mtime is row-level there — unlike hermes's shared state.db, which is why hermes needed the row-level rewrite and claude does not. Rev.3's §6.1 correctly treats claude and cline as equally structurally un-modernized (both lack sibling exclusion in reconcile.sh); readers should note the adapter-level epoch mechanics differ (claude's per-file mtime is adequate; cline's per-file mtime likewise). This nuance does not change §6.1's operative instruction.
  2. [Info] §6.2's MULTI_AGENT_RULES.md capability-restriction remains a protocol-document change requiring GM + Team Leader consent per that document's own amendment clause — correctly framed as a recommendation, not an enacted rule.
  3. [Info] No lint issues (markdown-only diff).

4. Assessment

Both blocking defects from job bc68ed65 are corrected faithfully — not merely acknowledged, but with correct line-level references and properly bounded flag semantics. The F3 attribution addition (grok's REMOVE-side framing of the drift block as deletable debt) is a genuine improvement in consensus fidelity. All checkable claims now survive direct verification against the live repo, live CLI, and live environment. The document maintains its honest 21 split presentation and correct GM deferral.

[VERDICT: PASS]