KB-75D4

dot-iu-cutter v0.5 — Deferred Source Family Classification + Options A/B/C/D (design-only, no execution)

13 min read Revision 1
dot-iu-cutterv0.5deferred-source-familyod-sf1grammar-binding-gateclassificationdesign-onlyno-executiondieu442026-05-18

dot-iu-cutter v0.5 — Deferred Source Family: Classification + Options (A/B/C/D)

Phase: v0_5_deferred_source_family_grammar_binding_gate · Nature: design_plus_authoring__no_execution · Date: 2026-05-18 Authority consumed (read-only, NOT reopened): GPT closeout …WS-Q5-seed-privilege-production-closeout-gpt-review-2026-05-18 (next_action: open_deferred_source_family_grammar_binding_gate, design_plus_authoring_no_execution). WS-2 D2/D3/D5 design, WS-3 logical proof + gap/readiness.

⚠️ GATING BANNER — DESIGN ONLY

dml_executed: none ; ddl_executed: none ; grant_executed: none
schema_alter: none ; generic_grammar_profile_added: none
production_write: none ; directus_mutation: none
readonly_catalog_used: yes (confirm live facts only)
execution_authorized: false ; self_advance: PROHIBITED
decision_authority: GPT / User ONLY

0. Confirmed live facts (read-only catalog, 2026-05-18)

system_identifier: 7611578671664259111                 # == required target
source_family_registry.grammar_profile_ref:
  is_nullable: NO                                       # NOT NULL (confirmed)
  fk: REFERENCES cutter_governance.grammar_profile(grammar_profile_ref)
live_source_family_rows: 3
  external_government_law (normative_authority, vn-national-law)
  internal_incomex_constitution (normative_authority, incomex-architecture-constitution-v4)
  internal_incomex_law (normative_authority, incomex-architecture-constitution-v4)
live_grammar_profile_rows: 2
  incomex-architecture-constitution-v4 ; vn-national-law
live_entity_kind_registry_rows: 5
  code_module ; directus_item ; git_file ; report_path ; sql_entity
entity_reference_registry: exists, 10 cols, 0 rows
iu_entity_binding: NOT physical yet (WS-1 logical; deferred — KB-consistent)
kb_vs_production: MATCH (no mismatch; no conflict with latest GPT review)

Key observation: sql_entity, code_module, git_file, report_path already exist as entity kinds (the entity dimension), seeded and live. This is decisive evidence that the SQL/code/report sources are modeled by the project as entities/artifacts bound by reference, not as grammar-parsed document families.

1. The core conflict (stated plainly — QG7)

source_family_registry.grammar_profile_ref is NOT NULL and FK to grammar_profile. The project deliberately has only 2 ratified grammar profiles (internal constitution v4; VN national law). Therefore every source family must point at a real, ratified grammar profile.

The 6 deferred families are not all grammar-parsed legal/document sources:

  • Some are live systems / artifacts (a database row, a code file) — they have no "table of contents grammar" at all; forcing a grammar_profile_ref on them would mean inventing a fake grammar profile purely to satisfy a NOT NULL column → forbidden by QG1.
  • Some are structured documents (a process manual, a design note) — but no grammar profile has been ratified for them yet, and minting one now would be "adding a generic grammar profile without clear justification" → forbidden by the GPT closeout still-forbidden list.

Plain analogy: a library catalog scheme (grammar_profile) describes how to index a book. A running machine or a wiring diagram is not a book — you do not give it a chapter/section index; you give it an asset tag that points to the machine itself. Some of the 6 are books-without-a-ratified-index; two of them are not books at all.

2. Classification of the 6 deferred source families (QG2 / QG3)

Dimensions: grammar-parsed document (has a ratify-able heading/level grammar) vs structured artifact (has shape but is evidence, not a normative document) vs raw entity (a live system object, no document grammar) vs external/business entity.

# deferred family WS-2 D2 authority default WS-3 role classification enters assembly via needs grammar_profile?
1 sql_entity implementation_authority raw_entity (N4) — NOT an IU raw entity (live DB object) iu_entity_binding + entity_reference_registry (mechanism B) NO — semantically wrong
2 code_artifact implementation_authority raw_entity (N5) — NOT an IU raw entity / code artifact iu_entity_binding + entity_reference_registry (mechanism B) NO — semantically wrong
3 internal_process normative_authority IU node N3 (GATHER) grammar-parsed document (prescriptive process) GATHER as IU YES — but no ratified profile exists
4 report evidence_authority IU node N6 (GATHER) — but report_path is an entity_kind ambiguous: evidence document or evidence artifact GATHER as IU or binding via report_path UNRESOLVED — depends on ruling
5 lesson evidence_authority IU node N7 (GATHER) ambiguous: evidence document or evidence artifact GATHER as IU or entity binding UNRESOLVED — depends on ruling
6 architecture_note normative_authority (often mixed → D4 override) not in WS-3 sample chain grammar-parsed document (design/architecture doc; mixed-authority prone) GATHER as IU (+ heavy authority_override) YES — but no ratified profile exists

Three resulting groups:

GROUP_ENTITY (NOT a document family at all):
  - sql_entity      # already an entity_kind; implementation_authority
  - code_artifact   # covered by entity_kinds code_module/git_file
  decision_type: SCHEMA / SEMANTIC  -> must request GPT/User ruling (QG7)

GROUP_DOC_NEEDS_RATIFIED_PROFILE:
  - internal_process     # process grammar profile NOT yet ratified
  - architecture_note    # architecture-note grammar profile NOT yet ratified; mixed-authority
  decision_type: needs a SEPARATE grammar-profile ratification sub-gate

GROUP_AMBIGUOUS_EVIDENCE:
  - report   # document-grammar vs entity (report_path) — undecided
  - lesson   # document-grammar vs entity — undecided
  decision_type: dimension ruling required before any modeling

3. Options analysis (A / B / C / D)

Option A — Create explicit non-document grammar profiles (one per family)

description: mint process_profile, code_artifact_profile, report_profile,
             lesson_profile, architecture_note_profile, non_document_sql_entity_profile
pros: satisfies the NOT NULL FK with zero schema change; unblocks seed quickly
cons:
  - QG1 VIOLATION for sql_entity/code_artifact: they are NOT grammar-parsed
    documents; a "sql entity grammar" is a fiction invented only to satisfy a column
  - corrupts the fail-closed grammar-detection design (WS-2 D3: parser auto-detects
    a real profile from document signals; fake profiles have no detectable signal)
  - profiles-are-data philosophy abused into profiles-as-NULL-workaround
verdict: REJECT (QG1). At minimum invalid for GROUP_ENTITY; unjustified for the rest.

Option B — One generic structured-artifact grammar profile for all 6

description: single structured-artifact-v1 / non-document-artifact-v1, all 6 -> it
pros: simple; avoids six fake profiles
cons:
  - still a QG1 violation for sql_entity/code_artifact (a live DB row has no
    "artifact grammar")
  - over-generic: hides real structural differences (a process manual, an
    architecture note, and a report have genuinely different level grammars);
    a catch-all profile makes grammar detection meaningless / non-fail-closed
  - becomes a permanent semantic debt that is hard to split later
verdict: REJECT for GROUP_ENTITY (QG1); STRONGLY DISCOURAGED for the rest
  (defeats the purpose of grammar_profile as a real parser contract).

Option C — Introduce source_kind / parser_strategy concept; defer seed

description: keep source_family_registry physically as-is for now; do NOT seed the
  6; design (logically) a source_kind / parser_strategy discriminator so that
  non-document sources are recognised as such and only real document families
  ever require a grammar profile
pros:
  - clean semantics; no fake profiles; no schema mutation now (design-only)
  - lets GROUP_ENTITY be served by the already-live entity dimension
    (entity_kind_registry + entity_reference_registry + iu_entity_binding)
cons:
  - blocks physical cross-source assembly for process/report/lesson until their
    real grammar profiles are ratified (separate sub-gate)
verdict: RECOMMENDED basis for GROUP_DOC_* and GROUP_AMBIGUOUS (defer seed),
  and the natural framing for GROUP_ENTITY (they are entities, not families).

Option D — Schema revision (nullable grammar_profile_ref, or add source_kind/parser_strategy FK)

description: make grammar_profile_ref NULLable for non-document families, OR add a
  source_kind / parser_strategy column (+ optional separate non-document registry),
  so an entity-type source family is legal without a grammar profile
pros: semantically correct long-term; removes the NOT NULL/forced-profile tension
  for genuinely non-document sources
cons: requires a NEW schema cycle + migration (dry-run -> command-review ->
  execution), which is OUT OF SCOPE here and explicitly forbidden to execute now
verdict: RECOMMENDED as the long-term fix for GROUP_ENTITY, but DESIGN-ONLY in this
  gate; execution is a separate sovereign-gated schema cycle. The GPT closeout
  still-forbidden list explicitly forbids changing source_family_registry
  nullability now — so Option D is a *ruling request*, not an action.
family recommended route why seed now?
sql_entity entity dimension (entity_kind_registry sql_entity already live + entity_reference_registry + iu_entity_binding); NOT a source_family row. If a family-label is ever required → Option D schema revision (ruling) raw_entity per WS-3 §3/§4; implementation_authority; no document grammar exists NO
code_artifact entity dimension (entity_kinds code_module/git_file already live + binding); NOT a source_family row; else Option D (ruling) raw_entity per WS-3 §4; code has no heading grammar NO
internal_process grammar_profile — author + ratify a real process grammar profile in a SEPARATE sub-gate (WS-2 D3-style: levels/matcher/address_template), then seed normative IU document (WS-3 node N3); profile genuinely needed but none ratified NO (defer to profile-ratification sub-gate)
architecture_note grammar_profile + D4 override — author + ratify a real architecture_note profile (mixed-authority handling via authority_override), then seed normative IU document; mixed-authority prone (WS-2 D2 note) NO (defer; out of WS-3 sample chain)
report RULING REQUIRED: evidence document (light report grammar profile) vs evidence artifact bound via report_path entity_kind straddles both dimensions; report_path entity_kind already live NO (defer; dimension undecided)
lesson RULING REQUIRED: evidence document (light lesson profile) vs evidence artifact (entity) same straddle as report; short retrospective evidence NO (defer; dimension undecided)

5. Net conclusion (carried into the recommendation file)

families_safely_seedable_now: 0  of 6
reason:
  - GROUP_ENTITY (sql_entity, code_artifact): cannot be seeded without a fake
    grammar profile (QG1) or a forbidden schema change -> ruling required
  - GROUP_DOC (internal_process, architecture_note): need real ratified grammar
    profiles -> separate sub-gate, not now
  - GROUP_AMBIGUOUS (report, lesson): modeling dimension unresolved -> ruling required
recommended_options: REJECT A ; REJECT/STRONGLY-DISCOURAGE B ;
  ADOPT C as the operating basis ; OPEN D as a DESIGN-ONLY schema-revision
  ruling request for GROUP_ENTITY
seed_extension_safe: NO -> file 3 is a NO-SEED-DRAFT (QG6)
no_decision_taken_silently: confirmed (all routed to GPT/User — QG7)

6. Statements

  • All 6 deferred families classified (QG2); document-grammar vs structured-artifact vs raw-entity distinction made explicit (QG3). No grammar profile invented to satisfy NOT NULL (QG1). No execution (QG8).
  • No DML / DDL / GRANT / schema ALTER / nullability change / generic profile / Directus / CUT / VERIFY / deploy / git commit. Read-only catalog used only to confirm live facts.
  • Self-advance PROHIBITED — doc 1 of 5; STOP after package → route GPT/User.

Companion: recommendation-and-ruling-request, seed-extension-draft-if-safe (NO-SEED-DRAFT), verification-and-rollback-plan, gate-report.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-deferred-source-family-grammar-binding-gate/dot-iu-cutter-v0.5-deferred-source-family-classification-and-options-2026-05-18.md