dot-iu-cutter v0.5 — Deferred Source Family Classification + Options A/B/C/D (design-only, no execution)
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_pathalready 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_refon 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.
4. Per-family recommended modeling route (no silent decision — QG7)
| 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.