paperclip/packages/db/src/migrations
Dotta 0ffc091473
feat(connections): add durable GitHub identities and webhooks (#12843)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work
> - Agents need source control access for repository work
> - A shared token cannot preserve the responsible person's identity or
an agent's dedicated identity
> - GitHub App tokens also need durable refresh, repository access
checks, and webhook delivery
> - Paperclip already has managed connections, encrypted grants, run
secret leases, and merge-confirmation behavior
> - This pull request extends those systems with GitHub identities
instead of adding a parallel credential system
> - The benefit is durable GitHub access with explicit identity,
repository, runtime, and webhook boundaries

## Linked Issues or Issue Description

No public GitHub issue describes this connection change. This
description follows the feature request template.

**Subsystem affected**

Connected Apps, connection grants, secret resolution, native Git runtime
setup, webhook processing, and the Apps UI.

**Problem or motivation**

Users need to connect GitHub once and let agents use the correct GitHub
identity. A run should use a dedicated agent account when one exists.
Otherwise, it should use the responsible person's account. The
connection must survive token expiry, repository access changes, and
temporary instance downtime.

**Proposed solution**

Add user-owned and agent-owned GitHub grants to the existing connection
model. Resolve one identity for MCP, Git, `gh`, health checks, and
webhook bindings. Store provider tokens in the existing encrypted secret
system. Refresh expiring token pairs under the existing lease and
compare-and-swap path. Register signed Cloud webhook bindings and
process normalized pull request and installation events through a
durable local inbox.

**Alternatives considered**

An organization-wide GitHub token would lose person and agent
attribution. Environment variables alone would bypass the managed
connection and grant model. A new GitHub-only credential store would
duplicate the existing secret and access systems. GitHub App
installation tokens and private-key custody remain outside this first
version.

**Roadmap alignment**

This change implements the Connected Apps direction. It also extends the
shipped MCP Tool Gateway, per-agent secret access, and
action-attribution systems. It does not add a repository catalog. The
open repository catalog work in
[#11234](https://github.com/paperclipai/paperclip/pull/11234) is related
and complementary.

## What Changed

- Added agent-owned connection grants and a per-agent credential policy
with company and subject constraints.
- Added a managed GitHub App method while keeping the personal access
token method as an advanced fallback.
- Added durable access-token and refresh-token handling with proactive
rotation and one automatic recovery after a provider `401`.
- Added GitHub identity and installation summaries without storing
repository-name lists.
- Added signed Cloud webhook binding, event lease, acknowledgement,
local idempotency, pull request merge processing, and installation
access handling.
- Added one identity resolver for MCP, native Git, `gh`, checkout,
health checks, and webhook bindings.
- Added a class-3 run projection for `GH_TOKEN`, `GITHUB_TOKEN`, a
`github.com`-only credential helper, SSH-to-HTTPS rewrite, and GitHub
noreply commit attribution.
- Added personal and dedicated-agent setup choices plus identity,
repository, continuity, and webhook status in the Apps UI.
- Added schema migrations, tests, and connection documentation.

## Verification

- The current head is fully green in GitHub CI, including build,
typecheck, all serialized/general server shards, all browser shards,
policy, canary dry run, review, and security checks.
- Live staging proof completed with a non-expiring GitHub App user
token, selected-repository installation, repository add/remove refresh,
managed MCP, native `gh`, HTTPS clone/push/delete, GitHub noreply commit
attribution, signed merged-PR webhook acceptance, durable
Cloud-to-instance delivery, and installation-access event processing.
Temporary branches and temporary repository access were removed
afterward.
- `pnpm check:token-gates` passed.
- `pnpm -r typecheck` passed before and after the rebase onto
`origin/master`.
- `pnpm build` passed.
- The focused connector suite passed 285 tests after the rebase.
- The full stable suite passed 5,790 tests and failed 22 tests across 8
general server files. The failures reproduced as shared-runner
environment issues. They included `/tmp` versus `/private/tmp`, closed
database connections, and invalid high ephemeral ports. The focused
connection tests pass in isolation.

## Risks

- Migrations add agent grant subjects and a durable connection-event
inbox. Migration numbering and safety checks pass.
- A raw GitHub user token enters the agent process for Git and `gh`.
Per-tool Ask-first controls cannot limit those shell operations. The UI
warns users about this boundary.
- GitHub App user tokens can be non-expiring. Paperclip performs a
continuity check every 30 days, but provider revocation still requires a
reconnect.
- The webhook path accepts only signed and bounded payloads. It stores a
minimal normalized record and no raw provider payload.
- GitHub repository permissions remain authoritative. Removed access can
make a cached repository count temporarily stale, but runtime access
fails immediately.

> For core feature work, check [`ROADMAP.md`](ROADMAP.md) first and
discuss it in `#dev` before opening the PR. Feature PRs that overlap
with planned core work may need to be redirected — check the roadmap
first. See `CONTRIBUTING.md`.

## Model Used

OpenAI Codex, `gpt-5.6-sol`, extended reasoning, tool use, code
execution, browser control, and multi-file repository editing. The
context window size was not provided.

## 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
- [ ] 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>
2026-09-04 18:02:52 -05:00
..
meta feat(connections): add durable GitHub identities and webhooks (#12843) 2026-09-04 18:02:52 -05:00
0000_mature_masked_marvel.sql
…
0001_fast_northstar.sql
…
0002_big_zaladane.sql
…
0003_shallow_quentin_quire.sql
…
0004_issue_identifiers.sql
…
0005_chief_luke_cage.sql
…
0006_overjoyed_mister_sinister.sql
…
0007_new_quentin_quire.sql
…
0008_amused_zzzax.sql
…
0009_fast_jackal.sql
…
0010_stale_justin_hammer.sql
…
0011_windy_corsair.sql
…
0012_perpetual_ser_duncan.sql
…
0013_dashing_wasp.sql
…
0014_many_mikhail_rasputin.sql
…
0015_project_color_archived.sql
…
0016_agent_icon.sql
…
0017_tiresome_gabe_jones.sql
…
0018_flat_sleepwalker.sql
…
0019_public_victor_mancha.sql
…
0020_white_anita_blake.sql
…
0021_chief_vindicator.sql
…
0022_company_brand_color.sql
…
0023_fair_lethal_legion.sql
…
0024_far_beast.sql
…
0025_nasty_salo.sql
…
0026_lying_pete_wisdom.sql
…
0027_tranquil_tenebrous.sql
…
0028_harsh_goliath.sql
…
0029_plugin_tables.sql
…
0030_rich_magneto.sql
…
0031_zippy_magma.sql
…
0032_pretty_doctor_octopus.sql
…
0033_shiny_black_tarantula.sql
…
0034_fat_dormammu.sql
…
0035_marvelous_satana.sql
…
0036_cheerful_nitro.sql
…
0037_friendly_eddie_brock.sql
…
0038_careless_iron_monger.sql
…
0039_fat_magneto.sql
…
0040_eager_shotgun.sql
…
0041_curly_maria_hill.sql
…
0042_spotty_the_renegades.sql
…
0043_reflective_captain_universe.sql
…
0044_illegal_toad.sql
…
0045_workable_shockwave.sql
…
0046_smooth_sentinels.sql
…
0047_overjoyed_groot.sql
…
0048_flashy_marrow.sql
…
0049_flawless_abomination.sql
…
0050_stiff_luckman.sql
…
0051_young_korg.sql
…
0052_mushy_trauma.sql
…
0053_sharp_wild_child.sql Persist non-issue inbox dismissals 2026-04-09 06:16:05 -05:00
0054_draft_routines.sql Add draft routine defaults and run-time overrides 2026-04-09 10:19:52 -05:00
0055_kind_weapon_omega.sql fix: harden heartbeat and adapter runtime workflows 2026-04-10 22:26:21 -05:00
0056_spooky_ultragirl.sql [codex] Improve workspace runtime and navigation ergonomics (#3680) 2026-04-14 12:57:11 -05:00
0057_tidy_join_requests.sql feat: implement multi-user access and invite flows (#3784) 2026-04-17 09:44:19 -05:00
0058_wealthy_starbolt.sql [codex] Add run liveness continuations (#4083) 2026-04-20 06:01:49 -05:00
0059_plugin_database_namespaces.sql [codex] Add plugin orchestration host APIs (#4114) 2026-04-20 08:52:51 -05:00
0060_orange_annihilus.sql Add first-class issue references (#4214) 2026-04-21 10:02:52 -05:00
0061_lively_thor_girl.sql [codex] Harden heartbeat scheduling and runtime controls (#4223) 2026-04-21 12:24:11 -05:00
0062_routine_run_dispatch_fingerprint.sql [codex] Harden heartbeat scheduling and runtime controls (#4223) 2026-04-21 12:24:11 -05:00
0063_issue_thread_interactions.sql [codex] Add structured issue-thread interactions (#4244) 2026-04-21 20:15:11 -05:00
0064_issue_thread_interaction_idempotency.sql [codex] Add structured issue-thread interactions (#4244) 2026-04-21 20:15:11 -05:00
0065_environments.sql Add local environment lifecycle (#4297) 2026-04-22 20:07:41 -07:00
0066_issue_tree_holds.sql [codex] Add issue subtree pause, cancel, and restore controls (#4332) 2026-04-23 14:51:46 -05:00
0067_agent_default_environment.sql Add SSH environment support (#4358) 2026-04-23 19:15:22 -07:00
0068_environment_local_driver_unique.sql Add SSH environment support (#4358) 2026-04-23 19:15:22 -07:00
0069_liveness_recovery_dedupe.sql [codex] Add runtime lifecycle recovery and live issue visibility (#4419) 2026-04-24 15:50:32 -05:00
0070_active_run_output_watchdog.sql [codex] Add runtime lifecycle recovery and live issue visibility (#4419) 2026-04-24 15:50:32 -05:00
0071_default_hire_approval_off.sql [codex] Harden recovery issue handling (#4600) 2026-04-27 15:02:47 -05:00
0072_large_sandman.sql [codex] Harden recovery issue handling (#4600) 2026-04-27 15:02:47 -05:00
0073_shiny_salo.sql [codex] Split backend control-plane QoL slice (#4700) 2026-04-28 16:46:45 -05:00
0074_striped_genesis.sql [codex] Split backend control-plane QoL slice (#4700) 2026-04-28 16:46:45 -05:00
0075_cultured_sebastian_shaw.sql [codex] Add issue monitor liveness controls (#4988) 2026-05-03 08:58:53 -05:00
0076_useful_elektra.sql Expand plugin host surface (#5205) 2026-05-05 07:42:57 -05:00
0077_unusual_karnak.sql Add routine revision history and restore flow (#5285) 2026-05-05 11:54:52 -05:00
0078_white_darwin.sql Show workspace changes and stale notices in issue threads (#5356) 2026-05-06 09:00:54 -05:00
0079_company_search_document_indexes.sql Add full company search page (#5293) 2026-05-06 06:32:37 -05:00
0080_company_search_fuzzystrmatch.sql Add full company search page (#5293) 2026-05-06 06:32:37 -05:00
0081_optimal_dormammu.sql Add planning mode for issue work (#5353) 2026-05-06 07:01:28 -05:00
0082_dry_vision.sql Add secrets provider vaults and remote import (#5429) 2026-05-09 18:22:17 -05:00
0083_company_secret_provider_configs.sql Add secrets provider vaults and remote import (#5429) 2026-05-09 18:22:17 -05:00
0084_issue_recovery_actions.sql [codex] Add source-scoped recovery actions (#5599) 2026-05-12 09:37:15 -05:00
0085_tranquil_the_executioner.sql [codex] Add issue document locking (#6009) 2026-05-15 08:54:55 -05:00
0086_routine_env_runtime_contract.sql [codex] Add routine env secrets support (#6212) 2026-05-17 16:30:34 -05:00
0087_backfill_environment_manage_human_defaults.sql [codex] Add agent permissions and controls plan (#6386) 2026-05-22 08:12:52 -05:00
0088_backfill_principal_access_compatibility.sql [codex] Add agent permissions and controls plan (#6386) 2026-05-22 08:12:52 -05:00
0089_cloud_upstreams.sql [codex] Add local Cloud Upstream sync (#6548) 2026-05-22 09:56:22 -05:00
0090_resource_memberships.sql [codex] Add resource membership controls (#6677) 2026-05-25 13:12:41 -05:00
0091_old_swarm.sql [codex] Add document annotations and comments (#6733) 2026-05-26 06:41:23 -07:00
0092_mighty_puma.sql Add accepted-plan decomposition exact-once guards and UI state (#6831) 2026-05-28 23:30:18 -07:00
0093_giant_green_goblin.sql PAPA-430: workspace finalize gates + no-remote-git enforcement (#6969) 2026-05-29 08:25:29 -07:00
0094_backfill_archived_company_agent_pauses.sql fix: Stop archived companies from waking agents (#7478) 2026-06-03 21:07:14 -07:00
0095_issue_comment_tombstones.sql Redact deleted issue comments 2026-06-05 03:20:46 +00:00
0096_document_annotation_issue_comment_links.sql Redact deleted issue comments 2026-06-05 03:20:46 +00:00
0097_low_trust_source_trust.sql Add low-trust review containment (#7530) 2026-06-05 16:48:02 -05:00
0098_project_icon.sql Information Architecture + project/agent visual refresh (experimental) (#7543) 2026-06-06 09:17:27 -05:00
0099_skills_store_foundation.sql Build the Skills Store (#7990) 2026-06-11 14:02:09 -05:00
0100_skill_install_count_backfill.sql Build the Skills Store (#7990) 2026-06-11 14:02:09 -05:00
0101_plugin_company_id_tenant_isolation.sql feat(security): plugin tables get company_id FK for tenant isolation (#5865) 2026-06-12 10:17:19 -07:00
0102_managed_sandbox_dedup_index.sql fix(environments): partial unique index to dedup managed sandbox rows (#8247) 2026-06-17 16:09:45 -07:00
0103_agent_error_reason.sql fix(server): enforce agent secret binding sync across lifecycle flows (#8307) 2026-06-18 21:26:36 -07:00
0104_issue_watchdogs.sql [codex] feat(watchdog): add task watchdog control plane (#8339) 2026-06-19 15:38:52 -05:00
0105_instance_scoped_environments.sql refactor(environments): make execution environments instance-scoped (#8375) 2026-06-20 09:42:53 -07:00
0106_external_object_references.sql External object references across issue surfaces (#8512) 2026-06-23 08:27:19 -05:00
0107_external_object_display_metadata.sql External object references across issue surfaces (#8512) 2026-06-23 08:27:19 -05:00
0108_workspace_operations_issue_id.sql fix: upstream deployed document-comment, routine-annotation, workspace & board-polling fixes (#8536) 2026-06-23 09:00:14 -05:00
0109_routine_description_annotations.sql fix: upstream deployed document-comment, routine-annotation, workspace & board-polling fixes (#8536) 2026-06-23 09:00:14 -05:00
0110_document_company_cascade.sql fix: upstream deployed document-comment, routine-annotation, workspace & board-polling fixes (#8536) 2026-06-23 09:00:14 -05:00
0111_backfill_skill_create_human_defaults.sql [codex] Gate skill mutations with skills:create permission (#8616) 2026-06-25 09:49:10 -05:00
0112_rename_skill_create_permission_key.sql [codex] Gate skill mutations with skills:create permission (#8616) 2026-06-25 09:49:10 -05:00
0113_pipeline_foundation.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0114_pipeline_case_issue_unlinked_event.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0115_pipeline_routine_origin.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0116_pipeline_upstream_drift_event.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0117_pipeline_transition_forced_event.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0118_pipeline_case_agent_fanout.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0119_pipeline_drift_acknowledged_event.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0120_pipeline_stage_working_primitives.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0121_pipeline_automation_retry_effects.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0122_pipeline_case_documents.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0123_document_annotation_source_trust.sql Add pipeline workflow primitives and operator UI (#7903) 2026-06-26 12:02:44 -05:00
0124_agent_api_key_scope_config.sql [codex] Add built-in Hermes adapters (#8543) 2026-06-26 16:04:58 -05:00
0125_environment_custom_image_templates.sql Add reusable sandbox custom images (#8794) 2026-06-30 09:57:49 -07:00
0127_environment_custom_images_instance_scoped.sql Scope environment custom images to instance environments (#8850) 2026-07-01 23:57:31 -07:00
0128_user_specific_secrets.sql feat(secrets): add user-specific runtime secrets (#8825) 2026-07-05 05:58:20 -05:00
0129_agent_api_key_responsible_user.sql feat(secrets): add user-specific runtime secrets (#8825) 2026-07-05 05:58:20 -05:00
0131_repair_run_responsible_user_context_refs.sql Fix heartbeat run responsible user migration for identifier refs (#9107) 2026-07-06 13:14:18 -05:00
0132_issue_comment_derived_attribution_fast.sql fix(db): relocate slow 0126 issue-comment attribution backfill to fast idempotent 0132 (#9108) 2026-07-06 11:41:24 -07:00
0133_resource_membership_stars.sql [codex] Add starred resource sidebar controls (#9085) 2026-07-06 14:09:11 -05:00
0134_run_responsible_user_invariant.sql fix(db): repair responsible user migration timestamps (#9146) 2026-07-07 05:54:17 -05:00
0135_repair_run_responsible_user_updated_at_sweep.sql fix(db): repair responsible user migration timestamps (#9146) 2026-07-07 05:54:17 -05:00
0136_acpx_default_engine_migration.sql Make ACP the default engine for local adapters (#9238) 2026-07-08 19:05:03 -07:00
0137_skill_studio_server_foundation.sql Skill Studio: three-pane skill IDE with sandboxed test runs (#9241) 2026-07-09 13:08:56 -05:00
0138_skill_studio_run_retention.sql Skill Studio: three-pane skill IDE with sandboxed test runs (#9241) 2026-07-09 13:08:56 -05:00
0139_skill_studio_run_templates.sql Skill Studio: three-pane skill IDE with sandboxed test runs (#9241) 2026-07-09 13:08:56 -05:00
0140_built_in_managed_resources.sql [codex] Add built-in agents and Reflection Coach bundle (#9206) 2026-07-09 16:29:30 -05:00
0141_heartbeat_runs_company_created_at_index.sql Fix request storm polling and issue-list coalescing (#9190) 2026-07-09 17:38:34 -05:00
0142_company_search_sort_indexes.sql feat(search): filters, sorting, operators & command-palette parity (#9327) 2026-07-09 19:32:58 -05:00
0143_cases_foundation.sql Cases: experimental first-class case object (#9198) 2026-07-09 22:11:03 -05:00
0144_case_document_annotations.sql Cases: experimental first-class case object (#9198) 2026-07-09 22:11:03 -05:00
0145_inbox_dismissal_snooze_kind.sql feat: add attention queue and Decisions surface (#9380) 2026-07-10 17:09:57 -05:00
0146_routine_activity_gate.sql feat(routines): gate scheduled runs on external activity (#9436) 2026-07-11 21:52:09 -05:00
0147_cost_event_status.sql fix(adapters): record unpriced CLI usage (#9505) 2026-07-13 20:44:38 -05:00
0148_tool_access_mcp_connections.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0149_agent_access_phase2_contracts.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0150_tool_invocation_catalog_snapshots.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0151_tool_gateway_sessions.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0152_tool_connection_application_no_cascade.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0153_tool_stdio_command_templates.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0154_tool_oauth_states.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0155_tool_oauth_state_actor_binding.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0156_tool_oauth_state_session_binding.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0157_tool_profile_new_tools_review.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0158_tool_invocation_connected_mcp_metadata.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0159_named_mcp_gateways.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0160_mcp_gateway_contract_expansion.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0161_environment_custom_image_company_scope_repair.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0162_tool_runtime_metric_counters.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0163_secret_binding_projection_class.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0164_plugin_config_company_scope.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0165_connection_token_issuances.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0166_smoke_lab_results.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0167_environment_custom_image_instance_scope_cleanup.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0168_tool_connection_installs.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0169_tool_gateway_protocol_rate_limit_counters.sql feat(mcp) [split 2/8]: add governed access contracts (#9557) 2026-07-14 12:57:20 -05:00
0170_company_skill_policies.sql feat(skills): open-by-default company skill policy and core UX (#9564) 2026-07-15 11:42:40 -05:00
0171_issue_create_idempotency_keys.sql fix(issues): deduplicate repeated creates (#9650) 2026-07-15 21:45:11 -05:00
0172_inbox_archive_agent_policies.sql feat(db): add inbox archive agent policies (#9654) 2026-07-16 08:48:39 -05:00
0173_inbox_policy_agent_cleanup.sql feat(authz): govern agent inbox archive access (#9658) 2026-07-16 09:51:48 -05:00
0174_folders.sql feat: organize skills with nested folders and My Skills (#9633) 2026-07-16 15:50:45 -05:00
0175_nested_skill_folders.sql feat: organize skills with nested folders and My Skills (#9633) 2026-07-16 15:50:45 -05:00
0176_issue_create_idempotency_key_expiry.sql fix: prevent duplicate task creation and recovery loops (#9648) 2026-07-16 17:00:53 -05:00
0177_activity_log_responsible_user.sql feat: stamp responsible users on activity logs (#9731) 2026-07-16 20:54:55 -05:00
0178_summary_slots.sql feat: add built-in summarizer and summary slots (#9713) 2026-07-17 11:03:07 -05:00
0179_summary_slot_failure_reason.sql feat: add built-in summarizer and summary slots (#9713) 2026-07-17 11:03:07 -05:00
0180_decision_training_examples.sql feat: add decision training snapshot foundation (#9702) 2026-07-17 12:17:34 -05:00
0181_decision_training_retention_policy.sql feat: add decision training snapshot foundation (#9702) 2026-07-17 12:17:34 -05:00
0182_connections_v3_schema_core.sql feat(connections): add v3 schema core (#9958) 2026-07-21 15:16:26 -05:00
0183_connection_user_authorization_state.sql feat(connections): add runtime subjects and grants (#9982) 2026-07-21 16:17:02 -05:00
0184_routable_blocked.sql Route blocked transitions to explicit unblock owners (#10112) 2026-07-23 15:49:28 -05:00
0185_status_cards.sql feat(status-cards): add experimental status card update view (#10101) 2026-07-24 12:26:43 -05:00
0186_status_card_compile_provenance.sql feat(status-cards): add experimental status card update view (#10101) 2026-07-24 12:26:43 -05:00
0187_status_card_pending_change_hash.sql feat(status-cards): add experimental status card update view (#10101) 2026-07-24 12:26:43 -05:00
0188_status_card_generation_issue_index.sql feat(status-cards): add experimental status card update view (#10101) 2026-07-24 12:26:43 -05:00
0189_status_card_agent.sql feat(status-cards): add experimental status card update view (#10101) 2026-07-24 12:26:43 -05:00
0190_status_card_single_prompt.sql feat(status-cards): single-message setup drives query and update prompt (#10202) 2026-07-24 14:06:14 -05:00
0191_status_card_mentioned_issue_ids.sql feat(status-cards): join summary-mentioned issues to watched set (#10205) 2026-07-24 16:44:56 -05:00
0192_task_watchdog_stop_snapshots.sql fix(task-watchdogs): deduplicate unchanged stopped-state wakes (#10207) 2026-07-25 08:34:41 -05:00
0193_document_memberships.sql feat(server): add per-user document stars (#9952) 2026-07-27 19:13:35 -05:00
0194_company_skill_releases.sql feat(skills): add beta releases for the core Paperclip skill (#10228) 2026-07-27 19:45:59 -05:00
0195_built_in_agent_unique_marker.sql fix: prevent duplicate built-in agents and self-heal reconciliation (#10223) 2026-07-28 11:12:58 -07:00
0196_drop_cloud_upstream_tables.sql Replace host-to-host Cloud Sync with full-fidelity company Import/Export (#10507) 2026-07-30 11:37:00 -07:00
0197_decisions_v1.sql feat(decisions): add first-class propose mode (#10010) 2026-07-31 19:17:02 -07:00
0198_decision_queues_and_triage.sql feat(decisions): add queues and prioritized attention feed (#10651) 2026-08-01 20:37:39 -05:00
0199_decision_queue_composite_key.sql feat(decisions): add queues and prioritized attention feed (#10651) 2026-08-01 20:37:39 -05:00
0200_yellow_maria_hill.sql feat(decisions): add desk workflow and retention (#10672) 2026-08-02 10:47:03 -05:00
0201_concerned_captain_midlands.sql fix(external-objects): refresh PR status labels (#10704) 2026-08-02 20:24:52 -07:00
0202_eminent_marvel_zombies.sql fix(external-objects): refresh PR status labels (#10704) 2026-08-02 20:24:52 -07:00
0203_interaction_resolver_governance.sql feat(interactions): add governed agent addressees (#10252) 2026-08-04 12:51:06 -05:00
0204_interaction_addressee.sql feat(interactions): add governed agent addressees (#10252) 2026-08-04 12:51:06 -05:00
0205_narrow_shiva.sql feat(issues): contain cross-issue agent side effects (#10837) 2026-08-04 13:17:49 -05:00
0206_review_path_recovery_idempotency_index.sql feat: maintained in_review review-path contract + stalled-review actions (#10675) 2026-08-04 13:54:40 -05:00
0207_moaning_amazoness.sql feat(secrets): add human-approved secret proposals (#9934) 2026-08-05 21:49:40 -05:00
0208_keen_sharon_carter.sql fix(server): add explicit review verdict policies (#10931) 2026-08-05 23:12:41 -05:00
0209_heartbeat_context_snapshot_indexes.sql perf(db): index context_snapshot/payload issueId lookups used by recovery sweeps (#10969) 2026-08-06 10:25:27 -05:00
0210_heartbeat_context_taskkey_index.sql perf(server): cut steady-state DB hot paths in dashboard, attention, and productivity sweeps (#10992) 2026-08-06 11:56:40 -05:00
0211_bright_morg.sql feat(apps): support multiple provider connections (#11060) 2026-08-07 16:28:04 -05:00
0212_onboarding_first_task_unique.sql feat: make chat-style tasks the default experience (#11101) 2026-08-11 09:06:21 -07:00
0213_complete_mystique.sql feat(server): chunked resumable company import transfers (#11223) 2026-08-11 15:25:07 -07:00
0214_lively_lord_tyger.sql Add sandbox device-login for the Codex adapter (#11237) 2026-08-12 08:58:25 -07:00
0215_flat_daimon_hellstrom.sql Add sandbox device-login for the Codex adapter (#11237) 2026-08-12 08:58:25 -07:00
0216_company_onboarding_seeds.sql feat(server): receive and apply the Paperclip Cloud onboarding seed (#11098) 2026-08-12 22:54:07 -07:00
0217_yielding_starbolt.sql fix(issues): make DELETE /api/issues/:id succeed for issues with dependents (#11331) 2026-08-13 12:02:15 -07:00
0218_mushy_jack_murdock.sql fix(interactions): authorize resolvers consistently (#11376) 2026-08-16 13:46:50 -05:00
0219_runtime_service_exposure.sql feat(runtime-exposure): least-privilege Tailscale HTTPS broker, shared contract, and persisted exposure state (#11524) 2026-08-17 05:54:12 -04:00
0220_execution_workspace_runtime_leases.sql feat(runtime-exposure): least-privilege Tailscale HTTPS broker, shared contract, and persisted exposure state (#11524) 2026-08-17 05:54:12 -04:00
0221_swift_justin_hammer.sql feat: Claude login on the new-agent page before agent creation (#11347) 2026-08-17 13:42:51 -07:00
0222_orphan_cleanup_env_reference_survives_delete.sql feat: Claude login on the new-agent page before agent creation (#11347) 2026-08-17 13:42:51 -07:00
0223_robust_zaladane.sql Add governed secret alias confirmation cards (#11486) 2026-08-18 09:44:24 -05:00
0224_unified_adapter_auth_sessions.sql feat(auth): normalize agent login in the sandbox onto one session table and a capability contract (#11730) 2026-08-19 11:51:31 -07:00
0225_drop_claude_setup_token_sessions.sql feat(auth): normalize agent login in the sandbox onto one session table and a capability contract (#11730) 2026-08-19 11:51:31 -07:00
0226_tan_colossus.sql fix: preserve recovery retries across restarts (#11817) 2026-08-20 17:09:42 -05:00
0227_modern_pandemic.sql feat(runner): add native persistence contracts (#12169) 2026-08-25 13:08:39 -05:00
0228_nasty_grim_reaper.sql fix(interactions): deliver question answers durably (#12307) 2026-08-27 12:12:21 -05:00
0229_drop_company_brand_color_and_attachment_max_bytes.sql Remove the company brand color and per-company attachment limit (#12291) 2026-08-27 12:11:05 -07:00
0230_better_auth_account_issuer.sql Add the Better Auth issuer column so signup and sign-in work (#12396) 2026-08-27 22:31:35 -07:00
0231_remove_app_connection_wide_includes.sql feat(apps): add secure remote MCP and PostHog setup (#12339) 2026-08-29 12:08:32 -05:00
0232_fixed_hannibal_king.sql feat(apps): add connection grants and delegated identities (#12341) 2026-08-29 12:08:33 -05:00
0233_living_dreaming_celestial.sql feat(connections): add managed external MCP connectors (#12346) 2026-08-29 12:08:34 -05:00
0234_provider_trace_records.sql feat(runner): add Codex-native application integration (#12591) 2026-08-31 14:38:38 -05:00
0235_heartbeat_run_event_sequence_uniqueness.sql feat(runner): add Codex-native application integration (#12591) 2026-08-31 14:38:38 -05:00
0236_remove_cheap_model_profiles.sql Remove cheap model profiles (#12683) 2026-09-01 14:57:38 -05:00
0237_clammy_colonel_america.sql feat(runner): add managed provider backends (#12699) 2026-09-02 00:48:30 -05:00
0238_graceful_infant_terrible.sql fix(runner): recover native sessions across restarts (#12845) 2026-09-04 15:03:53 -05:00
0239_sturdy_santa_claus.sql feat(connections): add durable GitHub identities and webhooks (#12843) 2026-09-04 18:02:52 -05:00