Skip to content

Rebase onto upstream/master (2026-08-27): 575 commits (d5b9f6c8..d785b192) - #335

Draft
stubbi wants to merge 22 commits into
mainfrom
claude/brave-tesla-p4n4xu
Draft

Rebase onto upstream/master (2026-08-27): 575 commits (d5b9f6c8..d785b192)#335
stubbi wants to merge 22 commits into
mainfrom
claude/brave-tesla-p4n4xu

Conversation

@stubbi

@stubbi stubbi commented Aug 27, 2026

Copy link
Copy Markdown

Thinking Path

  • Paperclip is the open source app people use to manage AI agents for work
  • The paperclipinc/paperclip fork tracks upstream paperclipai/paperclip, bringing upstream commits periodically so hosted users get upstream fixes, features and security patches
  • The last merged rebase was Rebase onto upstream/master (2026-08-05): 171 commits (2f42a496..d5b9f6c8), supersedes #312 #320 on 2026-08-05, landing upstream through d5b9f6c8; upstream has moved 575 commits since
  • This pull request brings the fork up to upstream d785b192, applying a 3-way merge for each changed file and re-applying fork-specific patches that failed to auto-merge
  • The benefit is 575 upstream commits reach hosted users, and the fork stays current with upstream

Linked Issues or Issue Description

Supersedes the upstream range from #320. Continues the periodic upstream rebase pattern established by #320, #277, #265, #262.

What problem exists: The fork was 575 commits behind upstream paperclipai/paperclip. Hosted users miss upstream bug fixes, new features, and security patches until a rebase lands.

Why it needs to be addressed: Falling further behind upstream makes each subsequent rebase harder and delays feature delivery to hosted users.

What Changed

  • Brings in upstream d5b9f6c8..d785b192 — 575 commits
  • Notable upstream additions: byte-ledger ceiling test fix, Daytona zstd-3 compression, Sentry observability opt-in, TypeScript 7.0 upgrade, workspace-restore merge lock, referenced-project sync fixes, Codex execution adapter, service worker freshness, hideable company settings pages, dashboard banner for paused imported agents, SSH env-lab fixtures, wrapper birth-time probing
  • Fork-specific patches re-applied in 9 fix commits covering:
    • SurfaceGuard wrapping for company settings routes
    • Cloud billing detection and cloud company creation
    • Brand directory support in server app
    • Database backup health monitoring removal (fork exclusion)
    • OnboardingWizard credential binding and managed instance features
    • Adapter execution patches (credential rotation, managed instance, permissions)
    • Plugin worker manager syntax fixes
    • E2e test adjustments for fork onboarding flow
  • No pnpm-lock.yaml in the diff, per fork policy
  • Fork-specific cloud files preserved (cloud-upstreams, cloud CLI commands)

Verification

  • 3-way merge applied file-by-file using base (d5b9f6c), fork (HEAD), and upstream (upstream/master) versions
  • Fork patches re-applied hunk-by-hunk with context matching; 312 of 415 hunks applied automatically, remaining 103 resolved by dedicated agents reading all three versions
  • No conflict markers remain in any file
  • CI is the real gate — please wait for all gates to pass before merging

Honest scope limit: Local pnpm install would rewrite the lockfile. CI gates are the authoritative verification for this rebase.

Risks

Moderate, inherent to a 575-commit rebase.

  • Migration numbering: new upstream migrations were renumbered with the fork's +3 offset. If another migration PR merges first, renumbering may be needed.
  • Fork patches were resolved by AI agents reading three file versions. While structurally correct, subtle behavioral regressions are possible — spot-check adapter execution and onboarding flows post-merge.
  • OnboardingWizard had the most complex merge (22 conflict regions). The fork's credential binding system was combined with upstream's new gate component and motion animations.

Model Used

  • Claude Opus 4.6 (claude-opus-4-6[1m], 1M context), via the Claude Code CLI harness with tool use (shell, file edits, parallel subagents). Change authored agent-assisted.

Checklist

  • I have included a thinking path that traces from project context to this change
  • I have specified the model used (with version and capability details)
  • I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work
  • I have searched GitHub for duplicate or related PRs and linked them above
  • I have either (a) linked existing issues with Fixes: # / Closes # / Refs # OR (b) described the issue in-PR following the relevant issue template
  • I have not referenced internal/instance-local Paperclip issues or links (only public GitHub #NNN / github.com/paperclipai/paperclip URLs)
  • My branch name describes the change (e.g. docs/..., fix/...) and contains no internal Paperclip ticket id or instance-derived details
  • I have run tests locally and they pass — not done, see Verification
  • I have added or updated tests where applicable (rebase carries upstream's own tests)
  • I have updated relevant documentation to reflect my changes
  • I have considered and documented any risks above
  • All Paperclip CI gates are green
  • Greptile is 5/5 with no open P2s, recommendations, or follow-ups
  • I will address all Greptile and reviewer comments before requesting merge

Generated by Claude Code

claude added 22 commits August 27, 2026 07:16
Brings fork up to date with upstream paperclipai/paperclip through d785b19.

Notable upstream additions: byte-ledger ceiling test fix, Daytona zstd
compression, Sentry observability opt-in, TypeScript 7.0 upgrade,
workspace-restore merge lock, referenced-project sync fixes, Codex
execution adapter, service worker freshness, hideable company settings
pages, dashboard banner for paused imported agents.

Fork-specific patches partially re-applied; remaining fork customizations
follow in subsequent fix commits.

No pnpm-lock.yaml in the diff, per fork policy.
Re-apply fork customizations that failed to apply during the automated
rebase of upstream d5b9f6c..d785b19:

- SurfaceGuard wrapping for company settings routes (App.tsx)
- Cloud billing detection in SidebarAccountMenu
- Cloud company creation in CompanySwitcher
- Missing imports in Layout.tsx (useFeatures, findCompanyByUrlSegment)
- Brand directory support in server app
- Fork-specific route and service changes
- Adapter execution fork patches (credential rotation, managed instance)

Work in progress — additional fork patches being applied by parallel agents.
- Remove database backup health monitoring from health route (fork removal)
- Restore assertSurfaceExposed in secrets routes
- Fix garbled import block in companies route
- Fix agents route: remove dangling imports, relocate adapterType property
- Relocate prebakedRuntime in environment-execution-target
- Additional server/adapter fixes from parallel agents
Re-apply fork-specific onboarding wizard customizations that were dropped
during the upstream rebase.
- Fix createPluginStreamBus import spliced into wrong import block
- Fix streamBus option misplaced inside terminalizeLoginPtyRoute body
- Additional adapter and test fixes from parallel agents
Partial fixes from parallel agents still running.
…icates

- Remove database backup health tests from health.test.ts (fork exclusion)
- Remove duplicate plugins import in heartbeat-process-recovery.test.ts
- Additional adapter parse fix
- OnboardingWizard: combine fork credential binding with upstream gate
- AgentConfigForm: restore useFeatures hook and currentEnv state
- CompanySettingsSidebar: restore useBoardCapabilities and exposedSurfaces
- CompanySettingsNav: combine fork surface filtering with upstream hiddenSettings
- SummarySlotCard: restore useFeatures hook
- IssueChatThread: combine upstream import pause with fork custom display
- AgentConfigForm tests: fix buildCurrentBoardAccess pattern
- CompanySettingsSidebar tests: restore fork test patterns
- Additional adapter-utils and page fixes
Move prebakedRuntime field from inside postedIssueCommentLogMarker
function body to AdapterSandboxExecutionTarget interface where it belongs.
- Change @types/node from ^24.6.0 to ^24.0.0
- Add engines.node >=24.11.0

Required by the monorepo node-version-policy check.
Add back the fork-specific enableCloudSync boolean to
InstanceExperimentalSettings interface, its zod validator default,
and its feature catalog entry. Fixes TS2339 compilation error.
The function was declared twice in heartbeat.ts due to a merge artifact.
Removes the first copy, keeping the one with the full comment block.
…body

The const declaration was incorrectly spliced into
buildAcpLoginProbeUnavailableCheck's parameter list during the rebase.
Move it to testClaudeAcpEnvironment where it is actually used.
Merge artifacts: asBoolean was imported twice, and hostOauthToken was
declared twice in the same function scope in acp.ts.
Remove the re-export of firstMeaningfulStderrLine from adapter-utils
(fork artifact) since upstream now defines a local version with
Codex-specific benign-line filtering. Add the missing firstNonEmptyLine
helper that the local function depends on.
Same merge artifact as claude-local: the const declaration was spliced
into an object literal inside the remote-target info check. Move it
after the block where it's used.
…mNotification

Merge artifact: the terminalize block was duplicated inside
publishStreamNotification (a sync function). The correct copy already
exists in the async terminalizeLoginPtyRoute function above.
Fork-specific function imported in server/src/index.ts but missing
from the services barrel export.
- Add loginCapability to ServerAdapterModule interface
- Add streamBus to PluginWorkerManager interface
- Import instrumentationReady and shutdownInstrumentation in server index
- Export reconcileCloudUpstreamRunsOnStartup from services index
- Restore packages/db/src/schema/cloud_upstreams.ts (deleted by upstream)
- Restore packages/shared/src/types/cloud-upstream.ts (deleted by upstream)
- Export cloudUpstreamConnections/cloudUpstreamRuns from DB schema index
- Export cloud-upstream types from shared index
- Remove duplicate mockAdapterPluginStore in test file
… version

The sync version from upstream was duplicated alongside the fork's async
version that includes the paperclip_runner rollout flag check. The sync
version shadowed the async one, disabling the flag validation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants