Skip to content

Connector reliability: rebuild GitHub/repo identity and Daytona integration #86

Description

@teckedd-code2save

Why

Connectors are currently too loose to support GroundControl's agent-native direction. GitHub/repository linking is buggy and ambiguous, connector health can report "connected" while a required capability is broken, and Daytona has not completed a reliable end-to-end acceptance flow.

This is intentionally parked behind the current agent-access milestone so it stays visible without expanding that scope.

Track 1 — GitHub + repository identity

Rebuild the relationship between:

  • GroundControl user/account
  • GitHub App installation / credential grant
  • repository
  • branch/revision
  • GHCR/package access
  • enrolled deployment
  • deployment target

Acceptance:

  1. Connect GitHub once through a predictable installation/auth flow.
  2. Discover private/public repositories available to that installation.
  3. Link an exact repository to an enrolled deployment.
  4. Resolve branch + deployed revision deterministically.
  5. Verify repository read access and GHCR/package access independently.
  6. A connector is never called connected merely because credentials exist.
  7. Expired/revoked/package-insufficient credentials become degraded with an exact remediation.
  8. Reconnect/rotate credentials without breaking deployment identity.
  9. Fold issue Detect expired GitHub package credentials before deployment #82's registry credential checks into this capability-health model.

Track 2 — Capability health

Expose per-capability status rather than one connector boolean, e.g.

{
  "connector": "github",
  "capabilities": {
    "source.read": "healthy",
    "source.webhook": "healthy",
    "registry.pull": "degraded"
  }
}

Agents and UI must be able to tell:

  • configured
  • verified
  • degraded
  • expired/revoked
  • missing scope
  • unavailable

Track 3 — Daytona rebuild

Treat the current Daytona connector as unproven. Rebuild around one acceptance flow:

  1. Select an enrolled deployment with an exact repository + revision.
  2. Create isolated sandbox.
  3. Clone/read the exact revision.
  4. reproduce a named failure or run a named validation command.
  5. apply a candidate patch only in sandbox.
  6. run baseline and candidate verification against the same revision.
  7. return structured evidence.
  8. cleanup the sandbox under a deadline even on failure/cancellation.

"No Daytona configured" and "sandbox could not run" must never be represented as successful reproduction or validation.

Agent-native outcome

Connecting GitHub should expand GC's capability graph with source/registry tools.
Connecting Daytona should expand it with sandbox/reproduction/repair-validation tools.

This issue should be resumed after the scoped MCP/OAuth + durable operation milestone is proven end-to-end.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions