KB-18C3

11 — Rollback & Disable Package

2 min read Revision 1

11 — Rollback & Disable Package

The only live change this macro made

+22 birth_registry rows for pivot_definitions, all tagged dot_origin='BACKFILL:birth-orphan-remediation-2026-06-03'. Nothing else was inserted, updated, or deleted by intent. (Designed maintenance side-effects: 27 pivot_results.needs_refresh flags + meta_catalog record_count — see below.)

Rollback script: rollback_pivot_backfill.sql (in this directory)

Targeted, idempotent DELETE by the backfill dot_origin. Dry-verified live: it matches exactly 22 rows (would_delete = 22 inside a BEGIN..ROLLBACK; prod left intact).

DELETE FROM birth_registry
 WHERE collection_name='pivot_definitions'
   AND dot_origin='BACKFILL:birth-orphan-remediation-2026-06-03';

Operator one-liner: ssh contabo 'docker exec -i postgres psql -U workflow_admin -d directus -v ON_ERROR_STOP=1' < rollback_pivot_backfill.sql

After rollback, birth_orphan_critical_active returns to 80 and pivot_definitions PIV-001..021, 102 become unborn again. The 5-collision rows were never touched.

Side-effect handling (do NOT manually revert)

  • pivot_results.needs_refresh=true (27 rows): set by the system's own statement trigger fn_birth_change_flag_matrix, exactly as on every birth. Leave it — the pivot refresh job clears it by recomputing. Manually reverting would interfere with the normal refresh cycle.
  • meta_catalog record_count: maintained by update_record_count; self-corrects.

The 10 safety-net objects from the prior macro are unchanged. To remove them, use the prior package's operator_bundle/99_rollback_minimum_safety_net.sql (drops all 10 in dependency order, touches no business table). Do not disable the guard — it is the RP fail-closed enforcement.

No triggers disabled, no GUC changed, no constraint altered, no exception added.

Back to Knowledge Hub knowledge/dev/reports/architecture/birth-orphan-backlog-remediation-gate-stage2-2026-06-03/11-rollback-and-disable-package.md