Semantic Text-as-Code Deferred
Limitation — Semantic Text-as-Code is DEFERRED
Authority: NON_AUTHORITY / NOT_PROMOTED · Date: 2026-06-11
TKT Base is a structural-evidence and governance layer. It is explicitly not the semantic Text-as-Code / IU Smart-Brick layer, and it must never claim to be.
What "structural" can and cannot see
TKT Base verifies bytes, hashes, reconstruction, fail-closed behavior, and governance. It treats a file's content as an opaque byte string: it can prove the bytes are exactly the committed bytes, but it cannot judge whether those bytes mean the right thing.
| TKT Base CAN prove (L0–L3) | TKT Base CANNOT prove (L4–L6, deferred) |
|---|---|
| the file exists and hashes to X | the file's claims are semantically true |
| the packet reconstructs + reruns | the content is a coherent Information Unit |
| bad input fails closed | a Text-as-Code block is semantically valid |
| IDs/lanes/firewall/no-vector are consistent | an IU traces correctly through its relations |
| — | the artifact is release-ready / bundle-complete |
The deferred levels
- LEVEL 4 — IU TRACEABILITY PASS — requires an IU graph: each unit's id, metadata, and relations, plus a traversal checker that confirms references resolve and no unit is orphaned at the semantic layer.
- LEVEL 5 — SEMANTIC TEXT-AS-CODE PASS — requires a semantic linter over the Text-as-Code surface: that declared types/relations/constraints are mutually consistent and that the prose-as-code compiles to a coherent model.
- LEVEL 6 — RELEASE/BUNDLE PASS — requires L0–L5 plus a release policy and a bundle manifest binding the released set.
None of these can be emitted by a base run. See
IU_INPUT_REQUIREMENTS_FOR_LEVEL_4_5_6.md for the exact inputs each needs.
Forbidden overclaims (restated)
A TKT Base run MUST NOT emit IU_TRACEABILITY_PASS, SEMANTIC_TEXT_AS_CODE_PASS,
or RELEASE_BUNDLE_PASS, and MUST NOT claim "the Tool is complete for semantic
Text-as-Code." Any attempt to assert these from a base run is a fail-closed
condition (probe P10): the harness rejects it with a nonzero exit and emits no
PASS. The overclaim guard is part of L2/L3, not an afterthought.
Why deferral is the honest choice now
The IU metadata / relation / semantic-lint inputs do not yet exist in a form a checker can consume. Building a semantic PASS on absent inputs would be exactly the fail-open the base layer was built to prevent. The base layer ships the floor that is real today and names the ceiling that needs future inputs. When those inputs arrive, a TKT Semantic Extension adds L4–L6 on top of a passing L0–L3 base — it does not replace it.