mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-15 12:28:10 +02:00
QA review of the Tailscale connector found five defects and a doc claim: - Catalog refresh reused a stored probe summary even after a later health check failed, reporting the connection healthy without contacting Tailscale. Reuse now requires healthStatus ok, a healthCheckedAt no older than the summary, and a probe fingerprint (tailnet, agent tag, secret versions) that still matches the connection. - The health check wrote the whole in-memory config back, restoring a tailnet or tag an operator saved during the probe. It now merges only config.tailscale with a jsonb merge fenced on methodConfig and credentialSecretRefs being unchanged, and reports tailscale_connection_changed (409, degraded) when the fence fails. - A create-key response with a usable id but invalid other fields skipped deletion; the key is now deleted before the shape error is thrown. - A cleanup failure after a tag validation failure was hidden behind the tag error; the cleanup failure is now primary and the superseded error is kept in details.secondary and appended to the message. - A response stream that failed mid-body threw a raw TypeError; it is now normalized to tailscale_request_failed. - The catalog and doc no longer claim agents get network reach from this connection. Tests cover each case in the API unit suite and the embedded-Postgres lifecycle suite. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>