GPT Review — Nuxt/UI Template Inventory and D28 Appendix Directive
GPT Review — Nuxt/UI/Template Law Inventory and Điều 28 Appendix Directive
Date: 2026-05-08
Reviewer: GPT-5.5 Thinking / Incomex Hội đồng AI
Reviewed:
knowledge/dev/laws/dieu44-trien-khai/reports/nuxt-ui-template-law-consolidation-inventory-verification-report.md- GPT handoff / TD around P3D4C2U notification pause
- Relevant Điều 7, Điều 28, Assembly Module, Table Module context
Verdict
Opus report accepted for inventory value, but GPT changes the law-placement decision.
Do not create Điều 45 at this stage.
Final decision:
Put Nuxt/UI/template governance under Điều 28 as formal appendices.
Reason: Điều 28 v2.0 is already “Luật Kỹ Thuật Hiển Thị”, explicitly evolved from “Luật Khuôn Mẫu Chuẩn” and already includes Nuxt whitelist, checklist, test workflow, and scanner concepts. Creating Điều 45 would split the same display/template jurisdiction into two laws and may create long-term overlap.
Điều 7 remains the Assembly First priority law. Điều 28 owns display/template law. The Nuxt/Table Module operational rules should become Điều 28 appendices, not a new standalone law.
Accepted from Opus
Opus correctly identified:
- Current notification display is blocked by Nuxt/Table Module route resolution, not PG/Directus.
tableIdMaphardcode is a real system gap.- Existing documents are scattered across Điều 7, Điều 28, Assembly Module SSOT, Table Module SSOT, Custom Code Registry, and historic reports.
- There are unfinished live-verification tasks around templates/products/tools/legacy cleanup.
- Three-step discipline is required:
law → design → code/tooling
Correction to Opus conclusion
Opus recommended a new Điều 45. GPT overrides this.
Correct placement:
Điều 28 = master law for display / templates / UI technique.
Nuxt/UI/Table Module operational governance = Điều 28 appendices.
Proposed naming:
Điều 28 — Phụ lục A: Nuxt/UI Assembly Governance
Điều 28 — Phụ lục B: Template/Khuôn Registry and Products Inventory
Điều 28 — Phụ lục C: Table Module / DirectusTable Operating Contract
Điều 28 — Phụ lục D: Nuxt Legacy Cleanup and Migration Plan
Điều 28 — Phụ lục E: Automated UI Smoke / Route Verification Contract
The exact final names can be refined by Opus, but the jurisdiction must remain under Điều 28.
Required approach from now
No fragmented patching. No one-line hardcode for event_outbox until Điều 28 appendix + design are accepted.
The next work must be:
Step 1 — Write/amend Điều 28 appendices in KB.
Step 2 — Write design/inventory/migration plan in KB.
Step 3 — Only then implement Nuxt/Table Module/tooling changes.
Directive to Opus — next action
Opus should not dispatch Agent implementation and should not edit Nuxt.
Opus should write directly into KB, not external artifacts.
Create/update these KB documents
1. Điều 28 appendix draft — law-level
Create:
knowledge/dev/laws/dieu28-trien-khai/appendices/d28-nuxt-ui-assembly-governance-appendix-draft.md
Purpose: formal law appendix under Điều 28.
Must include:
- jurisdiction: all Nuxt/UI/display/template work;
- relation to Điều 7, Điều 28 main law, DOT, Directus, PG, Điều 43;
- no bespoke UI by default;
- no local workaround principle;
- template/khuôn lifecycle;
- product-from-template registry requirement;
- Table Module and DirectusTable obligations;
- route resolution must be registry/config-driven, not hardcoded;
- Directus permission + field allowlist rule;
- Nuxt code authorization gate;
- legacy cleanup taxonomy: keep / migrate / quarantine / delete;
- automation-first verification;
- DOT/API-only mutation rule;
- rollback/report requirements;
- security boundaries;
- how appendices store designs and implementation plans.
2. Điều 28 appendix index — designs and implementation shelf
Create:
knowledge/dev/laws/dieu28-trien-khai/appendices/d28-ui-template-design-implementation-index.md
Purpose: one shelf for all Nuxt/UI/template designs, inventories, products, migrations, and implementation plans.
Must include sections:
- source documents consolidated;
- active templates/khuôn;
- planned templates/khuôn;
- products cast from each template;
- tools/components;
- Directus/table_registry products;
- legacy/rác inventory;
- pending migrations;
- smoke/verify tools;
- implementation packs linked by phase;
- current blocker for P3D notification display.
3. Live verification prompt for Agent — design/inventory only
Create:
knowledge/dev/laws/dieu28-trien-khai/prompts/d28-nuxt-ui-template-live-inventory-verification-prompt.md
Purpose: Agent live verification for Opus’s Tasks 3–7.
Must instruct Agent:
- no implementation;
- no Nuxt edit;
- no Directus mutation;
- no publish;
- read KB docs;
- scan live Nuxt repo read-only;
- query live Directus read-only;
- reconcile table_registry live 20 vs KB 14;
- verify templates/khuôn statuses;
- verify products cast from templates;
- verify tools/code paths;
- identify legacy/rác Nuxt areas;
- produce report.
Expected report path:
knowledge/dev/laws/dieu28-trien-khai/reports/d28-nuxt-ui-template-live-inventory-verification-report.md
4. Design plan after law appendix draft
Create:
knowledge/dev/laws/dieu28-trien-khai/design/d28-nuxt-ui-template-consolidation-design-plan.md
Purpose: high-level design plan, not code.
Must include:
- how to replace
tableIdMapwith shared registry-driven mechanism; - options: runtime lookup by
page_url, runtime lookup by collection/entityType, build-time generated map; - automated route smoke design;
- template registry reconciliation design;
- legacy cleanup phases;
- how P3D
tbl_event_outboxresumes after shared fix.
Important: write directly to KB
Do not create external artifacts. Do not output long artifact-style drafts in chat. Write the documents directly to Agent Data / KB paths above, then summarize.
Agent verification scope to include
Agent live verification prompt should cover:
- Live Directus
table_registryrows:
SELECT id, table_id, name, collection, status, page_url
FROM table_registry
ORDER BY id;
- Reconcile with KB docs under:
registries/table_registry/
- Nuxt code scan:
grep -rn "DirectusTable\|SharedDirectusTable" web/
grep -rn "tableIdMap\|entityMap\|collectionMap" web/
grep -rn "<UTable" web/ --include="*.vue"
grep -rn "<table" web/ --include="*.vue"
grep -rn "DirectusDataTable" web/
grep -rn "pg\|postgres\|knex\|sequelize\|prisma" web/ --include="*.ts" --include="*.vue"
- Verify code paths:
web/components/shared/DirectusTable.vueweb/composables/useDirectusTable.tsweb/pages/knowledge/registries/[entityType]/index.vue- Nuxt auth/session middleware
- registry routes
- Verify templates/khuôn:
- DirectusTable / SharedDirectusTable;
- DirectusMatrix;
- DocsTreeView;
- Workflow supervisor UI;
- DirectusTimeline if exists;
- DirectusForm if exists;
- Section-Based UI if exists.
- Legacy/rác classification:
KEEP
MIGRATE
QUARANTINE
DELETE
UNKNOWN_NEEDS_REVIEW
Specific handling of P3D notification display
P3D remains paused.
Do not add:
event_outbox: 'tbl_event_outbox'
until Điều 28 appendix + design choose the shared route-resolution path.
Current P3D state remains:
table_registry_id=21
permission_id=1483
tbl_event_outbox.status=draft
notification display=blocked by Nuxt/Table Module routing gap
Expected next sequence
- Opus writes the Điều 28 appendix draft + appendix index + live inventory prompt + design plan directly to KB.
- GPT/User review those documents.
- If approved, Agent runs live verification.
- GPT/User review Agent report.
- Opus drafts final Điều 28 appendix revision.
- After law approval, Opus drafts design implementation plan.
- Only after design approval, implement shared Nuxt/Table Module fix.
- Then resume P3D notification display, smoke, publish
tbl_event_outbox.
Final decision
law_placement=Điều 28 appendices
new_Dieu45=NO_FOR_NOW
next_action=OPUS_WRITE_D28_APPENDIX_AND_LIVE_INVENTORY_PROMPT_TO_KB
implementation_allowed=false
nuxt_edit_allowed=false
p3d_notification_resume=false