Cyclium.Migrations.V22 (Cyclium v0.1.11)

Copy Markdown View Source

V22: Add an env dimension for cordoning work across nodes that share a DB and a stack slug.

Complements Cyclium.Env (which already folds env into dedup/claim/output keys) by giving the framework durable columns to scope on:

  • source_env on cyclium_episodes / cyclium_workflow_instances — mirrors source_stack (V18) so recovery sweeps and workflow reconciliation only pick up orphans created by the same env. Unlike source_stack (where NULL means "match any stack"), source_env is matched by strict equality: a NULL row belongs to the unset/default env, so an env-tagged node won't recover the default node's work and vice-versa. Legacy rows are NULL and therefore owned by the unset-env (default) node.

  • env on cyclium_findings — scopes finding upserts/reads so each env keeps its own active finding per key. The unique index is widened to include env so two envs can each hold an active finding with the same finding_key.

  • source_env on cyclium_trigger_requests — mirrors source_stack (V14) so the TriggerRequests.Poller on a full-mode node only claims deferred requests from its own env. Each env's trigger-only nodes feed that env's full nodes.

This makes a config like "RC node = :full with recovery on, sharing prod's DB but tagged env: "rc"" operate fully independently of the prod node.

Summary

Functions

down()

up()