Back Home

GitHub Repo

Paperclip Community Reports Timestamp Precision Mismatch That May Leave Agents Stuck Pausing After Cancellation

A Paperclip community report on October 18 says differences in lease timestamp precision between the database and JavaScript may prevent agents from completing a pause or termination. The reporter says a local change cleared the stuck state, but a released fix and the full scope of impact remain unconfirmed.

Kuebi Armin Kübelbeck · CC BY-SA 3.0 · Image source
zh-Hant

Open-source agent management platform Paperclip received a report on October 18 about a lifecycle control issue: after a native execution run is canceled, a stale finalization coordination record may remain, causing a subsequent attempt to pause or terminate the agent to hang indefinitely. The reported environment was 2026.1012.1-beta.0. The evidence currently comes from community-provided code paths, reproduction steps, and the results of a local change. Issue report

The report attributes the issue to a round-trip conversion of lease expiration times. The renewal flow writes a timestamp using the database's now() plus the lease duration. The stop check converts the value it reads to a millisecond-precision JavaScript Date, then uses exact timestamp equality as the condition for releasing the record. If the original value has finer fractional precision, the conditional update may fail to find the row, causing the stop check to keep treating the operation as incomplete. Technical analysis

This diagnosis involves a clear data-type boundary. PostgreSQL's official documentation states that timestamps with and without time zones have microsecond resolution, and that fractional-second precision can be up to six digits. For illustration, if a database value of .123456 seconds is converted to .123 seconds, using the converted value to look up the original timestamp no longer compares equal. This example is inferred from the documentation and the reported mechanism. PostgreSQL date/time types documentation

Paperclip coordinates multiple agents, tracks tasks and costs, and provides pause, resume, and termination controls. Whether finalization states resolve correctly is therefore a practical control-plane reliability concern. However, a UI stuck at pausing by itself does not prove that a model is still running or continuing to incur costs; execution processes and logs must also be checked. Project overview

The reporter recommends standardizing comparisons at millisecond precision or having lease renewals also write JavaScript date values. They say that after applying a comparison change, the stuck agent left the pausing state within one minute. Engineering teams should next check whether a fix preserves lease concurrency protections and add tests for interactions among cancellation, renewal, and finalization. As of this review, no released fix has been confirmed, and there is insufficient evidence to generalize the impact across all deployments. Suggested fix and limitations

Sources

  1. Agent pause never finishes: finaliser lease release compares a microsecond timestamp with a millisecond Date
  2. PostgreSQL Documentation: Date/Time Types
  3. Paperclip 官方儲存庫與架構說明