Skip to content

feat: canary phase for contract upgrade orchestrator - #643

Merged
thlpkee20-wq merged 2 commits into
RevoraOrg:masterfrom
mrcoman:feat/contract-upgrade-canary
Jul 29, 2026
Merged

feat: canary phase for contract upgrade orchestrator#643
thlpkee20-wq merged 2 commits into
RevoraOrg:masterfrom
mrcoman:feat/contract-upgrade-canary

Conversation

@mrcoman

@mrcoman mrcoman commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Add a canary phase state machine to ContractUpgradeOrchestratorService that activates the new code-id against a designated shadow offering before general rollout.

Changes:

  • New states: canary_active, hold_period, canary_passed, rolled_back
  • New methods: startCanary, recordCanaryMetrics, promoteCanary, rollbackCanary
  • Hold-period timer gated on clean metric snapshots
  • Auto-rollback on metric threshold breach (error_rate, p99_latency_ms, failed_tx_count)
  • Four new admin-gated REST endpoints: canary/start, canary/metrics, canary/promote, canary/rollback
  • DB migration 020: extended status CHECK, 7 canary columns, partial index
  • 61 tests passing across service and route suites
  • docs/contract-upgrade-canary.md with state diagram, API reference, threshold table, security assumptions

closes #521

Add a canary phase state machine to ContractUpgradeOrchestratorService
that activates the new code-id against a designated shadow offering
before general rollout.

Changes:
- New states: canary_active, hold_period, canary_passed, rolled_back
- New methods: startCanary, recordCanaryMetrics, promoteCanary, rollbackCanary
- Hold-period timer gated on clean metric snapshots
- Auto-rollback on metric threshold breach (error_rate, p99_latency_ms, failed_tx_count)
- Four new admin-gated REST endpoints: canary/start, canary/metrics,
  canary/promote, canary/rollback
- DB migration 020: extended status CHECK, 7 canary columns, partial index
- 61 tests passing across service and route suites
- docs/contract-upgrade-canary.md with state diagram, API reference,
  threshold table, security assumptions
@drips-wave

drips-wave Bot commented Jul 29, 2026

Copy link
Copy Markdown

@mrcoman Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@thlpkee20-wq
thlpkee20-wq merged commit 4182987 into RevoraOrg:master Jul 29, 2026
1 check failed
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.

Contract upgrade orchestrator: canary rollout to a shadow offering before global

2 participants