Skip to content

[Feat] Connect source control when Sessions need repository access - #2400

Open
roomote-roomote[bot] wants to merge 3 commits into
developfrom
feature/optional-source-control-3t76rtor3issz
Open

[Feat] Connect source control when Sessions need repository access#2400
roomote-roomote[bot] wants to merge 3 commits into
developfrom
feature/optional-source-control-3t76rtor3issz

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

​Created by Roomote. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

Related issue

No linked issue. This implements the approved optional source-control and just-in-time Session connection request.

Why this PR exists

  • A maintainer explicitly invited this PR in the linked issue or discussion
  • I am a maintainer / this is internal Roomote work

Allow setup and general Sessions without repositories, while requiring verified access before repository work can continue.

What changed

  • Make source control optional during setup behind strict deployment metadata optional_source_control_enabled === true; inference, compute and repository-starter requirements remain intact.
  • Add durable, actor-bound connection requests, trusted provider authorization/configuration returns, exact-inventory synchronization and transactional continuation admission.
  • Resume through the original web or chat surface as the requesting actor, with cancellation, expiry, supersession, fresh discovery and operation-level revalidation.
  • Preserve continuation guards when rollout is disabled between admission and adapter construction. Wrap connection-card footer actions on mobile.
  • Add additive schema migrations and operator rollout/rollback guidance. Rollout remains off by default.

Impact: users can connect repositories when needed without treating OAuth consent alone as authorization to resume stale work. No merge or rollout is performed by this PR.

How it was tested

  • Fresh package-scoped runs: 847 distinct tests passed across API (151), cloud-agents (316), SDK (208), web server (115) and web client (57). The two new rollback regressions failed before the guard fix and passed afterward.
  • Six affected packages passed TypeScript checks. Repository pnpm lint passed after formatting generated migration metadata. Push hooks passed oxlint, residual ESLint, all 27 fast typechecks and knip.
  • Initial combined web test invocation failed on existing server/client worker configuration; separate project invocations passed.
  • Browser proof remains blocked by the last capture timeout; fresh mobile proof is pending separately. No stale screenshots are included. Live OAuth, completed mobile login-return and full mock-chat journeys remain unverified.
  • This preserves the implementation's original base. Current develop has advanced, including another 0078 migration snapshot; reconcile migrations and source conflicts and rerun integrated validation before merge. Full core test suite and a changeset were not run/added in this delivery pass.

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • This PR is small and scoped to one change
  • pnpm lint and pnpm check-types pass locally
  • I added tests or included a clear manual validation note above
  • I removed secrets, tokens, private keys, and customer data from code, logs, and screenshots
  • If this change should appear in the changelog, I ran pnpm changeset

Related PRs

@roomote-community

roomote-community Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

No new code issues found. See task

Reviewed f5a66a0

@roomote-roomote
roomote-roomote Bot marked this pull request as ready for review September 9, 2026 14:47
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.

1 participant