Rebase onto upstream/master (2026-08-15): 323 commits (d5b9f6c8..484b1f62) - #329
Draft
stubbi wants to merge 18 commits into
Draft
Rebase onto upstream/master (2026-08-15): 323 commits (d5b9f6c8..484b1f62)#329stubbi wants to merge 18 commits into
stubbi wants to merge 18 commits into
Conversation
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
This was referenced Aug 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thinking Path
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
Notable upstream additions:
Verification
pnpm install— dependencies resolvepnpm -r typecheck— type checking passespnpm test:run— test suite passespnpm build— production build succeedsRisks
Model Used
Checklist
Fixes: #/Closes #/Refs #OR (b) described the issue in-PR following the relevant issue template#NNN/github.com/paperclipai/paperclipURLs)docs/...,fix/...) and contains no internal Paperclip ticket id or instance-derived detailsGenerated by Claude Code