GPT Review — P3D Pack1 Phase4C Direction OK, Prompt Not Approved No-Hardcode
GPT Review — P3D Pack 1 Phase 4C Design Direction OK, Prompt Not Approved for No-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-phase4c-species-mapping-strategy-qt001-backfill-design.mdknowledge/dev/laws/dieu44-trien-khai/prompts/p3d-pack1-phase4c-readonly-dryrun-species-mapping-qt001-prompt.mdknowledge/dev/laws/dieu44-trien-khai/reports/p3d-pack1-phase4c-species-mapping-strategy-design-report.md
Verdict
Design direction: ACCEPTED WITH IMPORTANT CORRECTIONS.
Mission prompt: NOT APPROVED FOR AGENT DISPATCH.
Opus correctly identified a critical runtime fact: fn_birth_registry_auto does not use discriminator columns. This changes the species-mapping strategy. However, the current prompt is too open-ended and still contains hardcode leakage. Under the user's no-hardcode requirement, it cannot be dispatched yet.
What is accepted
fn_birth_registry_autoignoring discriminators is a critical finding.- Species determines composition because
species_collection_maphas nocomposition_level; composition comes fromentity_species. - A global species mapping can misclassify future
law_unitrows if TAC migration preserves law/content semantics or nesting. - Phase 4C should remain dry-run/read-only.
- No seed, no backfill, no migration.
unit_versionbeing subordinate is plausible, but should remain evidence-backed and not locked until dry-run confirms current patterns.
Corrections required
1. Do not approve SPE-GOV primary now as recommendation yet
The design says the recommended strategy is SPE-GOV primary now + migration-time species assignment. This is plausible, but not approved. It must be downgraded to an option/hypothesis pending dry-run evidence.
Reason: if fn_birth_registry_auto ignores discriminators, a primary mapping to SPE-GOV will classify all new information_unit births as governance infrastructure until another correction mechanism intervenes. That is a long-term risk.
2. Prompt still contains hardcoded species identifiers
The prompt says no hardcoded species codes, but then includes examples that effectively hardcode:
SPE-GOVSPE-LAWspecies_code='law'code='SPE-GOV'
For dry-run, these can appear only as labels from Phase 4B evidence, not as selectors. Selectors must be live-derived from entity_species properties, e.g. management_mode, domain/species_code, prefix, existing collection mappings, or exact rows discovered in Phase 4B report re-verified live.
3. Mission prompt is too loose for no-hardcode discipline
The prompt says “Agent implements the queries.” That invites improvisation. For a no-hardcode-critical area, the prompt may still be mission-style, but must include deterministic selector rules and STOP/skip behavior.
4. Dry-run option list should be source-derived
Dry-run should not be “SPE-GOV vs SPE-LAW vs new species” as fixed options. It should be:
- current observed governance species candidates discovered live;
- current law-domain species candidates discovered live;
- new-species scenarios parameterized by existing composition levels discovered live;
- discriminator feasibility from live schema and runtime function source.
5. information_unit target may be scoped, but must be declared as Pack 1 target, not a hidden constant
Using information_unit is acceptable only because Phase 4C target is explicitly IU. The prompt must state it is a scoped target collection from Pack 1, not a guessed DB constant.
Required next action
Patch Phase 4C prompt to rev2 and lightly patch the design wording.
Do not dispatch Agent yet.
Status
phase4c_design=ACCEPTED_DIRECTIONALLY_WITH_CORRECTIONS
phase4c_prompt_rev1=NOT_APPROVED_FOR_DISPATCH
seed_allowed=false
backfill_allowed=false
migration_allowed=false
next_action=OPUS_PATCH_PHASE4C_PROMPT_REV2_NO_HARDCODE_SELECTORS_AND_DOWNGRADE_RECOMMENDATION