mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-21 16:27:18 +02:00
## Thinking Path > - Paperclip manages AI agents and their work. > - Pipelines was an unused experiment with its own UI, API, CLI, and automation. > - Keeping it leaves unsupported product surfaces and extra task-detail queries. > - Removing the experiment must preserve data that users already saved. > - This pull request removes the feature and keeps its database schema and migration history. > - Cases and Routines remain available as separate features. ## Linked Issues or Issue Description **What existing behavior does this improve?** Remove the unused Pipelines experiment across the application. **Current behavior** The experiment includes pipeline boards, stage settings, case automation, review queues, learnings, permissions, and CLI commands. Task detail also queries pipeline links. **Proposed behavior** Remove all these product surfaces and their implementation. Preserve existing tables, records, and documents. Ignore the retired boolean in older managed configurations so upgrades still start. **Breaking changes** Pipeline URLs, API endpoints, CLI commands, and `pipelines:write` are removed. Task detail no longer includes the old `linkedCases` field. The independent Cases API remains available. No database migration or cleanup is included. Related feature work: #7907, #9110, #10905, #11375, #13004, #14671, #16133. Related issues: #9663, #10310, #10312. This removal supersedes the feature; it does not implement those pending enhancements or delete their saved data. ## What Changed - Remove Pipeline UI pages, navigation, gates, clients, query keys, helpers, and unused design tokens. - Remove Pipeline REST routes, services, automation dispatch, task-detail queries, and OpenAPI discovery. - Remove the CLI commands, shared contracts, experimental flag, catalog entry, and permission defaults. - Remove feature-specific tests, tutorials, smoke scripts, maps, and Storybook examples. - Preserve database schema, migration history, and the reserved document key used by old records. - Keep Cases routes independent and cover obsolete stored and managed settings. ## Verification - Passed: `pnpm build` and `pnpm -r typecheck`. - Passed: targeted settings, managed configuration, sidebar, settings UI, routing, and feature-catalog tests. A first sidebar run caught a shared Workspaces icon import; the import was restored and the sidebar rerun passed. - Passed: 40 tests covering Cases routes, OpenAPI discovery, retained Pipeline table constraints, and schema snapshot drift. - Passed: token gates, map validation, generated API metadata check, Storybook catalog validation, and 28 map/catalog tests. - Passed: isolated local browser verification of navigation and Experimental settings with Pipelines absent; Cases and Routines still open normally. Live GET/POST requests to retired Pipeline endpoints return 404, and the retired setting is absent. CLI help has no Pipeline commands. - Passed: 22 access-service and agent-default-grant tests after restoring unrelated permission assertions flagged in review. - Local full run: `pnpm test:run` reported one failure in the unchanged workspace-runtime port-allocation test. That test passed in an isolated rerun. The long local run was stopped after full CI passed; it is not reported as a complete local pass. - Passed: all 56 checks on `def9181f3a4491d95fca1d38e9739f5b821aae3e` (2 conditional checks skipped), including build, typecheck, test shards, and browser suites. Eleven interrupted CI jobs reported “The operation was canceled”; their one-time retry passed. [CI run](https://github.com/paperclipai/paperclip/actions/runs/39255211006). - Greptile: 5/5 on the final commit, with the only review finding fixed and resolved. - Sandbox socket restrictions affected the first build/API test attempts. The same commands ran with local sockets available. ## Risks - Existing Pipeline clients must stop using the removed endpoints and commands. - Existing data remains in the database and backups, but the removed UI no longer displays it. - Historical boolean `enablePipelines` values are ignored. They cannot restore the feature. - Cases and Routines must retain their separate behavior. Targeted route tests cover this boundary. ## Model Used OpenAI Codex, GPT-6, with repository inspection, editing, shell execution, and browser verification. The exact deployed model ID and context-window size are not exposed in this session. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have searched GitHub for duplicate or related PRs and linked them above - [x] I have either (a) linked existing issues with `Fixes: #` / `Closes #` / `Refs #` OR (b) described the issue in-PR following the relevant issue template - [x] I have not referenced internal/instance-local Paperclip issues or links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip` URLs) - [x] My branch name describes the change (e.g. `docs/...`, `fix/...`) and contains no internal Paperclip ticket id or instance-derived details - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] All Paperclip CI gates are green - [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups - [x] I will address all Greptile and reviewer comments before requesting merge --------- Co-authored-by: Paperclip <noreply@paperclip.ing>
151 lines
10 KiB
JSON
151 lines
10 KiB
JSON
{
|
|
"$comment": "Per-suite wall-clock durations (ms) for serialized route/authz verification, used by scripts/run-vitest-stable.mjs in PR and release shards. Refreshed from successful Cloud readiness run 34705914878 (2026-09-12), jobs 103585803684, 103585803688, 103585803716, 103585803734, and 103585803754. Each weight spans consecutive [test:run] suite-start timestamps; the last suite ends at the first post-job cleanup timestamp. This includes each isolated Vitest process startup, import, collection, tests, and shutdown. All 145 suites are sampled exactly once. New or renamed suites use the median weight. Refresh from a successful complete run when observed shard times drift.",
|
|
"unit": "ms",
|
|
"durations": {
|
|
"server/src/__tests__/access-routes-hidden-floor.test.ts": 11187,
|
|
"server/src/__tests__/access-routes-permissions-upgrade.test.ts": 18919,
|
|
"server/src/__tests__/activity-routes.test.ts": 5963,
|
|
"server/src/__tests__/adapter-auth-signal-routes.test.ts": 14105,
|
|
"server/src/__tests__/adapter-model-refresh-routes.test.ts": 10257,
|
|
"server/src/__tests__/adapter-routes-authz.test.ts": 7991,
|
|
"server/src/__tests__/adapter-routes.test.ts": 8580,
|
|
"server/src/__tests__/agent-action-audit-routes.test.ts": 17869,
|
|
"server/src/__tests__/agent-adapter-validation-routes.test.ts": 24906,
|
|
"server/src/__tests__/agent-cross-tenant-authz-routes.test.ts": 9297,
|
|
"server/src/__tests__/agent-device-login-routes.test.ts": 25216,
|
|
"server/src/__tests__/agent-hire-idempotency-routes.test.ts": 16903,
|
|
"server/src/__tests__/agent-instructions-routes.test.ts": 15221,
|
|
"server/src/__tests__/agent-live-run-routes.test.ts": 30747,
|
|
"server/src/__tests__/agent-permissions-routes.test.ts": 9849,
|
|
"server/src/__tests__/agent-secrets-routes.test.ts": 16629,
|
|
"server/src/__tests__/agent-skills-routes.test.ts": 24106,
|
|
"server/src/__tests__/agent-test-environment-routes.test.ts": 20121,
|
|
"server/src/__tests__/approval-routes-idempotency.test.ts": 6366,
|
|
"server/src/__tests__/artifact-review-document-routes.test.ts": 11415,
|
|
"server/src/__tests__/assets.test.ts": 7738,
|
|
"server/src/__tests__/auth-routes.test.ts": 3471,
|
|
"server/src/__tests__/auth-session-route.test.ts": 4282,
|
|
"server/src/__tests__/authz-company-access.test.ts": 3348,
|
|
"server/src/__tests__/authz-existence-oracle-guard.test.ts": 312,
|
|
"server/src/__tests__/authz-secret-context.test.ts": 3899,
|
|
"server/src/__tests__/board-chat-route-feature-flag.test.ts": 1251,
|
|
"server/src/__tests__/bootstrap-claim-routes.test.ts": 5821,
|
|
"server/src/__tests__/built-in-agent-routes.test.ts": 6607,
|
|
"server/src/__tests__/cases-routes.test.ts": 17725,
|
|
"server/src/__tests__/cli-auth-routes.test.ts": 8422,
|
|
"server/src/__tests__/cloud-routes.test.ts": 3475,
|
|
"server/src/__tests__/companies-route-cross-company-authz.test.ts": 10608,
|
|
"server/src/__tests__/companies-route-path-guard.test.ts": 3520,
|
|
"server/src/__tests__/company-branding-route.test.ts": 6319,
|
|
"server/src/__tests__/company-import-transfer-routes.test.ts": 10852,
|
|
"server/src/__tests__/company-portability-routes.test.ts": 5037,
|
|
"server/src/__tests__/company-portability.test.ts": 6030,
|
|
"server/src/__tests__/company-search-extract-routes.test.ts": 11382,
|
|
"server/src/__tests__/company-search-rate-limit-routes.test.ts": 11592,
|
|
"server/src/__tests__/company-skill-policy-routes.test.ts": 9969,
|
|
"server/src/__tests__/company-skills-import-authz-routes.test.ts": 16725,
|
|
"server/src/__tests__/company-skills-routes.test.ts": 6666,
|
|
"server/src/__tests__/company-user-directory-route.test.ts": 5254,
|
|
"server/src/__tests__/costs-service.test.ts": 10178,
|
|
"server/src/__tests__/decision-queues-routes.test.ts": 9909,
|
|
"server/src/__tests__/document-annotation-routes.test.ts": 12372,
|
|
"server/src/__tests__/environment-custom-image-routes.test.ts": 8712,
|
|
"server/src/__tests__/environment-instance-routes.test.ts": 8738,
|
|
"server/src/__tests__/environment-routes.test.ts": 5462,
|
|
"server/src/__tests__/environment-selection-route-guards.test.ts": 9749,
|
|
"server/src/__tests__/execution-workspace-runtime-lease-route.test.ts": 12231,
|
|
"server/src/__tests__/execution-workspaces-routes.test.ts": 6598,
|
|
"server/src/__tests__/express5-auth-wildcard.test.ts": 1098,
|
|
"server/src/__tests__/external-object-routes.test.ts": 14559,
|
|
"server/src/__tests__/folders-routes.test.ts": 3122,
|
|
"server/src/__tests__/health-dev-server-token.test.ts": 3808,
|
|
"server/src/__tests__/health.test.ts": 3664,
|
|
"server/src/__tests__/heartbeat-dependency-scheduling.test.ts": 22771,
|
|
"server/src/__tests__/heartbeat-issue-liveness-escalation.test.ts": 26411,
|
|
"server/src/__tests__/heartbeat-process-recovery.test.ts": 165058,
|
|
"server/src/__tests__/inbox-agent-policy-routes.test.ts": 17418,
|
|
"server/src/__tests__/inbox-archive-routes.test.ts": 18276,
|
|
"server/src/__tests__/instance-database-backups-routes.test.ts": 3602,
|
|
"server/src/__tests__/instance-settings-routes.test.ts": 3263,
|
|
"server/src/__tests__/invite-accept-existing-member.test.ts": 5373,
|
|
"server/src/__tests__/invite-accept-gateway-defaults.test.ts": 16661,
|
|
"server/src/__tests__/invite-accept-replay.test.ts": 11438,
|
|
"server/src/__tests__/invite-create-route.test.ts": 5108,
|
|
"server/src/__tests__/invite-expiry.test.ts": 11055,
|
|
"server/src/__tests__/invite-join-manager.test.ts": 10519,
|
|
"server/src/__tests__/invite-list-route.test.ts": 10911,
|
|
"server/src/__tests__/invite-logo-route.test.ts": 10811,
|
|
"server/src/__tests__/invite-onboarding-text.test.ts": 9920,
|
|
"server/src/__tests__/invite-rate-limit-route.test.ts": 11305,
|
|
"server/src/__tests__/invite-summary-route.test.ts": 12300,
|
|
"server/src/__tests__/invite-test-resolution-route.test.ts": 10497,
|
|
"server/src/__tests__/invite-url-public-base-url.test.ts": 5781,
|
|
"server/src/__tests__/issue-activity-events-routes.test.ts": 13914,
|
|
"server/src/__tests__/issue-agent-mutation-ownership-routes.test.ts": 50945,
|
|
"server/src/__tests__/issue-assigned-backlog-contract-routes.test.ts": 9454,
|
|
"server/src/__tests__/issue-assignee-invokability-routes.test.ts": 9340,
|
|
"server/src/__tests__/issue-attachment-routes.test.ts": 18688,
|
|
"server/src/__tests__/issue-blocker-diagnostics-routes.test.ts": 17348,
|
|
"server/src/__tests__/issue-closed-workspace-routes.test.ts": 9378,
|
|
"server/src/__tests__/issue-comment-attribution-audit-routes.test.ts": 16687,
|
|
"server/src/__tests__/issue-comment-cancel-routes.test.ts": 9120,
|
|
"server/src/__tests__/issue-comment-reopen-routes.test.ts": 9744,
|
|
"server/src/__tests__/issue-create-deduplication-routes.test.ts": 18131,
|
|
"server/src/__tests__/issue-created-from-routes.test.ts": 18051,
|
|
"server/src/__tests__/issue-dependency-wakeups-routes.test.ts": 12754,
|
|
"server/src/__tests__/issue-document-restore-routes.test.ts": 11341,
|
|
"server/src/__tests__/issue-execution-policy-routes.test.ts": 17384,
|
|
"server/src/__tests__/issue-feedback-routes.test.ts": 10562,
|
|
"server/src/__tests__/issue-identifier-routes.test.ts": 17386,
|
|
"server/src/__tests__/issue-list-assignee-filter-routes.test.ts": 18762,
|
|
"server/src/__tests__/issue-list-updatedsince-filter-routes.test.ts": 17534,
|
|
"server/src/__tests__/issue-onboarding-first-task-routes.test.ts": 19600,
|
|
"server/src/__tests__/issue-queued-comments-routes.test.ts": 28267,
|
|
"server/src/__tests__/issue-scheduled-retry-routes.test.ts": 17617,
|
|
"server/src/__tests__/issue-stale-execution-lock-routes.test.ts": 17166,
|
|
"server/src/__tests__/issue-stalled-review-decision-routes.test.ts": 18751,
|
|
"server/src/__tests__/issue-subtree-diagnostics-routes.test.ts": 18263,
|
|
"server/src/__tests__/issue-telemetry-routes.test.ts": 9904,
|
|
"server/src/__tests__/issue-thread-interaction-routes.test.ts": 39373,
|
|
"server/src/__tests__/issue-tree-control-routes.test.ts": 3616,
|
|
"server/src/__tests__/issue-update-comment-wakeup-routes.test.ts": 15540,
|
|
"server/src/__tests__/issue-wake-diagnostics-routes.test.ts": 17422,
|
|
"server/src/__tests__/issue-watchdogs-routes.test.ts": 22439,
|
|
"server/src/__tests__/issue-workspace-command-authz.test.ts": 9358,
|
|
"server/src/__tests__/issues-checkout-wakeup.test.ts": 1064,
|
|
"server/src/__tests__/issues-goal-context-routes.test.ts": 9431,
|
|
"server/src/__tests__/issues-service.test.ts": 76576,
|
|
"server/src/__tests__/llms-routes.test.ts": 3399,
|
|
"server/src/__tests__/low-trust-red-team-routes.test.ts": 27945,
|
|
"server/src/__tests__/managed-agent-profile-routes-authz.test.ts": 3624,
|
|
"server/src/__tests__/multilingual-issues-routes.test.ts": 17623,
|
|
"server/src/__tests__/onboarding-seed-route.test.ts": 13936,
|
|
"server/src/__tests__/openapi-routes.test.ts": 4089,
|
|
"server/src/__tests__/openclaw-invite-prompt-route.test.ts": 5131,
|
|
"server/src/__tests__/opencode-local-adapter-environment.test.ts": 8676,
|
|
"server/src/__tests__/permissions-upgrade-boundary-routes.test.ts": 16917,
|
|
"server/src/__tests__/plugin-install-route-security.test.ts": 13924,
|
|
"server/src/__tests__/plugin-routes-authz.test.ts": 5693,
|
|
"server/src/__tests__/plugin-scoped-api-routes.test.ts": 6245,
|
|
"server/src/__tests__/project-goal-telemetry-routes.test.ts": 6735,
|
|
"server/src/__tests__/project-routes-env.test.ts": 5412,
|
|
"server/src/__tests__/project-workspace-managed-sandbox-routes.test.ts": 6840,
|
|
"server/src/__tests__/projects-list-archived-routes.test.ts": 17390,
|
|
"server/src/__tests__/redaction.test.ts": 1125,
|
|
"server/src/__tests__/resource-memberships-routes.test.ts": 17692,
|
|
"server/src/__tests__/routine-document-annotation-routes.test.ts": 3749,
|
|
"server/src/__tests__/routines-e2e.test.ts": 20181,
|
|
"server/src/__tests__/routines-routes.test.ts": 6778,
|
|
"server/src/__tests__/secret-proposals-routes.test.ts": 21824,
|
|
"server/src/__tests__/secrets-routes-claude-oauth-service.test.ts": 11110,
|
|
"server/src/__tests__/secrets-routes.test.ts": 10410,
|
|
"server/src/__tests__/sidebar-preferences-routes.test.ts": 4495,
|
|
"server/src/__tests__/summary-slot-routes.test.ts": 6451,
|
|
"server/src/__tests__/teams-catalog-routes.test.ts": 4948,
|
|
"server/src/__tests__/user-profile-routes.test.ts": 9198,
|
|
"server/src/__tests__/workspace-command-authz.test.ts": 1044,
|
|
"server/src/__tests__/workspace-runtime-routes-authz.test.ts": 6915,
|
|
"server/src/__tests__/workspace-runtime-service-authz.test.ts": 10428
|
|
}
|
|
}
|