KB-3C76

50000x · 08 — Carry-forward (D1, F1, G1–G3, plus cross-cutting)

4 min read Revision 1
iu-core50000xcarry-forward

50000x · 08 — Carry-forward (D1, F1, G1–G3, plus cross-cutting)

D1 — Migration 036 apply (envelope auto-refresh on auto-compose)

State. SQL + rollback authored. Apply blocked: directus role lacks TRIGGER privilege on workflow_admin-owned iu_collection_template_instance_lineage.

Unblock recipe (single workflow_admin grant + existing channel apply).

-- AS workflow_admin (one-time):
GRANT TRIGGER ON public.iu_collection_template_instance_lineage TO directus;
-- AS directus (existing channel):
psql -U directus -d directus -v ON_ERROR_STOP=on \
  -f sql/iu-core/036_envelope_auto_refresh_on_auto_compose.sql

Post-apply SSOT/test bumps (one commit).

  • sql/iu-core/runtime/110_iu_core_dot_conformance_scan.sql:
    • INSERT INTO _iu_core_expect: ('function','fn_iu_three_axis_envelope_auto_refresh_lineage_trigger')
    • INSERT INTO _iu_core_expect: ('trigger','trg_iu_three_axis_envelope_auto_refresh_lineage')
    • VALUES (...) tuple: 'function',65→66 and 'trigger',6→7
  • tests/test_iu_core_ddl.py: EXPECTED_COUNTS function 65→66, trigger 6→7, total 181→183.

Bounded apply proof (in same TX). After apply, run a BEGIN/ROLLBACK that toggles iu_core.three_axis_auto_refresh_enabled=true, inserts one synthetic lineage row, observes iu_three_axis_envelope_refresh_log +1 row with actor='iu_auto_instantiate_trigger', ROLLBACK, verify both gate and refresh_log row reverted.

F1 — Healthcheck surface for the internal-only boundary invariant

Goal. Promote BOUNDARY_INVARIANT from a one-shot proof to a green/red signal on every Mac cron / VPS systemd tick.

Package outline.

  1. Author fn_iu_internal_boundary_healthcheck() (read-only) returning one boolean ok + jsonb detail.
  2. Add a row to the existing aggregate healthcheck.
  3. Pinning test asserting fn exists and returns ok=true.

Why not done now. Phase F's proof script is already re-runnable; bundling with D1 surface bump in a single 60000x macro is cleaner.

G1 — PR #669

State. This clone has no git remote. Unblock. Next macro with GitHub remote: gh pr view 669 --json state,mergeable,reviewDecision.

G2 — Nuxt redeploy

State. UNDEPLOYED. Unblock. Dedicated ops macro with explicit authority + canary plan.

G3 — Retention enablement

State. Gate FALSE. Unblock. Dedicated ops macro:

BEGIN;
UPDATE dot_config SET value='true' WHERE key='iu_core.retention_enabled';
SELECT fn_iu_core_retention_cleanup('iu-core-retention-enable-Nx', FALSE);
UPDATE dot_config SET value='false' WHERE key='iu_core.retention_enabled';
COMMIT;

G4 — VPS systemd timer enable

State. Files authored under vps-systemd/. NOT installed. Unblock. See vps-systemd/README.md install section.

Cross-cutting carry-forward

  • actor_column extension for iu_core_retention_policy — still open from 40000x.
  • Auto-instantiate Qdrant indexing — still open from 40000x.
  • Bulk-instance retire DOT — dot_iu_collection_retire(actor) — now more concrete with 20 actor-tagged instances live.
  • Cross-template piece sharing observability — still open from 40000x.
  • N=40 scaleout — 50000x reached the 20–40 range at the lower bound; upper bound adds no new structural information. File only if real product use case demands.
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-50000x-autoscope-refresh-scaleout-event-ops-closeout-open-goal/08-carry-forward.md