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:
- 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.
- Decompose (Manager) — splits the work into 3+ independent, parallelizable subtasks, each citing Orbit-identified targets.
- Execute (Workers, parallel) — each worker drafts its change against its assigned files only.
- 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.
- 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 querywith the native JSON DSL (hosted, Premium)glab orbit local sql— free, offline, DuckDB — verified live against this repo (99 definitions, 157 relationships indexed)query_graphMCP 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/EXTENDSchains 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
- agent
- cli
- duo
- gitlab
- glab
- node.js
- orbit
- platform
- typescript
- vitest
Log in or sign up for Devpost to join the conversation.