diff --git a/runner/harness/meta.py b/runner/harness/meta.py index 947af37..19fd451 100644 --- a/runner/harness/meta.py +++ b/runner/harness/meta.py @@ -132,6 +132,17 @@ KEYS: tuple[Key, ...] = ( "Callable `(ctx)` invoked after UPGRADE_EXTRA_ENV env_set but before `abra secret generate --all` in the upgrade path. Use to pre-insert secrets that `generate --all` would produce with wrong format (e.g. when the .env.sample spec is commented out).", hook_params=("ctx",), ), + Key( + "UPGRADE_BASE_FLOOR", + "str", + None, + "Declared STRUCTURAL breaking boundary for the upgrade tier (phase basefloor): the first " + "post-break published version tag. Bases strictly below it are excluded from resolution " + "(canonical / step-back / no-canonical fallback) because an in-place upgrade across the " + "boundary is not supported upstream (e.g. a db-family change). When no ≥-floor predecessor " + "exists the tier records a DECLARED skip. NOT a static base pin (§2.G stays removed) — " + "resolution remains dynamic above the floor.", + ), # (CHAOS_BASE_DEPLOY, OIDC_AT_INSTALL and SKIP_GENERIC were deleted in restructure P2: # compose.ccci.yml is first-class + auto-chaos; install-time deps wiring is the only mode; # the generic floor is suppressible only via the dev-only CCCI_SKIP_GENERIC* env form.)