fix(settings/agents): exclude noise from drift detection
All checks were successful
Build & Deploy / build-and-deploy (push) Successful in 32s

Two false positives surfaced after the Agents tab went live:

1. status (running/idle/paused) is runtime state, not config — drops in
   and out as agents pick up issues. Removed from _DRIFT_FIELDS.

2. desiredSkills compared raw, but local/* and company/* skills carry
   per-company hashes/scopes by design (sync_agents_across_companies.py
   filters local skills with a warning). Comparing them flags every
   master+mirror pair that has any local skill on master.

Now compares only paperclipai/* skills (vendor-shipped, must match).
UI shows an inline note explaining the filter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-04 17:39:17 +00:00
parent 702c01d678
commit 69e153b3db
2 changed files with 32 additions and 11 deletions

View File

@@ -336,16 +336,21 @@ export function AgentsTab() {
<div className="space-y-4">
<Card className="bg-surface border-rule shadow-sm">
<CardContent className="px-5 py-4 flex items-center justify-between gap-3 flex-wrap">
<div className="text-[0.85rem] text-ink-muted">
{data.pairs.length} סוכנים × 2 חברות (CMP master / CMPA mirror)
{totalDrift > 0 && (
<span className="text-warn ms-2">
· {totalDrift} פערי סנכרון
</span>
)}
{missingCount > 0 && (
<span className="text-danger ms-2">· {missingCount} זוגות לא שלמים</span>
)}
<div className="space-y-1">
<div className="text-[0.85rem] text-ink-muted">
{data.pairs.length} סוכנים × 2 חברות (CMP master / CMPA mirror)
{totalDrift > 0 && (
<span className="text-warn ms-2">
· {totalDrift} פערי סנכרון
</span>
)}
{missingCount > 0 && (
<span className="text-danger ms-2">· {missingCount} זוגות לא שלמים</span>
)}
</div>
<div className="text-[0.7rem] text-ink-light">
פערי skills מחושבים על paperclipai/* בלבד. local/* ו-company/* מסוננים שם שונה בין החברות הוא צפוי.
</div>
</div>
<Button
variant="outline"