fix(review): four findings from adversarial Codex review round 1
- twitter: align backend selection with the two-phase findings pattern — an unauthenticated twitter-cli (warn) no longer blocks a fully-working OpenCLI (ok) further down the candidate list - watch: use _is_newer_version like check-update (the != comparison kept the downgrade prompt this branch fixed elsewhere) - uninstall: third copy of the skill-dir removal also gets the symlink guard (full `agent-reach uninstall` path) - doctor: a stale active_backend from a previous check on the singleton channel no longer leaks into an errored result +4 regression tests (162 total). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,15 +19,18 @@ def check_all(config: Config) -> Dict[str, dict]:
|
||||
for ch in get_all_channels():
|
||||
try:
|
||||
status, message = ch.check(config)
|
||||
active = getattr(ch, "active_backend", None)
|
||||
except Exception as e: # noqa: BLE001 — doctor must survive any channel
|
||||
status, message = "error", f"体检异常:{e}"
|
||||
# Channels are registry singletons: a stale active_backend from a
|
||||
# previous check must not leak into an errored result.
|
||||
status, message, active = "error", f"体检异常:{e}", None
|
||||
results[ch.name] = {
|
||||
"status": status,
|
||||
"name": ch.description,
|
||||
"message": message,
|
||||
"tier": ch.tier,
|
||||
"backends": ch.backends,
|
||||
"active_backend": getattr(ch, "active_backend", None),
|
||||
"active_backend": active,
|
||||
}
|
||||
return results
|
||||
|
||||
|
||||
Reference in New Issue
Block a user