KB-6A78

Operator Runbook — 50000x addendum

3 min read Revision 1
iu-core50000xoperatorrunbook

Operator Runbook — 50000x addendum

New durable artifacts

  • 20 productized instances under actor iu-core-50000x-bulk (4 templates × 5 instances each: file v1/v2 + workflow v1/v2).
  • iu_collection_template_instance_lineage 17 → 37
  • iu_auto_instantiate_event_log 13 → 33

Recipes

List the 50000x bulk instances

SELECT instance_collection_id, instance_collection_key,
       template_collection_key, digest_matches_template, created_at
  FROM v_iu_auto_instantiate_event_log
 WHERE triggered_by = 'iu-core-50000x-bulk'
 ORDER BY created_at;

Actor-scoped rollback (dry-run first, then live)

-- 1. Dry-run: what would be deleted?
SELECT fn_iu_auto_instantiate_rollback_by_actor('iu-core-50000x-bulk', TRUE);
-- 2. Live rollback (deletes 20 collections + 20 lineage + 20 log rows;
--    ON DELETE CASCADE handles iu_piece_membership):
SELECT fn_iu_auto_instantiate_rollback_by_actor('iu-core-50000x-bulk', FALSE);

Internal event-boundary re-check

docker exec postgres psql -U directus -d directus \
  -f /opt/iu-core/ops/50000x/.../event-boundary/internal_only_proof.sql

Look at the final row:

BOUNDARY_INVARIANT | l1=t | l2a=t | l2b=t | l3a=t | l3b=t | internal_only_holds=t

All five booleans must be t. Any f is a regression — file an incident.

Retention dry-run (gate stays false)

SELECT * FROM fn_iu_core_retention_cleanup('iu-core-retention-dry', TRUE)
 ORDER BY target_table;

Migration 036 carry-forward unblock (NOT in this macro's authority)

-- AS workflow_admin (one-time):
GRANT TRIGGER ON public.iu_collection_template_instance_lineage TO directus;

Then re-attempt:

docker exec postgres psql -U directus -d directus -v ON_ERROR_STOP=on \
  -f /opt/iu-core/sql/iu-core/036_envelope_auto_refresh_on_auto_compose.sql

Then bump SSOT + tests per 08-carry-forward.md §D1.

VPS systemd timer install (NOT in this macro's authority)

See vps-systemd/README.md.

Healthcheck

Mac cron continues to run dot_iu_healthcheck aggregate; 8 surfaces all green at end-of-macro. The boundary proof above adds a 9th green signal that can be wired into the aggregate in 60000x §F1.

What this macro left untouched

  • PR #669
  • Nuxt deploy
  • Retention enablement
  • VPS systemd start
  • production_documents
  • Qdrant collections
  • DOT catalog rows (26 stable)
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-50000x-autoscope-refresh-scaleout-event-ops-closeout-open-goal/OPERATOR_RUNBOOK_50000X_ADDENDUM.md