🌅 Aurora — Autonomous Release Intelligence

Five agents. One tag push. Zero changelog dread.

AURORA is a GitLab Duo Agent Platform flow that eliminates the last manual step in every engineering release cycle: writing about it. Push a tag; ten minutes later your CHANGELOG is updated, your GitLab Release is live, and your Slack message, email copy, and LinkedIn post are waiting in a merge request.


The Problem

Every engineering team ships code well. Nobody ships documentation of that code well.

Writing release notes is:

  • Tedious — manually trawling through 30 merged MRs for the month
  • Inconsistent — no two engineers format a changelog entry the same way
  • Delayed — it happens after the tag, so releases sit in limbo
  • Cross-functional — engineers write technical notes; PMs want business language; marketing wants a tweet

Tools like Release Drafter help with templates but still require humans to categorise every MR. AURORA removes that entirely.


What It Does

git tag v1.2.3 && git push origin v1.2.3
          │
          ▼
┌─────────────────────────────────────────────────────────┐
│                  AURORA Pipeline                        │
│                                                         │
│  🌾 Harvester  ──►  🏷️  Classifier  ──►  ✍️  Writer    │
│                                                         │
│  ──►  📣 Announcer  ──►  🚀 Publisher                  │
└─────────────────────────────────────────────────────────┘
          │
          ▼
  ✅ CHANGELOG.md updated (MR opened)
  ✅ GitLab Release created with full notes
  ✅ Slack message ready to paste
  ✅ Email newsletter copy drafted
  ✅ Social post (≤280 chars) generated

The Five Agents

Agent Role Key tools
Harvester Finds all merged MRs between the previous tag and current tag; reads release policy list_merge_requests, gitlab_api_get, run_git_command
Classifier Assigns each MR a type (breaking/feat/fix/security/perf/docs/chore), extracts user-facing summary, flags migration requirements list_merge_request_diffs, get_merge_request
Writer Generates Keep-a-Changelog entry + rich GitLab Release notes with executive summary, highlights table, and upgrade guide get_repository_file, gitlab_blob_search
Announcer Drafts Slack message, email newsletter copy, and social post — in the tone your team configures read_file
Publisher Commits CHANGELOG.md, commits announcement copy, opens MR, creates GitLab Release via API create_commit, create_merge_request, gitlab_api_get

How to Trigger

Automatic — on every tag push

git tag v1.2.3 && git push origin v1.2.3
# AURORA fires via pipeline_hooks consumer

Manual — mention in any issue or MR

@aurora release tag: v1.2.3

Scheduled Configure a GitLab schedule for nightly pre-release notes generation.


Configuration — policy/release-policy.yml

Everything AURORA decides is driven by a single YAML file checked into your repo. No code changes. No redeployment.

# Tell AURORA what your labels mean
label_type_map:
  "enhancement": feat
  "bug":         fix
  "security":    security

# Control what appears in the changelog
changelog:
  include_chore: false
  include_docs:  true

# Control announcement tone
announcement:
  tone: "dual"           # technical | executive | dual
  project_display_name: "Acme Platform"
  social_hashtags:
    - "#DevOps"
    - "#GitLab"

# Safety gates
safety:
  dry_run: false
  min_mr_count: 1
  skip_if_release_exists: false

Sample Output

CHANGELOG entry

## [v1.2.3] - 2026-03-25

> ⚠️ **UPGRADE NOTICE** — This release contains 1 breaking change. See upgrade guide below.

### ⚠️ Breaking Changes
- **[config]** Renames `DATABASE_URL` to `DB_CONNECTION_STRING`. `Migration:` Update your `.env` and CI/CD variables. (!87)

### 🔒 Security
- **[deps]** Patches CVE-2026-1234 in the `cryptography` package by upgrading to 42.0.5. (!91)

### ✨ Added
- **[auth]** Enables OAuth2 PKCE flow for more secure browser-based token exchange. (!84)
- **[dashboard]** Adds real-time pipeline status widget to the project overview page. (!82)

### 🐛 Fixed
- **[api]** Resolves a race condition in the webhook delivery queue that caused duplicate events. (!89)
- **[search]** Corrects pagination offset for search results beyond page 5. (!86)

Slack message (technical tone)

🚀 Released: Acme Platform v1.2.3

This release hardens authentication, patches a critical CVE, and ships the
real-time pipeline dashboard you've been waiting for.

• ⚠️  [config] DATABASE_URL → DB_CONNECTION_STRING (breaking — update your .env)
• 🔒  [deps] CVE-2026-1234 patched in cryptography 42.0.5
• ✨  [auth] OAuth2 PKCE flow now available
• ✨  [dashboard] Real-time pipeline status widget
• 🐛  [api] Webhook duplicate-delivery race condition fixed

⚠️ ACTION REQUIRED: See upgrade guide → https://gitlab.com/.../releases/v1.2.3

📦 Full release notes: https://gitlab.com/.../releases/v1.2.3
Thanks to 6 contributors: @jsmith, @priya, @tanaka, @ola, @marco, @lin

Architecture

AURORA runs entirely on the GitLab Duo Agent Platform. No external infrastructure, no secrets to manage outside of GitLab, no separate dashboard.

The flow chains all five agents sequentially in a single YAML file. Each agent has a deliberately scoped toolset to keep reasoning focused and token usage efficient.

Policy-as-code means both agents and humans read the same source of truth. When the Classifier decides "this MR label maps to feat", and the Writer formats it, both decisions trace back to the same label_type_map entry.


What's Next for AURORA

  • Multi-repository releases — aggregate changelog entries across a monorepo or service mesh
  • Milestone integration — map releases to GitLab milestones and auto-close them on publish
  • Changelog diff reviewer — a sixth agent that detects gaps ("5 MRs have no user-facing summary")
  • Historical analysis — track velocity metrics from changelog data over time
  • Webhook delivery — push Slack/Teams messages directly instead of just drafting them
  • Policy marketplace — shareable templates for SaaS products, OSS projects, regulated industries

Project Structure

aurora/
├── .ai-catalog-mapping.json     # GitLab AI Catalog sync metadata
├── .gitlab-ci.yml               # CI: YAML validation + tag-triggered release job
├── AGENTS.md                    # Agent rules (read by GitLab Duo)
├── README.md                    # This file
├── agents/
│   ├── harvester.yml            # Stage 1: collect merged MRs
│   ├── classifier.yml           # Stage 2: classify change types
│   ├── writer.yml               # Stage 3: generate changelog + release notes
│   ├── announcer.yml            # Stage 4: draft team announcements
│   └── publisher.yml            # Stage 5: commit, MR, GitLab Release
├── flows/
│   └── flow.yml                 # Main 5-agent pipeline definition
└── policy/
    └── release-policy.yml       # ← Configure AURORA here

Built With

  • ci/cd
  • claude
  • duo
  • gitlab
  • yaml
Share this project:

Updates

posted an update

Changing the project name to AURORA- Autonomous Release Intelligence. AURORA is a GitLab Duo Agent Platform flow that eliminates the last manual step in every engineering release cycle: writing about it. Push a tag; ten minutes later your CHANGELOG is updated, your GitLab Release is live, and your Slack message, email copy, and LinkedIn post are waiting in a merge request.

Log in or sign up for Devpost to join the conversation.

posted an update

Open to feedback from judges, fellow participants, and anyone who has dealt with technical debt at scale. If you've managed a legacy codebase or run DevSecOps at a growing team, I want to hear where PHANTOM would break down in your workflow.

Log in or sign up for Devpost to join the conversation.