feat(mdd): Ops Mode — deployment runbooks with canary-gated multi-region execution#4
Merged
TheDecipherist merged 3 commits intomainfrom Apr 19, 2026
Merged
Conversation
…-region execution Adds three new MDD commands for deployment documentation and execution: - /mdd ops <description> — create a runbook in .mdd/ops/ (services, regions, images, credentials, webhooks) - /mdd runop <slug> — execute runbook: pre-flight health check → canary-gated region deploy → post-flight verify - /mdd update-op <slug> — edit an existing runbook with diff preview Key features: - Per-region Docker image name overrides (different image names for EU vs US) - Deployment strategy config: sequential/parallel, health_check/manual/none gate, stop/skip_region/rollback on failure - Service health status tracked per-region in frontmatter, updated on every runop - Canary pattern: deploy to lower deploy_order region first, gate on health, then primary - .mdd/ops/ bootstrapped silently on every /mdd invocation alongside docs/ and audits/ - Status, Scan, Graph, Audit, Commands modes all updated to include ops runbooks - Prominent Ops Mode section added to README.md and docs/index.html Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- /mdd ops now asks global vs project scope as first question - Global saves to ~/.claude/ops/ — reusable across all projects - Note shown: global ops cannot access project-local .env vars - Collision guard: if a global op exists with the same slug, creating a project op with that name is a hard stop (no silent shadowing) - runop and update-op check project-local first, then global; announce which scope the runbook was found in - /mdd ops list shows unified view of all global + project runbooks with last-run status, grouped by scope Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ADME and site Adds the global ops scope (~/.claude/ops/), /mdd ops list command, collision guard rule, and updated directory structure to both README.md and docs/index.html. Keeps both doc surfaces in sync with the full ops mode feature as implemented in mdd.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/mdd ops(create/update runbooks),/mdd runop(execute),/mdd update-op(edit),/mdd ops list(list all)healthy/degraded/failing/unknown+ ISO timestamp)~/.claude/ops/) for reusable cross-project runbooks (Docker Hub login, DNS procedures); global namespace is authoritative — collision guard blocks same-named project ops.mdd/ops/auto-created on every/mddinvocationREADME.mdanddocs/index.htmlTest plan
/mdd ops deploy rulecatch to dokploy— should ask global/project first, then interview, produce.mdd/ops/rulecatch-dokploy.md/mdd ops deploy docker hub loginwithglobalscope — should write~/.claude/ops/docker-hub-login.md/mdd runop rulecatch-dokploy— should display pre-flight table, execute canary region, show gate output, only advance to primary on PASSED/mdd ops list— should show both global and project runbooks grouped by scope/mdd status— should include ops runbook count.mdd/ops/is bootstrapped silently on any/mddinvocation🤖 Generated with Claude Code