P3D Pack 1 Phase 4B — Species/Composition Design & Discovery Prompt Report
P3D Pack 1 Phase 4B — Species/Composition Design & Discovery Prompt Report
Date: 2026-05-11 Author: Opus 4.7 Directive:
gpt-directive-opus-p3d-pack1-phase4b-species-composition-registry-alignment-2026-05-11.md
1. Status flags
phase_status=PASS
mode=DESIGN_AND_READONLY_PROMPT_ONLY
phase4_vocab_status=PASS_ACCEPTED
migration_allowed=false
species_seed_allowed=false
composition_seed_allowed=false
no_hardcode_contract=included
read_only_prompt_created=true
requires_GPT_User_review_before_dispatch=true
2. Output paths
| Artifact | Path |
|---|---|
| Design | knowledge/dev/laws/dieu44-trien-khai/design/p3d-pack1-phase4b-species-composition-registry-alignment-design.md |
| Discovery prompt | knowledge/dev/laws/dieu44-trien-khai/prompts/p3d-pack1-phase4b-readonly-species-composition-registry-discovery-prompt.md |
| This report | knowledge/dev/laws/dieu44-trien-khai/reports/p3d-pack1-phase4b-species-composition-design-and-discovery-prompt-report.md |
3. Top 7 design questions/decisions for GPT/User
-
Species for IU: new or existing? Design recommends new species (E1). None of the 40 existing species fits "information unit." But should there be one species for all IU or per-unit_kind (SPE-IUL for law_unit, SPE-IUD for design_doc_section)?
-
Composition level: atom, molecule, or compound? Design recommends atom (F1). A law_unit is a self-contained text block; its sections are sub-atomic field values, not separate entities. Per Điều 0-B: no-entity-inside = atom.
-
Birth registry backfill or forward-only? Design recommends backfill + forward (G1). 12 existing IU birth_registry rows have NULL species/composition. Backfilling them avoids "before/after" split.
-
Birth gate upgrade or passive registry alignment? Design recommends passive (keep birth gate Tier-0, rely on fn_birth_registry_auto + species_collection_map). Birth gate upgrade = function patch, separate governance decision.
-
Parent-child during migration: populate or defer? Design recommends populate parent_or_container_ref during migration (H1), defer universal_edges to DOT enrichment (H2). Keeps migration narrow while preserving structural hierarchy.
-
Collection registry promotion: observed→governed? Must decide before migration. If promoted, all governance requirements (species, labels, etc.) apply. If kept observed, IU stays pilot. Discovery will show current state and the pattern for governed collections.
-
unit_version strategy: subordinate confirmed? Phase 3 found collection_registry.birth_code_strategy='subordinate' for UV. Does this mean UV should NOT have its own species_collection_map entry? Discovery will check fn_birth_registry_auto logic to confirm.
4. Discovery prompt structure
8 blocks, all read-only, introspect-first:
- D0: Schema introspection (9 sub-blocks for 6 tables + 3 constraint sets)
- D1: Full entity_species catalog (columns discovered in D0, not assumed)
- D2: Species-collection mapping landscape + IU/UV gap
- D3: Collection registry IU/UV/TAC state
- D4: Birth registry species/composition for IU/UV
- D5: Labels + edges coverage + governed exemplar pattern
- D6: fn_birth_registry_auto source inspection
- D7: Candidate analysis (fuzzy, labelled
candidate_not_approved)
5. Confirmation
GPT/User review is required before dispatching the discovery prompt. No agent, no seed, no migration at this stage.
phase4b_design=CREATED
phase4b_discovery_prompt=CREATED
agent_dispatch_allowed=false_until_GPT_USER_REVIEW
next_action=GPT_REVIEW_PHASE4B_DESIGN_AND_DISCOVERY_PROMPT