KB-5348

GPT Review — P3D Pack1 Phase5 Design OK, Prompt Not Approved Field/Fuzzy

5 min read Revision 1
gpt-reviewp3dpack1phase5prompt-rejectedno-hardcodefield-adaptive2026-05-11

GPT Review — P3D Pack 1 Phase 5 Design OK, Dry-Run Prompt Not Approved: Field/Fuzzy Hardcode

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

  • knowledge/dev/laws/dieu44-trien-khai/design/p3d-pack1-phase5-tac-to-iu-migration-design.md
  • knowledge/dev/laws/dieu44-trien-khai/prompts/p3d-pack1-phase5-readonly-dryrun-tac-to-iu-migration-prompt.md
  • knowledge/dev/laws/dieu44-trien-khai/reports/p3d-pack1-phase5-tac-to-iu-migration-design-report.md
  • knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-p3d-pack1-phase4d-decision-memo-accepted-phase5-next-2026-05-11.md

Verdict

Phase 5 design direction is accepted.

Phase 5 dry-run prompt is NOT approved for Agent dispatch yet.

Opus correctly centered Phase 5 on the nesting decision. However, the dry-run prompt still contains field-level hardcode and fuzzy selection language that can break the no-hardcode rule at scale.

What is accepted

  1. Nesting-first dependency chain is correct.
  2. Preserve / flatten / hybrid are the right top-level options.
  3. Species/composition must remain downstream of nesting.
  4. TAC should remain read-only archive during migration.
  5. Pilot-first and per-publication transaction model are directionally correct.
  6. Exact-key rollback and post-implementation design requirement are correct.
  7. The prompt remains read-only/dry-run in intent.

Blocking prompt issues

1. The prompt says “No literal identifiers beyond §0” but then uses many literal semantic field names

The prompt uses fields such as:

canonical_address
content_hash
body
content_profile
section_type
parent_id
parent_ref
sort_order

Some may be valid candidate field labels, but the prompt currently phrases some as if they are expected fields. This is the same field-level hardcode pattern caught in Phase 4C.

Fix: rewrite these as candidate semantic labels that must be detected by introspection. If absent, report FIELD_ABSENT; do not substitute from memory.

2. G5 uses fuzzy “canonical_address or similar”

This is unsafe. “similar” invites Agent to infer column identity by vibes.

Fix: define deterministic candidate-field discovery rules:

  • exact candidate label list declared as semantic candidates;
  • if multiple candidates found, report ambiguity and do not choose silently;
  • if none found, report FIELD_ABSENT and skip collision check.

3. G6 assumes body/hash/provenance fields too strongly

G6 says source has content_hash, sample computes fn_content_hash(body), target has content_profile. These may be true from prior reports, but dry-run must re-verify as field candidates and not assume column existence.

Fix: candidate fields:

body-like field
hash-like field
jsonb profile/provenance field

with introspection + ambiguity handling.

4. G7 still relies on fuzzy “simplest composition” and “allows containment”

This is too interpretive for Agent.

Fix: split G7 into evidence-only:

  • list live composition levels from entity_species;
  • attach Điều 0-B criteria text already in design/legal docs as reference labels if available;
  • do not classify “simplest” by Agent judgment;
  • output species options by live composition level, not by guessed semantics.

GPT/User can interpret composition against nesting after the report.

5. G8/G9 are too broad for a mission prompt

“Analyze function source” and “extract checks” can be useful, but if not bounded it invites subjective extraction.

Fix: require output as:

  • raw function identity/signature;
  • raw source excerpt/summary with line anchors if available;
  • detected required parameter names;
  • explicit UNKNOWN when extraction is not deterministic.

Do not let Agent convert source into policy claims without evidence.

6. “Agent writes its own queries” needs guardrails

Mission-style is acceptable, but for this no-hardcode-sensitive pack, each goal needs:

authoritative source
semantic candidate fields
ambiguity rule
skip rule
output shape

The current prompt has source/output shape, but ambiguity and skip rules are incomplete.

Required next action

Patch dry-run prompt to rev2. Do not dispatch Agent yet.

The design may remain mostly unchanged, but if Opus patches wording, only soften any statement that treats a field/algorithm as fact before live verification.

Status

phase5_design=ACCEPTED_DIRECTIONALLY
phase5_dryrun_prompt_rev1=NOT_APPROVED_FOR_DISPATCH
agent_dispatch_allowed=false
migration_allowed=false
seed_allowed=false
backfill_allowed=false
next_action=OPUS_PATCH_PHASE5_DRYRUN_PROMPT_REV2_FIELD_ADAPTIVE_NO_FUZZY
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-p3d-pack1-phase5-design-ok-prompt-not-approved-field-fuzzy-2026-05-11.md