KB-7D23

IU Core Worker Live — 01 Precheck (host, target identity, 8 gates, backup)

3 min read Revision 1
dieu44iu-core-mvpevent-workerprecheckgatesbackupv0.62026-05-21

IU Core Worker Live — 01 Precheck, target identity, 8 gates, backup

Macro: IU_CORE_WORKER_LIVE_DRYRUN_STRUCTURE_AUTOCUT_DELIVERY_PREP_OPEN_GOAL Date: 2026-05-21

Host

  • MacBook/dev host. Repo /Users/nmhuyen/iu-cutter-build/repo/iu-cutter, branch main, HEAD 4e86c64 (clean tree). Baseline 586 passed.
  • VPS reached over SSH contabovmi3080463 (root). Production postgres container 22540b78de8f (postgres:16); DB directus, user directus, PostgreSQL 16.13. query_pg MCP is read-only; durable writes go through docker exec -i 22540b78de8f psql over SSH.

Target identity — positively production directus

current_database()='directus'; IU domain information_unit=158, unit_version=165, iu_tree_path=158; event_outbox=93,686 rows; the incomex-directus (directus 11.5) app's DB. This is production, not the pg-restore-test-… sandbox container.

Drift survey — matches the event-worker macro close-out exactly

Item Value
master gate iu_core.routes_master_enabled true
worker gate iu_core.route_worker_enabled false (pre-macro)
route iu.version_applied.workflow enabled=true, dry_run=true
iu_route_attempt / iu_route_dead_letter 0 / 0
cursor iu_outbound_default fresh — keyset NULL, seen 0, written 0
event_outbox total 93,686 — 100% event_domain='system'
event_outbox event_domain='iu' 0 — no organic IU events

Route is (iu, version_applied, update)target_kind='workflow', target_ref='event_outbox'. The governed emitter is fn_iu_emit_event (registry-validated); the production trigger trg_iu_out_version emits only version_seq>1.

8 mandatory gates — all PASS

  1. Host — MacBook repo OK + VPS SSH OK.
  2. Target identity — production directus DB confirmed (above).
  3. Backup — fresh pg_dump -Fc taken (below).
  4. Drift — worker/route/event state fully understood, matches record.
  5. Disable boundary — worker gate key updatable; runtime/080 runbook; master gate + route independently disablable.
  6. Delivery safetyfn_iu_route_deliver RAISES feature_not_supported; route CHECK iu_outbound_route_safe_chk (enabled=false OR dry_run=true) makes enabled+dry_run=false structurally impossible.
  7. Scope safety — worker cursor event_domain='iu'; the worker claim query is scoped eo.event_domain = v_cursor.event_domain.
  8. Backlog safetyevent_outbox is 100% system domain; the worker's iu filter means the 93,686-row shared backlog is never claimed.

Backup

/root/backups/iu-core-runtime/directus-pre-iucore-worker-live-20260521T142925Z.dump · 74,706,868 B · sha256 5d14dbdca0f88ab09e124ecba529b5714521bb3236d19ba2197be674ed59c38b · taken before any durable mutation.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-worker-live-dryrun-structure-autocut-delivery-prep-open-goal/01-precheck-host-gates-backup.md