KB-3D11

IU Core 2400x — Nuxt assembly status (deploy-gated)

3 min read Revision 1
iu-core2400xdieu44nuxtassembly-contractdeploy-gated

04 — Nuxt assembly status (deploy-gated, no code change)

1. What 1500x / 2000x established

The Nuxt assembly contract (filters, sort, tabs for 3 axes, render behaviour) was authored in 1500x's nuxt_assembly_contract.py and verified end-to-end against the 2000x Directus registration. The contract is a pure-data spec — no Nuxt code lives in the IU Core repo, in keeping with the UI boundary law:

PG tables/functions/views -> Directus collections/permissions/REST -> Nuxt existing screens/components.

The IU Core repo MUST NOT contain Nuxt business logic.

2. What changed in 2400x — only the collection name

The Directus collection name flipped from v_ui_iu_three_axis_envelope (view-backed) to iu_three_axis_envelope (managed table). Two consequences:

  1. The 1500x/2000x assembly contract already supports the override via the env var IU_CORE_DIRECTUS_COLLECTION. No contract code change.
  2. The Nuxt-side env / runtime config for the IU Core admin screen needs to be set to the new collection name. That is a deploy step, gated on the operator-controlled Nuxt build, and is intentionally not performed by this macro.

3. Discovery probe — Nuxt container

$ docker ps --filter name=incomex-nuxt --format '{{.Image}} {{.Status}}'
nuxt-ssr-local:d28gmr-1778407456    Up 10 days (healthy)

The container is live and healthy. The macro does not exec into it, does not restart it, does not deploy a new image. The Nuxt SDK pattern in 1500x's contract document works as-is against the new collection name once the env override is set.

4. UI boundary preserved (binding)

  • No direct PG access from Nuxt.
  • No bypassing Directus / REST.
  • No Nuxt component edits in the IU Core repo (none exist; this was re-verified in this macro).
  • No deploy / restart by this macro.

5. Operator next steps (deploy-gated)

  1. Set IU_CORE_DIRECTUS_COLLECTION=iu_three_axis_envelope in the Nuxt runtime config or .env for the SSR build.
  2. Rebuild + redeploy incomex-nuxt (operator gate).
  3. The 1500x assembly contract drives Nuxt's useDirectus / useItems calls without further code change — collection, per-axis tab grouping, MUST-NOT filters, render template all come from the contract.

6. Five-layer impact (this section)

layer impact
Nuxt none — config-only operator action queued, not performed

7. Disposition

DONE_WITH_EXTERNAL_BLOCKER — the IU Core layer is complete; the remaining step is a one-line Nuxt env override + redeploy on the operator's release schedule.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-2400x-directus-promotion-full-qdrant-reindex-open-goal/04-nuxt-assembly-status.md