Skip to content

feat(mdd): Ops Mode — deployment runbooks with canary-gated multi-region execution#4

Merged
TheDecipherist merged 3 commits intomainfrom
feat/mdd-ops-mode
Apr 19, 2026
Merged

feat(mdd): Ops Mode — deployment runbooks with canary-gated multi-region execution#4
TheDecipherist merged 3 commits intomainfrom
feat/mdd-ops-mode

Conversation

@TheDecipherist
Copy link
Copy Markdown
Owner

Summary

  • Adds a dedicated Ops Mode to the MDD workflow for deployment and infrastructure tasks
  • Three new commands: /mdd ops (create/update runbooks), /mdd runop (execute), /mdd update-op (edit), /mdd ops list (list all)
  • Canary-gated multi-region deployment: deploy to canary region first, gate on health checks, only then advance to primary — a failing canary never propagates to production
  • Per-service health status tracked per-region in runbook frontmatter (healthy/degraded/failing/unknown + ISO timestamp)
  • Per-region Docker image name overrides (supports EU/US builds with different image names)
  • Global scope (~/.claude/ops/) for reusable cross-project runbooks (Docker Hub login, DNS procedures); global namespace is authoritative — collision guard blocks same-named project ops
  • All existing modes extended to be ops-aware: Status, Scan, Graph, Audit, Commands
  • Bootstrap: .mdd/ops/ auto-created on every /mdd invocation
  • Prominent standalone Ops Mode section added to both README.md and docs/index.html

Test plan

  • Run /mdd ops deploy rulecatch to dokploy — should ask global/project first, then interview, produce .mdd/ops/rulecatch-dokploy.md
  • Run /mdd ops deploy docker hub login with global scope — should write ~/.claude/ops/docker-hub-login.md
  • Attempt to create a project op with same slug as an existing global op — should hard-stop with collision guard message
  • Run /mdd runop rulecatch-dokploy — should display pre-flight table, execute canary region, show gate output, only advance to primary on PASSED
  • Run /mdd ops list — should show both global and project runbooks grouped by scope
  • Run /mdd status — should include ops runbook count
  • Verify .mdd/ops/ is bootstrapped silently on any /mdd invocation

🤖 Generated with Claude Code

timclausendev-web and others added 3 commits April 18, 2026 20:08
…-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>
@TheDecipherist TheDecipherist merged commit a20fd8a into main Apr 19, 2026
1 check failed
@TheDecipherist TheDecipherist deleted the feat/mdd-ops-mode branch April 19, 2026 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants