TNL — Typed Natural Language
AI coding agents make design decisions silently, drift from what was planned, and lose context at session end. TNL (Typed Natural Language) is the fix: a per-feature English contract with a fixed schema — proposed by the agent, approved by you, implemented against, saved on disk, and read by every future session. If you've used plan mode in Claude Code, this is the same discipline made compact, persistent, and machine-checkable.
The schema
The schema is seven fields:
id/title— what this feature isscope—featureorrepo-widepaths— which files the change is allowed to touchsurfaces— named external surfaces (CLI commands, routes, MCP tools)behaviors— numbered MUST / SHOULD / MAY clauses; the contract propernon-goals— what's explicitly out of scoperationale— the why, for future readers
You approve this once, before any code runs. The agent implements against each MUST clause and self-attests at the end — for every MUST, naming the file or test that satisfies it.






