Paperclip

Paperclip adds delivery attestations before terminal transitions

Paperclip proposes a delivery-attestation schema and gate for workspace delivery, a first-class repository catalog with scoped access and resumable recovery when the graph has no remaining edge. The cluster treats completion as a proved transition rather than a hopeful status flag.

← Back to homeOriginal source ↗

paperclipai/paperclip PR #9550 is the inspected primary source: “feat(server): delivery attestation schema + workspace_delivery terminal-transition gate.” The related records below were inspected as supporting context rather than independent confirmation.

The facts

- paperclipai/paperclip PR #9550 was created 2026-07-14T12:11:07Z and was open at inspection; its title is “feat(server): delivery attestation schema + workspace_delivery terminal-transition gate.” - paperclipai/paperclip PR #11234 was created 2026-08-11T20:58:54Z and was open at inspection; its title is “feat(repositories): add first-class repository catalog and access.” - paperclipai/paperclip PR #11239 was created 2026-08-11T23:48:57Z and was open at inspection; its title is “fix(recovery): keep edgeless recovery resumable.” - The repository reported 77169 stars, 5078 open issues, default branch master, and last push 2026-08-12T01:06:07Z. - The latest tagged-release baseline checked was v2026.722.0 published 2026-07-22T23:05:41Z.

What changed

paperclipai/paperclip PR #9550 reports: Implements Phase 2b of the target/provenance and attestation contract (TRY-715). Tracking: Paperclip TRY-715, TRY-699 Thinking Path Three separate agent false-completion events (TRY-677, TRY-648, TRY-684) all shared the same root cause: agents were dispatched to a project_primary workspace with repoUrl=null, no git remote, and no sync target. The existing git-sensitive workspace guard did not fire for this shape, allowing agents to build unrelated files and self-report done without any delivery evidence. The fix is server-side: require workspace delivery attestation and gate the terminal done-transition on it. What Changed **Schema**: Added completionRequirement and completionRequirementRevision columns to issues table **Schema**: Added defaultCompletionRequirement column to project_workspaces table **Migration**: 0125_issue_completion_requirement.sql with journal entry **Server**: heartbeat.ts - assertGitSensitiveAdapterWorkspaceValid now rejects dispatch when completionRequirement === "workspace_delivery" and the resolved workspace has source === "project_primary" with no repoUrl (null_repo_delivery_required) **Tests**: 92 tests passing in heartbeat-workspace-session.test.ts Verification pnpm vitest run server/src/__tests__/heartbeat-workspace-session.test.ts - 92/92 passing Confirmed the guard rejects null-repo project_primary dispatch for workspace_delivery issues Confirmed valid registered targets remain productive (no false blocks) Risks **Low**: Existing issues without completionRequirement set are unaffected (null =

paperclipai/paperclip PR #11234 reports: Thinking Path - Paperclip is the open source control plane that people use to manage AI agents for work - Agents often plan and execute work across several source repositories - Paperclip currently stores a repository URL on an execution workspace, so it cannot model one repository across projects or several repositories on one project - A repository catalog must stay separate from project visibility, agent access, provider credentials, and concrete execution workspaces - Provider support must also extend outside the core without giving plugins control of access rules or secret storage - This pull request adds a company repository catalog, project hints, direct agent grants, provider contracts, GitHub.com connection flows, portable import and export, and repository-aware agent context - The benefit is that operators can manage repository relationships once while Paperclip keeps authorization, secrets, and runtime workspace selection explicit Linked Issues or Issue Description No public GitHub issue describes the complete change. This description follows the feature request template. Subsystem affected** Cross-cutting. This change updates the database, shared contracts, server, plugin SDK, board UI,

paperclipai/paperclip PR #11239 reports: Thinking Path - Paperclip is the open source control plane for teams of AI agents. - The recovery service keeps issue state aligned with agent execution state. - Terminal-run recovery can find an assigned issue with no live execution path. - The old path used blocked even when the issue had no unresolved blocker. - An edgeless blocked issue has no dependency event that can make it active again. - A source-scoped recovery action must own the next recovery step without competing with normal dispatch. - This pull request keeps recovery state resumable and makes the recovery action explicit. - The benefit is safer recovery with bounded retries and race-resistant state changes. Linked Issues or Issue Description Refs #5991 Refs #6750 Refs #3882 What Changed Keep a stranded issue in todo when it has no unresolved blocker. Preserve the original assignee for edgeless recovery. Create a source-scoped recovery action for operator attention. Retry assignment recovery up to three times with exponential backoff. Complete a routine execution issue when its active routine still has an enabled

Why it matters

Agent work is not complete because a worker says so. Delivery, repository authority and recovery disposition need machine-checkable receipts before an issue crosses into a terminal state. The operator test is whether visible output, retained state and authority still describe the same event after retries, background work or restart.

Current

The primary record was open when captured on 2026-08-12. The tagged-release baseline was v2026.722.0 published 2026-07-22T23:05:41Z. Repository metadata, full source bodies, current pull requests and issues, releases, Google News, Hacker News, Lobsters, Metamesh and the rendered ClawCharts row were inspected. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/paperclipai/paperclip/pull/9550. Supporting records are https://github.com/paperclipai/paperclip/pull/11234 and https://github.com/paperclipai/paperclip/pull/11239. Source bodies, timestamps and states are preserved in the daily evidence bundle. Test counts and reproductions remain attributed to their authors unless identified as independently rerun.

Source boundary

Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Gate completion on durable evidence, bind repository access to the run that used it, and preserve enough recovery state to resume without replaying external work. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently.

Caveat

Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.

Source inspected; source state, environment and release boundary remain explicit.