Rebase onto upstream/master (2026-08-10): 191 commits (d5b9f6c8..6a4e2e1b) - #324
Draft
stubbi wants to merge 16 commits into
Draft
Rebase onto upstream/master (2026-08-10): 191 commits (d5b9f6c8..6a4e2e1b)#324stubbi wants to merge 16 commits into
stubbi wants to merge 16 commits into
Conversation
Cherry-picked 191 upstream commits from paperclipai/paperclip master. Migration rename: upstream 0196–0211 renumbered to 0199–0214 (offset +3 for fork-specific 0182_decision_training_retention_policy, 0183_instance_settings_visibility, 0184_heartbeat_run_events_run_cascade). Journal idx/tags updated. Snapshot files renumbered to match. Notable upstream additions: - Decisions v1 schema, queues, triage, and resolver governance - Interaction addressee and review path recovery - Cloud upstream tables dropped (feature removed upstream) - Heartbeat context snapshot indexes and task key index - Import/Export replacing Cloud Sync - Onboarding flow UI (cloud + local variants) - Live run label, running row, and task detail improvements - Persistent Daytona session model with log streaming - App connections (Notion MCP OAuth, multiple providers) - Task chat composer draft persistence - Human-approved secret proposals - Review verdict policies and agent review confirmations - Simplified English Interactions experimental flag - Experimental cards alphabetization - CI shard splitting for general-server and serialized tests - Recovery notices structured and humanized - Performance: DB hot path cuts, context snapshot indexes - A11y: ARIA progressbar, scope=col table headers - Dependency bumps and lockfile refreshes Fork cleanup: removed cloud upstream feature remnants (routes, UI components, API client, schema exports, tests, OpenAPI spec, nav items) to match upstream's 0196_drop_cloud_upstream_tables migration. No pnpm-lock.yaml in the diff, per fork policy. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
The upstream changed e2e shards from 2 to 3 and general-server shards from 3 to 5, and serialized shards from 4 to 5. The three-way merge kept the fork's lower counts because both sides had modified the matrix section. Update to match upstream and the shard partition test expectations (SHARD_COUNT=3 for e2e, SHARD_COUNT=5 for server). Also remove the literal `--` from the e2e pnpm invocation to match the upstream's `pnpm run test:e2e $specs` pattern — the separator causes Playwright to ignore the spec filter. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…ractions The three-way merge did not bring in six new upstream constants that types/issue.ts, validators/issue.ts, and validators/company.ts import: IssueReviewPolicy, IssueCommentPresentationDensity, IssueThreadInteractionResolverPolicy, and their array counterparts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…Options The three-way merge kept the fork's old buildStartupStepMetrics function and extra property usage while getting the upstream's rewritten StartupStepMeasureOptions interface. Remove the old function, add the spanParent parameter to buildRuntime, replace extra with spanWallTimes, and add the STARTUP_BRIDGE_BATCH constant to match upstream. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…definitions Comprehensive sweep of type definition gaps left by the three-way merge. The merge auto-resolved without conflict markers but produced type-inconsistent results where both sides modified the same files. - protocol.ts: add span.record, execute.log, traceparent, bypassSession, access/writablePath on sync mappings - types.ts: add permissions, cacheAdjustedCostUsd, staging failures, startupTraceContext to adapter types - index.ts (adapter-utils): re-export env-bindings utilities - company.ts: add InteractionResolverGovernance types - instance.ts: add enableTaskChatRedesign flag - constants.ts: add audit:view_agent_actions permission - shared/index.ts: restore ~145 lines of missing barrel re-exports (decisions, attention, trust-policy, portability, secret proposals, issue-write-denial, skill rename, stalled review, etc.) - types/index.ts: mirror barrel re-exports for types - validators/index.ts: mirror barrel re-exports for validators Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
Add enableTaskChatRedesign and enableSimplifiedEnglishInteractions to the feature catalog. Add enableSimplifiedEnglishInteractions to the InstanceExperimentalSettings type and validator (enableTaskChatRedesign was already added in the prior sweep). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
The cloud.ts command file was deleted as part of the cloud upstream removal, but cli/src/index.ts still imported and registered it. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…port The three-way merge dropped this exported function which the upstream added for credential pre-flight validation. The test file execute.auth.test.ts imports it. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…osals The three-way merge dropped the decisions, decision_queues, and companySecretProposals re-exports from the DB schema barrel file. Server startup fails without these at runtime. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
The three-way merge dropped the export keyword from normalizeSecretKey. The upstream exports it for use by the run-secret-redaction service. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…run-log-store The three-way merge dropped export keywords and entire function/type definitions from these server services. Restores ~20 missing exports in heartbeat.ts (workspace busy logic, multi-project sync, cache cost, ready comments), 2 in environments.ts (managed sandbox reconcile types), and 1 in run-log-store.ts (flush mirrors function). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…ldAnchorFallbackWorkspaceNotes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
…exports Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFDZuz6twefDrycQivqYis
14 tasks
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
Supersedes #320 (same upstream base, extends the range).
Also related to prior rebase PRs: #312, #302, #300, #297.
What Changed
d5b9f6c8..6a4e2e1b— 191 commits. Notable additions:0196–0211(upstream) renumbered to0199–0214(offset +3 for fork-specific0182_decision_training_retention_policy,0183_instance_settings_visibility,0184_heartbeat_run_events_run_cascade). Journal idx/tags updated. Snapshot files renumbered to match.0196_drop_cloud_upstream_tablesmigration.Activity→CompanyActivity(upstream renamed and moved topages/audit/).pnpm-lock.yamlin the diff, per fork policy.Verification
idx, no orphan tags, no orphan.sqlfiles, sequence contiguous.Honest scope limit: tests were not run locally. The merge is too large to run the full suite in this environment. CI is the real gate here. Please do not merge on the strength of local checks alone; wait for all CI gates.
Risks
Moderate, inherent to a 191-commit rebase.
0199–0214must not collide with anything landing between now and merge; if another migration PR merges first this needs renumbering again.server/src/services/heartbeat.ts,packages/adapter-utils/src/execution-target.ts,server/src/middleware/auth.ts) is recommended.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