Skip to content

feat: Add release safety framework with preflight checks and canary gates - #150

Merged
Obiajulu-gif merged 3 commits into
Chainmove:mainfrom
soomtochukwu:feat/148-release-safety
Jul 22, 2026
Merged

feat: Add release safety framework with preflight checks and canary gates#150
Obiajulu-gif merged 3 commits into
Chainmove:mainfrom
soomtochukwu:feat/148-release-safety

Conversation

@soomtochukwu

Copy link
Copy Markdown
Contributor

Summary

Implements a comprehensive release safety framework protecting live financial operations during releases and deployments.

  • Release Manifest (lib/release/manifest.ts): Validates contract address, WASM hash, network passphrase, and required preflight checks.
  • Pre-deploy Verification (lib/release/preDeployChecks.ts): Ensures backup freshness (<30 min), dry-run migration capability, and contract identity matching.
  • Expand-Contract Helper (lib/release/migrations.ts): Enforces phased zero-downtime field deprecation.
  • Canary & Rollback Engine (lib/release/canary.ts): Deterministic cohort routing, financial probe execution, and auto-rollback triggers.
  • Admin API Routes (app/api/admin/release/preflight, canary, rollback).
  • Test Suite (lib/release/release-safety.test.ts): Full coverage of manifest validation, preflight checks, canary routing, and rollback triggers.

Closes #148

…ates

- Add release manifest validation and schema definition in lib/release/manifest.ts
- Add pre-deploy verification for backup freshness and contract identity in lib/release/preDeployChecks.ts
- Add expand-contract zero-downtime migration helper in lib/release/migrations.ts
- Add canary cohort routing, financial probe execution, and automated rollback evaluation in lib/release/canary.ts
- Add administrative release safety API routes (preflight, canary, rollback)
- Add comprehensive release safety test suite

Closes Chainmove#148
- Fix scope order of authContext in app/api/kyc-documents/route.ts
- Import missing activity functions and fix Notification.create in app/api/notifications/route.ts
- Fix MongoDB/Mongoose Collection and Db types in backup, restore, and verify services
- Fix Stellar SDK type signatures in rent-sweeper and restore-state scripts
- Fix tsconfig date-fns import resolution in stellar-activity-panel.tsx

Closes Chainmove#148
…t support

lib/risk/engine.test.ts uses top-level await which requires target >= ES2017.
The previous target ES6 caused TS1378 in CI.
@Obiajulu-gif

Copy link
Copy Markdown
Collaborator

@soomtochukwu nice work ... great job

@soomtochukwu

Copy link
Copy Markdown
Contributor Author

@soomtochukwu nice work ... great job

@Obiajulu-gif ...appreciate

@Obiajulu-gif
Obiajulu-gif merged commit 6516400 into Chainmove:main Jul 22, 2026
1 of 2 checks passed
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.

[HARD][RELEASE SAFETY] Add expand-contract migrations, canary checks, and automated rollback gates

2 participants