Inspiration

AI coding agents keep failing the same way: they're context-blind. They guess file paths, miss ripple effects, and produce MRs that break things they never saw. GitLab Orbit fixes the context problem — it turns the entire codebase into a queryable graph of files, symbols, and dependencies. Orbit Society asks the obvious next question: if an agent finally understands the project, can a team of agents take an issue reliably from description to a reviewed MR?

The theme — "intelligent orchestration, now with context" — is exactly the question Orbit Society answers.

What it does

You @-mention Orbit Society on a GitLab issue. Five phases run automatically:

  1. Context (Orbit, mandatory) — queries GitLab Orbit for the exact files, symbols, and dependency edges the issue touches → a Context Pack. No file may be modified unless it traces to this pack.
  2. Decompose (Manager) — splits the work into 3+ independent, parallelizable subtasks, each citing Orbit-identified targets.
  3. Execute (Workers, parallel) — each worker drafts its change against its assigned files only.
  4. Self-heal — validates each output; diagnoses + retries once on failure; marks the subtask escalated for human review if it still fails — never forces a bad change through.
  5. Deliver — opens one structured MR with per-subtask status, the Orbit context used, and a review checklist. Human-in-the-loop. Never auto-merges.

How we built it

GitLab Orbit is the ground truth layer. The flow queries it via:

  • glab orbit remote query with the native JSON DSL (hosted, Premium)
  • glab orbit local sql — free, offline, DuckDB — verified live against this repo (99 definitions, 157 relationships indexed)
  • query_graph MCP tool inside the Duo Agent Platform

GitLab Duo Agent Platform runs the flow via two artifacts:

  • skills/orbit-society/SKILL.md — an Agent Skill encoding the 5-phase methodology, slash-command enabled
  • .gitlab/duo/flows/orbit-society.flow.yaml — a custom flow (flow-registry v1, environment: ambient)

Reference implementation (reference/Orchestrator.ts) is a standalone TypeScript proof-of-work — fully unit-tested with vitest (6/6 passing) and runnable end-to-end via npm run demo, which queries a live Orbit Local graph and shows all 5 phases including self-heal and escalation.

Challenges

Designing self-heal so it improves reliability without forcing bad changes through. The solution: one diagnose-and-retry, then unconditional escalation to human review. This keeps the agent useful without making it dangerous — the core trust tradeoff in agentic coding.

What we learned

Orbit grounding as a hard constraint (not best-effort) is the key design decision. Once you require every modified file to trace to an Orbit query result, the diff scope collapses dramatically — and the MR becomes something a reviewer can actually trust.

What's next

  • Richer Orbit traversals: impact analysis across CALLS/EXTENDS chains before the MR opens
  • Supervisor-mode sub-agents per subtask for deeper self-healing
  • A benchmark of Orbit-grounded vs. ungrounded MR quality — measurable evidence for the trust claim
  • AI Catalog publish once Duo Agent Platform is enabled on the namespace

Built With

Share this project:

Updates

Submission history