KB-1434
01 · HARD GATE 0 + baseline + pg_dump backup
4 min read Revision 1
dieu44iu_cutruntime_hardeninghard_gate_0baseline
01 · HARD GATE 0 + baseline + pg_dump backup
HARD GATE 0 — PASS
| check | result |
|---|---|
| ssh contabo reachable | OK |
| docker exec postgres reachable | OK |
| psql workflow_admin@directus reachable | OK (PG 16.13) |
pg_has_role(current_user,'workflow_admin','MEMBER') |
true |
| BEGIN/ROLLBACK DDL probe | PASS |
public.cut_request exists |
true |
public.cut_request_transition exists |
true |
public.job_queue exists |
true |
public.queue_heartbeat exists |
true |
iu_core.iu_staging_record exists |
true |
iu_core.iu_staging_payload exists |
true |
public.v_queue_health exists |
true |
public.v_cut_requests_by_status exists |
true |
9 fn_cut_* functions exist |
true |
| 6 MARK/CUT alias functions exist | true |
Memory drift detected at baseline (live ≠ memory)
| memory said | live observed |
|---|---|
5-alias body md5 eb7e8ce2… stable |
6 aliases present; prosrc md5 750b06b610f50065f1117961813d9df4 |
alias surface: fn_iu_op_mark |
live name: fn_iu_op_mark_file |
no fn_iu_op_cleanup_dry_run mentioned |
exists, but operates on iu_core.iu_staging_record (staging cleanup), NOT on public.cut_request |
fn_cut_request_add(text,text,text,jsonb) |
live signature: fn_cut_request_add(text,text,text) |
cut_request.id |
live PK column: cut_request_id |
Drift was mechanical (signatures + memory index slugs), not semantic. All surfaces still satisfy contracts described in mig 052. Memory index will be updated post-pack.
Baseline (live, pre-apply)
| metric | value | source |
|---|---|---|
| cut_request count | 1 | SELECT count(*) FROM public.cut_request |
| cut_request status | cleanup_scheduled |
only row 777b1297-18af-4f07-a362-0ad18b043f21 |
| cut_request.cleanup_scheduled_at | 2026-06-10 16:41:34.629456+00 | 14d from today |
| cut_request.cut_run_id | bb4d7cbf-3f48-4906-b147-17d098d423e4 |
Điều 38 cut |
| cut_request_transition count | 10 | unchanged vs mig 052 close |
| job_queue count | 13 | +6 background since mig 052 close (7→13) |
| event_outbox count | 135,822 | +1,019 background since mig 052 close |
| information_unit count | 200 | +8 from Điều 38 cut |
| iu_vector_sync_point count | 152 | unchanged |
| iu_core.iu_staging_record count | 7 | unchanged |
| iu_core.iu_staging_payload count | 14 | unchanged |
| queue_heartbeat count | 2 | unchanged |
| queue_heartbeat[dieu45_phase3_pilot] | external_worker · ok · 2026-05-26 15:17:39 | unchanged |
| queue_heartbeat[iu_outbound_default] | PG_worker · warn · 2026-05-22 11:31:41 | unchanged (§15.5 silent gap, 101h+ frozen) |
| Điều 38 IU count (canonical_address LIKE 'DIEU-38-v3.0#%') | 8 | unchanged |
| iu_route_worker_cursor[iu_outbound_default].last_run_at | 2026-05-22 11:31:41.928657+00 | frozen since mig 052 |
| pg_cron installed | false | forbidden, confirmed absent |
| production_documents present | false | forbidden, confirmed absent |
Gates at baseline
| key | value |
|---|---|
queue.job_substrate.enabled |
false |
queue.heartbeat.enabled |
true |
queue.dlq.replay_enabled |
false |
queue.lease.reaper_enabled |
false |
iu_core.composer_enabled |
false |
runtime.phase |
phase2_governance |
pg_dump pre-apply backup
/tmp/pre_iu_cut_runtime_harden_20260526T170620Z.dump
size: 83,501,714 bytes
delta vs mig 052 close: +16,841 B (background event_outbox + job_queue)
pg_dump post-apply backup
/tmp/post_iu_cut_runtime_harden_20260526T171912Z.dump
size: 83,508,299 bytes
delta vs pre: +6,585 B (3 new function bodies + queue_heartbeat row + transitions)
Both pg_dump files preserved on host for rollback fidelity.