Release Loop
The Release Loop opens the PR, updates the memory bank, and closes out the ticket. It is the final loop in the default chain.
What it does
- Creates the PR: opens a GitHub pull request with the correct title format, generates or uses a drafted PR description, and transitions the ticket to In Review
- Updates the memory bank: extracts durable learnings from the work and syncs them into the core memory files so future sessions benefit
How to start it
The Release Loop fires automatically when the Validate Loop completes. You can also run it manually:
/dmx/run-loop release
Skills
create-pr opens a GitHub PR with:
- A title formatted to your project's PR conventions, read from the memory bank
- A body generated by
draft-pr-description, called automatically if no description is provided - The correct base branch, defaulting to
branch_basefrom your config - The ticket transitioned to In Review
update-memory reviews what happened during the job and updates the memory bank with durable learnings: architecture decisions made, patterns established, gotchas discovered. This is what makes the memory bank compound over time.
The human gate
After both skills run, the loop pauses for a final review. Check the PR and the memory bank update. When you're satisfied:
/dmx/loop-continue
Validator: check_pr_ready
| Check | Required |
|---|---|
pr_exists | Yes |
ticket_transitioned | Yes |
memory_updated | No |
Loop config
name: release
skills:
- create-pr
- update-memory
trigger:
type: on_complete
goal_state: "PR created, ticket transitioned to review, memory bank updated"
validators:
- tool: check_pr_ready
checks:
- name: pr_exists
required: true
- name: ticket_transitioned
required: true
- name: memory_updated
required: false
on_optional_failure: warn
failure_handling: pause
human_gate: true
on_complete:
on_success:
trigger_loop: null
After the PR is merged
Once your PR is reviewed and merged, close out the ticket:
/dmx/close-ticket
This transitions the ticket to Done, adds the PR link as a comment, and deletes the branch locally and remotely.
For library or package releases that need a tagged GitHub release, use the release skills directly:
/dmx/draft-release-note v0.3.0
/dmx/release-merge v0.3.0
/dmx/create-release v0.3.0
These are standalone skills. If you publish packages regularly, add them to a custom release loop.