Skip to content

Add Session.codeProvider for cross-backend pairing #414

@dgershman

Description

@dgershman

Follow-up to #410 / ADR 0005.

Today Session.provider (Packages/CrowCore/Sources/CrowCore/Models/Session.swift)
means both task source and code source. ADR 0005 documents this as a v1 limitation —
the protocol split exists precisely so a Corveil-tasked session can use a GitHub or
GitLab CodeBackend, but the model can't represent that yet.

This ticket adds Session.codeProvider: Provider? so the two halves can come from
different providers.

Acceptance

  • Session.codeProvider: Provider? exists.
  • Default migration: existing sessions get codeProvider = provider.
  • SessionService / IssueTracker look up codeBackend(for: session.codeProvider ?? session.provider).
  • Persistence round-trip covered by tests.

References:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions