Backport Orbit grep and context changes and turn on monetization in 19.5
What does this MR do and why?
Backport of the two Orbit endpoint changes that merged to master and are not on 19-5-stable-ee yet, plus a stable-only change that turns on the Orbit monetization flags by default. Each MR is one git cherry-pick -m 1 -x with the same added and removed lines as the original MR. There were no conflicts and no adaptations. The branch is squashed into one commit.
| # | MR | Change | Author | Merged | Type |
|---|---|---|---|---|---|
| 1 | Add state and project references to Orbit grep ... (!264905 - merged) | Add state and project references to Orbit grep results | aalgutifan |
2026-10-26 18:19 UTC | typefeature |
| 2 | Resolve pipelines, branches, and commits in Orb... (!265236 - merged) | Resolve pipelines, branches, and commits in Orbit context and grep | aalgutifan |
2026-10-26 23:30 UTC | typefeature |
Stable-only change: Orbit monetization flags on by default
This change has no master original. It is a release decision for GitLab Self-Managed and GitLab Dedicated on 19-5-stable-ee (first patch: 19.5.2).
| Flag | Before | After |
|---|---|---|
orbit_trial |
beta, default_enabled: false |
beta, default_enabled: true |
orbit_promo_access_gate |
gitlab_com_derisk, default_enabled: false |
beta, default_enabled: true |
- The type of
orbit_promo_access_gatechanges tobeta, because thegitlab_com_derisktype cannot havedefault_enabled: true(lib/feature/shared.rb). The definition moves fromee/config/feature_flags/gitlab_com_derisk/toee/config/feature_flags/beta/, and its description now covers instances. doc/integration/orbit.mdgets a history entry.masterkeeps both defaultsfalse. GitLab.com runsmaster, so this MR does not change GitLab.com.
Effect on an instance without an explicit flag state:
- Orbit query access needs the
orbit_promoadd-on or an active instance trial, not the Premium or Ultimate plan (InstanceAccount#promo_gate?reads the flag for:instance). - An administrator can start the instance trial when the instance has an online cloud license and CustomersDot says it is eligible.
- An instance with an offline or legacy license has no trial path. It needs the
orbit_promoadd-on. - If CustomersDot is unreachable, the trial status is
unavailable, and Orbit queries stay locked until it answers. - No enrollment is deleted:
DisableBetaEnrollmentsWorkerandScheduleDisableEndedTrialsWorkerreturn early when the instance is not GitLab.com. - An administrator can restore plan-based access with
Feature.disable(:orbit_promo_access_gate).
Readiness review for GitLab Dedicated, with the preconditions and risks: gitlab-org/orbit/knowledge-graph$6072088
How the MRs were selected
- Sweep of all
into 'master'merges since the 19.5 base, after the 2026-10-26 daily backports !265147 (merged) (19.5) and !265148 (merged) (19.4) and the trial credit grants backports !265205 (merged) (19.5) and !265206 (merged) (19.4): labelgroup::context-systems, Orbit authors, and files or diff lines that matchorbit|knowledge_graph. - Kept: Orbit code, and shared code that Orbit cannot work without.
- Already on
19-5-stable-ee: the GA backport !263724 (merged), the daily backports up to !265147 (merged), and !265205 (merged). - Endpoints get their own backport MR: not split for this MR: the two endpoint MRs and the flag change ship together by request. !265236 (merged) changes grep_service.rb on top of !264905 (merged), so they stack in merge order.
- Not needed:
- !263533 (merged) changes only the MCP log tool_status and needs MCP governance code that the stable branches do not have.
- !264105 (merged) (CODEOWNERS), !262861 (merged) (Caproni dev tooling), !259938 (merged) (GitLab.com-only flag-gated rollout in shared code), !257859 (merged) (non-Orbit preferences tab move).
Verification
git patch-id --stableof each pick is the same as the one of the original merge commit. The flag commit has no original.Feature::Definitionloads both flags asbetawithdefault_enabled: true(rails runner, test environment).- Local, on the
19-5-stable-eedependencies: RSpec, Jest, ESLint, and RuboCop on the changed files (results in a comment). - MR pipeline at
pipeline::tier-3.
Points for reviewers:
- The types are mixed. The MR has
type::maintenancefor thestable_branch.rbDanger rule, as the GA backports had. It needs a release manager exception (ask in#releases). - No migrations.
- The last commit is a stable-only change with no master original. See the section on the Orbit monetization flags.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
- This MR is backporting a bug fix, documentation update, or spec fix, previously merged in the default branch. (Release manager exception requested.)
- The MR that fixed the bug on the default branch has been deployed to GitLab.com (not applicable for documentation or spec changes).
- The MR title is descriptive (e.g. "Backport of 'title of default branch MR'"). This is important, since the title will be copied to the patch blog post.
- Required labels have been applied to this merge request
- severity label and bug subtype labels (if applicable)
- If this MR fixes a bug that affects customers, the customer label has been applied.
- This MR has been approved by a maintainer (only one approval is required).
- Ensure the
E2E Omnibus GitLab EEpipeline (triggered by thee2e:test-on-omnibus-eejob) has succeeded. If it has failed (or shows warnings), investigate the failures. If you determine the failures are unrelated, you may proceed. If you need assistance investigating, request help in the #s_developer_experience Slack channel to confirm the failures are unrelated to the merge request.
Note to the merge request author and maintainer
If you have questions about the patch release process, please:
- Refer to the patch release runbook for engineers and maintainers for guidance.
- Ask questions on the
#releasesSlack channel (internal only). - Once the backport has been merged, the commit changes will be automatically deployed to a release environment that can be used for manual validation. See after merging runbook for details.