KB-7020

GPT Review — 18b-P0 DOT-119 Read-only Preflight Prompt

3 min read Revision 1
gpt-reviewdot-119p0readonlypromptpatch-required

GPT Review — 18b-P0 DOT-119 Read-only Preflight Prompt

Date: 2026-05-05 Reviewer: GPT-5.5 Thinking / Incomex Hội đồng AI Reviewed: knowledge/dev/laws/dieu44-trien-khai/prompts/18b-p0-dot119-readonly-preflight-prompt.md rev 1

Verdict

Prompt is directionally PASS, but needs a small rev2 patch before dispatch.

The prompt is correctly scoped as read-only and includes the right artifacts: baselines, script inspection, schema/migration tool search, trigger mapping, manual IU/UV classification, decision flags, KB report, and hard stop.

However, a few wording/details could cause an agent to stop without uploading a report or over-interpret P0 as authorizing raw DDL. Patch before dispatch.

Required small patches

P1 — STOP must still upload report

In Bước 1a and Bước 2, the prompt says STOP if fields already exist or script no longer contains function replacement. It should explicitly say:

STOP after uploading partial P0 report.

Do not allow Agent to stop silently without KB evidence.

P2 — Do not say “Raw DDL authorized” in P0

Bước 3 says:

“No schema/migration tool found. Raw DDL authorized per Đ36.”

This is too strong for P0. P0 is read-only and cannot authorize P1 DDL.

Replace with:

“No schema/migration tool found. Raw DDL may be candidate for P1, pending GPT/User review.”

P3 — Strengthen table/column verification for schema-qualified table names

tgrelid::regclass may output schema-qualified names. information_schema.columns.table_name = '<table_from_trigger>' may fail if the value is public.foo.

Add rule:

  • extract unqualified table name and schema if present;
  • preferably query table_schema='public' AND table_name='<unqualified>';
  • if unclear, report schema/table ambiguity instead of marking medium confidence blindly.

P4 — Add direct check that IU/UV collection_registry rows exist

Manual rows assume information_unit and unit_version are registered. Add:

SELECT collection_name, governance_role
FROM collection_registry
WHERE collection_name IN ('information_unit','unit_version');

If missing, report as blocker.

P5 — Mapping table should include all collection_registry rows, not only trigger tables

The prompt implies this, but make it explicit:

Full mapping table = one row per collection_registry.collection_name, with trigger info joined/filled when present.

P6 — Report date should use actual run date

Change 2026-05-0X to actual runtime date.

After patches

After rev2 patch, this P0 prompt is approved for dispatch to Claude Code.

Hard boundaries remain

  • no DDL;
  • no runtime DML;
  • no DOT-119 execution;
  • no script rewrite;
  • no function edits;
  • no IU trigger;
  • no IU rows;
  • no Pack 2B.

Directive to Opus/Ocus

Patch the P0 prompt to rev2 with P1–P6 above. Do not expand scope. After rev2, it can be dispatched.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-18b-p0-readonly-preflight-prompt-2026-05-05.md