KB-2016
IU Core 6000x-authority-closeout — Section D · Retention Dry-Run (Gate Stays False)
2 min read Revision 1
iu-core6000x-authority-closeoutretentiondry-rungate-falsesection-d
6000x-authority-closeout — Section D · Retention dry-run
Verdict: PASS — gate stayed false; 3 policies queryable; rows_eligible=0 on every policy.
Authority and scope
User explicitly chose: keep iu_core.retention_enabled=false, dry-run only. Forbidden: flip gate, durable cleanup, delete rows.
Substrate
| target_table | keep_days | actor_scope |
|---|---|---|
| iu_three_axis_envelope_refresh_log | 30 | {iu_lifecycle_trigger, iu_5000x_pilot} |
| iu_three_axis_envelope_trigger_error_log | 90 | NULL (ALL actors) |
| dot_iu_command_run | 90 | {runtime_500x_op_proof, iu_core_2400x_full_reindex, iu_core_3000x_runtime_330_smoke, iu_5000x_pilot} |
Candidates view (live)
3 rows, cutoffs 2026-04-24 / 2026-02-23 / 2026-02-23. Each has sample_row IS NOT NULL — substrate intact, samples real.
Dry-run
fn_iu_core_retention_cleanup('iu_core_6000x_closeout_re_verify', true):
| target_table | cutoff | rows_eligible | rows_deleted | dry_run |
|---|---|---|---|---|
| dot_iu_command_run | 2026-02-23 | 0 | 0 | true |
| iu_three_axis_envelope_refresh_log | 2026-04-24 | 0 | 0 | true |
| iu_three_axis_envelope_trigger_error_log | 2026-02-23 | 0 | 0 | true |
Gate after run: false (unchanged).
Enablement package (NOT executed)
When future user explicitly approves:
BEGIN;
UPDATE dot_config SET value='true' WHERE key='iu_core.retention_enabled';
SELECT * FROM fn_iu_core_retention_cleanup('iu_retention_first_run', false);
-- verify; then COMMIT or ROLLBACK
Why "0 eligible rows" matters
- Today: enable is no-op.
- ~2026-06-22: id-18 audit row (from 6000x pilot) becomes first eligible.
- ~2026-08-21+: dot_iu_command_run rows from earlier macros eligible.
Enable timing should be paired with monitoring activation.