KB-1F3C

GPT Review — Multidimensional Design v3 OK; Baseline Prompt Not Approved Hardcode

5 min read Revision 1
gpt-reviewp3dmultidimensionaldesign-v3tac-ui-baselinenot-approvedhardcode2026-05-12

GPT Review — P3D Multidimensional Design v3 Direction OK; TAC→UI Baseline Prompt Not Approved for Hardcode

Date: 2026-05-12 Reviewer: GPT-5.5 Thinking / Incomex Hội đồng AI Reviewed:

  • knowledge/dev/laws/dieu44-trien-khai/design/p3d-multidimensional-entity-db-architecture-design.md rev3
  • knowledge/dev/laws/dieu44-trien-khai/design/p3d-phase5c2-impact-addendum-after-multidimensional-design.md rev3
  • knowledge/dev/laws/dieu44-trien-khai/prompts/p3d-pack1-tac-ui-baseline-readonly-check-prompt-DRAFT.md
  • knowledge/dev/laws/dieu44-trien-khai/reports/p3d-multidimensional-entity-db-design-v3-tac-ui-baseline-patch-report.md

Verdict

Design v3 direction is accepted.

TAC→UI baseline prompt DRAFT is NOT approved for Agent dispatch.

The baseline prompt repeats the system weakness the user warned about: it hardcodes paths, URLs, table names, and column names inside executable commands. This is unacceptable because the purpose of the baseline is to discover and preserve the existing runtime, not to assume it.

Phase 5C2 migration remains paused.

What is accepted

  1. P10D-2B wording is corrected: implementation exists at commit 5ce3437; deploy status UNKNOWN.
  2. TAC→UI baseline is now a required migration safety prerequisite.
  3. “6 lớp + 1 loài” terminology is fixed; hạ nguyên tử is not counted as one of the six primary lớp.
  4. Entity Living DB vs composition Lớp 3 conflict is addressed.
  5. Relation-pair source path is cited.
  6. TAC→UI preservation contract is in the design.
  7. UI cutover remains separate from 5C2 pilot.

Blocking issues in baseline prompt

1. Hardcoded VPS paths

The prompt uses:

/opt/incomex/deploys/nuxt-output/
/opt/incomex/docker/nuxt-repo

These may be correct today, but executable prompt must not assume them. The prompt must discover Nuxt repo/deploy locations from live runtime sources or mark UNKNOWN.

Allowed pattern:

Discover candidate Nuxt repo/deploy roots from running containers, compose files, systemd/docker metadata, or existing known config files; report source of evidence.
If not discoverable, report DEPLOY_PATH_UNKNOWN.

Do not bake a single path as truth.

2. Hardcoded production URL

The prompt uses:

https://portal.incomex.co/knowledge/laws

The production origin should be discovered from environment/config/global settings where possible, or treated as GPT/User-provided scope constant. The prompt currently does neither.

3. Hardcoded table/column names in SQL

The prompt uses raw executable SQL with:

tac_publication.doc_code
tac_publication_member.publication_id
tac_publication_member.unit_version_id
tac_publication_member.render_order
tac_logical_unit.parent_id/sort_order/canonical_address/section_type
tac_unit_version.logical_unit_id/title/body

These are schema-sensitive. They must be resolved through a concept map before use.

4. Query structure assumes join paths

The prompt assumes membership joins and version-to-logical-unit joins. It must first introspect FKs / columns and build a resolved join contract. If ambiguous, report AMBIGUOUS_JOIN_PATH and stop dependent sections.

5. Hardcoded file path for source grep

The prompt assumes:

web/pages/knowledge/laws/*.vue

It must first discover Nuxt pages directory and candidate laws route files. Then grep discovered files only.

6. Hardcoded “expected 0” no-hardcode audit

The prompt says expected grep match count = 0 for specific doc codes. That is a useful check, but should not be the only no-hardcode audit. It must scan for hardcoded publication identifiers dynamically from live TAC publications and report any route/source matches.

7. Specific values allowed only as scope constants, not executable schema

DIEU-35 is allowed as a locked pilot scope constant. 5ce3437 is allowed as historical implementation evidence. But they must not be used to avoid runtime discovery.

Required patch

Patch baseline prompt to rev2.

Open:

P3D_TAC_UI_BASELINE_PROMPT_REV2_NO_HARDCODE_DISCOVERY_FIRST

The patched prompt must be discovery/concept-first:

  1. Discover production origin / mark UNKNOWN.
  2. Discover Nuxt repo/deploy paths / mark UNKNOWN.
  3. Discover route files / mark UNKNOWN.
  4. Introspect TAC tables and resolve columns before SQL.
  5. Resolve join paths before counts/tree baseline.
  6. Scan hardcoded identifiers dynamically from live publication codes, not only static DIEU-28/32/35.
  7. Label every unresolved item as UNKNOWN / FIELD_ABSENT / AMBIGUOUS_FIELD.
  8. No DB write / no UI change / no deploy remains mandatory.

Status

design_v3_direction=ACCEPTED
baseline_prompt_draft=NOT_APPROVED_FOR_DISPATCH
reason=hardcoded_paths_urls_tables_columns_join_paths
phase5c2_migration_allowed=false
ui_cutover_allowed=false
agent_dispatch_allowed=false
next_action=OPUS_PATCH_TAC_UI_BASELINE_PROMPT_REV2_NO_HARDCODE
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-p3d-multidimensional-design-v3-direction-ok-baseline-prompt-not-approved-hardcode-2026-05-12.md