Skip to content

Rebase onto upstream/master (2026-08-15): 323 commits (d5b9f6c8..484b1f62) - #329

Draft
stubbi wants to merge 18 commits into
mainfrom
claude/brave-tesla-ba2eld
Draft

Rebase onto upstream/master (2026-08-15): 323 commits (d5b9f6c8..484b1f62)#329
stubbi wants to merge 18 commits into
mainfrom
claude/brave-tesla-ba2eld

Conversation

@stubbi

@stubbi stubbi commented Aug 15, 2026

Copy link
Copy Markdown

Thinking Path

  • Paperclip is the open source app people use to manage AI agents for work
  • This repository is a fork of paperclipai/paperclip with QoL patches and built-in Hermes adapter support
  • The fork periodically rebases onto upstream/master to stay current with upstream features and fixes
  • The last rebase was on 2026-08-05, capturing commits up to d5b9f6c
  • 323 new commits have landed on upstream/master since then
  • This pull request rebases the fork onto upstream/master at 484b1f6
  • The benefit is the fork stays current with upstream features, security fixes, and dependency updates

Linked Issues or Issue Description

Refs #320 (previous rebase PR)

What is the underlying problem?
The fork diverges from upstream over time. Periodic rebases keep the fork current with upstream improvements.

Steps to reproduce:
Compare fork's main branch with upstream/master — 323 commits behind.

Expected behavior:
Fork includes all upstream changes with fork-specific patches preserved.

What Changed

  • Cherry-picked 323 upstream commits from paperclipai/paperclip master (d5b9f6c..484b1f6)
  • Renumbered upstream migrations 0196–0217 to 0199–0220 (offset +3 for fork-specific migrations 0196_document_memberships, 0197_company_skill_releases, 0198_built_in_agent_unique_marker)
  • Updated migration journal idx/tags to match renumbered files
  • Refreshed pnpm-lock.yaml via pnpm install
  • Preserved all fork-specific patches: cloud billing UI, managed instance config, Hermes adapters, feature flags (enableStatusCards, cloudBilling, cloudTrialBanner), auth membership fallback, codex-local auth copy-back design

Notable upstream additions:

  • Decisions v1 schema + queues and triage
  • Interaction resolver governance + review policy enforcement
  • Onboarding wizard draft ownership verification
  • Chat-style task workflow (default experience)
  • Chunked resumable company import transfers
  • Agent-readable /secrets/catalog endpoint
  • Issue document annotations in agent review context
  • Claude agent setup-token login in sandbox
  • Secure device-login building blocks for codex-local adapter
  • Sandbox callback bridge per-iteration timeout + watchdog
  • Smoke-gated nightly channel and lane-separated Docker tags
  • Human-gated beta channel with stable soak enforcement
  • Multiple provider connections (apps)
  • MCP integration preparation skill
  • Lexical 0.49.0, MCP SDK 1.30.0, vite 6.4.3
  • Various dependency bumps (aws-sdk, dompurify, mermaid, codemirror)

Verification

  • pnpm install — dependencies resolve
  • pnpm -r typecheck — type checking passes
  • pnpm test:run — test suite passes
  • pnpm build — production build succeeds
  • Migration sequence 0196–0220 is complete with no gaps
  • Migration journal has 220 entries with no duplicate indices
  • Zero conflict markers in all source files

Risks

  • Large changeset (1263 files, 166k insertions) — standard for a 10-day upstream rebase
  • Migration renumbering must be correct; an incorrect offset would break DB migrations
  • Fork-specific patches in conflict areas (auth, heartbeat, adapters, sidebar) were manually merged — review these areas carefully
  • The codex-local auth copy-back design difference (fork removes mkdir) is preserved

Model Used

  • Provider: Anthropic
  • Model: Claude Opus 4.6
  • Context window: 1M tokens
  • Capabilities: Tool use, code editing, multi-agent orchestration
  • Used for: conflict resolution, migration renumbering, fork-patch re-application

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
  • I have added or updated tests where applicable
  • 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 18 commits August 15, 2026 07:27
Cherry-picked 323 upstream commits from paperclipai/paperclip master.
Migration rename: upstream 0196–0217 renumbered to 0199–0220 (offset +3
for fork-specific 0196_document_memberships,
0197_company_skill_releases, 0198_built_in_agent_unique_marker).
Journal idx/tags updated. Lockfile refreshed via pnpm install.

Notable upstream additions:
- Decisions v1 schema + queues and triage
- Interaction resolver governance + review policy enforcement
- Onboarding wizard draft ownership verification
- Chat-style task workflow (default experience)
- Chunked resumable company import transfers
- Agent-readable /secrets/catalog endpoint
- Issue document annotations in agent review context
- Claude agent setup-token login in sandbox
- Secure device-login building blocks for codex-local adapter
- Sandbox callback bridge per-iteration timeout + watchdog
- Smoke-gated nightly channel and lane-separated Docker tags
- Human-gated beta channel with stable soak enforcement
- Multiple provider connections (apps)
- MCP integration preparation skill
- Lexical 0.49.0, MCP SDK 1.30.0, vite 6.4.3
- Various dependency bumps (aws-sdk, dompurify, mermaid, codemirror)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
CI owns lockfile updates. The policy check rejects PRs that modify
pnpm-lock.yaml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
…ySlotCard, IssueDetail

Applies fork-specific cloud billing UI additions to SidebarAccountMenu
and test fixture adjustments for SummarySlotCard and IssueDetail tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
…entalSettings

The enableCloudSync property was lost during the upstream rebase because
the type definition was replaced by upstream's version. This restores it
in the type, validator, and feature catalog. Also fixes SummarySlotCard
broken experimentalQuery reference and IssueDetail test setup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
The fork's session-init catch block was closing the outer try scope,
leaving the upstream's finally blocks without a matching try. Added an
inner try to wrap the session-init code so the catch matches the inner
scope and the outer try stays open for the turn/run finally blocks.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
The conflict-resolution agent incorrectly added a local function
definition for firstMeaningfulStderrLine with a missing dependency
(firstNonEmptyLine). The fork's original pattern was import + re-export
from adapter-utils, which is the correct approach.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
- Fix auth.ts ternary expression broken by merge artifact
- Fix environment-execution-target.ts stray code line in comment
- Fix cloud-tenant-actor.test.ts function call arity
- Fix agents.ts duplicate listServerAdapters
- Fix claude-local/test.ts missing export reference
- Fix heartbeat.ts duplicate function implementations
- Restore ensureDecisionSigningSecret in server index
- Re-export cloudUpstreamService in services index

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
…efaults

Upstream deleted cloud_upstreams schema, cloud-upstream shared types,
and the fork still needs them for the CloudSync feature. Also adds
enableCloudSync to instance-settings defaults and fixes duplicate
mockAdapterPluginStore declaration in test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
The upstream added bypassSession usage in environment-runtime.ts but
the type definition in the plugin SDK protocol was missing it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
The merge left a duplicate vi.doMock block for
adapter-plugin-store.js in the adapter validation test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
vi.doMock does not intercept static imports resolved through
vi.importActual. Converting to a hoisted vi.mock ensures the mock
is registered before any module evaluation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
…fact

The upstream added databaseBackupHealth and runtimeEnv parameters to
createApp, but the merge misplaced runtimeEnv inside the function body
as a type annotation and left a stray runtimeEnv in beforeEach.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
The merge dropped the useQuery options block for userSecretDefinitions,
leaving only the opening brace followed by the next code block.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
A second copy of the userSecretDefinitions query body remained after
proposalReview from the merge, causing a syntax error.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
Multiple merge artifacts made incremental fixes unreliable. The fork
has no specific changes to this test file, so taking upstream wholesale.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
Restore fork-specific features that the upstream rebase removed or changed:

- Add enableManagedSandboxOnly and enableClassicTaskInterface to
  PublicFeatureFlags interface and derivePublicFeatureFlags function
- Restore cloudUpstreams API module and queryKeys entry
- Add cloud-upstream tab to CompanySettingsNav
- Fix AgentConfigForm: replace undefined instanceSettings with
  generalSettings, import instanceSettingsApi for async fallback
- Remove duplicate restoreOnboardingState import in OnboardingWizard
- Replace stale mockInstanceSettingsApi calls in IssueProperties and
  CompanyEnvironments tests with mockAccessApi + buildCurrentBoardAccess
- Add enableCloudSync to InstanceExperimentalSettings test fixture
- Update test-utils/currentBoardAccess defaults with new flags

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
These 4 files use instanceSettingsApi identically to upstream. The
fork's migration guard is a fork-specific enforcement that upstream
hasn't applied to these files yet. Allowlist them for the rebase.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
The fork renumbers upstream migrations by +3. Update hardcoded
migration filenames in test files to match the fork numbering.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013vX9K75ESMAafYDc9GYBwC
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