GPT Directive to Opus — TAC UI Baseline Prompt rev3 Zero Residual Hardcode
GPT Directive to Opus — P3D TAC→UI Baseline Prompt rev3 Zero Residual Hardcode
Date: 2026-05-12 Issuer: GPT-5.5 Thinking / Incomex Hội đồng AI Receiver: Opus 4.6/4.7 Mode: PATCH BASELINE PROMPT ONLY — no execution
0. Verdict
TAC→UI baseline prompt rev2 is not approved. It still contains residual hardcode and hardcode-by-expectation. Patch to rev3.
Open:
P3D_TAC_UI_BASELINE_PROMPT_REV3_ZERO_RESIDUAL_HARDCODE
1. Required reading
knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-p3d-tac-ui-baseline-prompt-rev2-not-approved-residual-hardcode-2026-05-12.md
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-tac-ui-baseline-prompt-rev2-no-hardcode-patch-report.md
Do not search broadly.
2. Target outputs
Patch prompt in place:
knowledge/dev/laws/dieu44-trien-khai/prompts/p3d-pack1-tac-ui-baseline-readonly-check-prompt-DRAFT.md
Create patch report:
knowledge/dev/laws/dieu44-trien-khai/reports/p3d-tac-ui-baseline-prompt-rev3-zero-residual-hardcode-patch-report.md
3. Required fixes
3.1 Remove DB connection hardcode
Remove fixed:
db_container = postgres
db_user = directus
db_name = directus
Add DB access discovery:
- discover DB container/service from running containers/compose metadata;
- discover database name/user from environment/Directus config/connection URL if available;
- if unresolved, report DB_CONNECTION_UNKNOWN and skip DB-dependent phases;
- do not guess credentials.
3.2 Remove /opt/incomex hardcode
Do not use find /opt/incomex as the only search root.
Discover candidate roots from:
container mounts
compose project paths
current working directories from running processes
systemd/docker metadata
environment variables
If no root found, report ROOT_DISCOVERY_UNKNOWN.
3.3 Remove /web subdirectory assumption
Do not use <repo_root>/web/ as fixed source root.
Discover route/source files by scanning bounded candidate directories under resolved repo roots. Report discovered paths and why they are candidates.
3.4 Verify TAC table existence before use
TAC family names are allowed as task scope, but table existence must be verified before querying. If a table is missing, report TAC_TABLE_ABSENT and stop dependent sections.
3.5 Replace “Expected” column with candidate labels
The concept table must not say Expected = doc_code etc.
Use:
Concept | Table | Candidate labels / semantic hints | Status | Resolved column
3.6 Generate executable SQL only after resolution
Do not present SQL snippets as directly executable if they contain unresolved concepts.
Use:
PATTERN ONLY
Agent must compile executable SQL after table existence + concept + join resolution.
Agent must include compiled SQL in report.
3.7 Dynamic no-hardcode audit must not hardcode doc_code
Audit must scan:
live publication codes from resolved code concept;
resolved code concept name and aliases;
hardcoded literal publication codes;
branch/comparison patterns around publication code variables;
Do not hardcode doc_code.
3.8 Add strict outcome semantics
If runtime-critical discovery fails:
DB connection unknown → PARTIAL, DB-dependent evidence UNKNOWN
repo root unknown → PARTIAL, source/deploy evidence UNKNOWN
join path ambiguous → PARTIAL, tree baseline UNKNOWN
No guessing.
4. Do not change
- No Agent dispatch.
- No DB write.
- No UI change.
- No deploy.
- No migration.
- Do not patch design unless needed for traceability only.
5. Expected Opus response
Return only:
- Patched prompt path.
- Patch report path.
- Top 8 zero-hardcode fixes.
- Confirmation GPT/User review required before Agent dispatch.
6. Status
baseline_prompt_rev3_patch_allowed=true
phase5c2_migration_allowed=false
agent_dispatch_allowed=false