Connections under control.

GitLab, corporate identity, models and MCP have different permissions.

Your existing self-managed GitLab

  • Create a dedicated reviewer bot and one test project. Authorize MR reads first, discussions and approve separately.
  • Configure webhook, reviewer assignment and mentions under the agreed policy. A new SHA needs a new review.
  • Verify line-level discussions against diff refs, webhook redelivery and duplicate prevention.
  • Approve depends on current checks. An ordinary comment is not an enforced merge block. No hidden merge is performed.
  • CI runs through an allowlist of project/ref/jobs. Untrusted MR code must not receive the host Docker socket, a privileged runner or production secrets.

Corporate SSO and Keycloak

Configure the OIDC issuer/realm, client_id, exact HTTPS redirect URI and private client secret within your infrastructure. Map users to organization roles explicitly. An email domain does not automatically grant admin rights. Test sign-in, logout, denial without a role, organization switching and cross-tenant isolation.

API or official CLI

Agree on the model, entitlement, allowed context and budget. API credentials and subscription sign-in are different connection types. For Codex, use official sign-in in a dedicated tenant/profile volume. Do not copy auth from Komand, a workstation or another organization. Verify an actual call; credential status is not a substitute.

ContextForge and corporate tools

ContextForge is the shared MCP layer. Each application, user and recipient gets scoped access, separate consent and revocation. Verify a useful tool response after initialize/list, then revocation and restart. Jira and Confluence require separately authorized MCP servers and their own credentials. A shared gateway does not establish accepted connectors for those services.

Current acceptance boundaries

Feedback directly in GitLab

Rate a finding with a reaction or reply in the same discussion: feedback wrong: explanation. Edited replies and removed reactions are accounted for. Your team can update versioned rules based on feedback. This does not automatically train the model, and style settings do not change risk severity or permissions.