GPT Review — 18b-P0 DOT-119 Read-only Preflight Prompt
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.mdrev 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.