Thirsty-Lang
A governance-first programming language family for code that has to justify itself before it acts. It is the governance DSL of Project-AI: programs declare an action and the gates it must pass, and the interpreter decides admissibility before execution.
module bank: governed
glass withdraw(amt) requires amt > 0 ensures result >= 0 {
return amt * 2
}
drink r = withdraw(100) // ALLOW
pour r
policy access
when user.role == "admin" => ALLOW
when action == "delete" => ESCALATE
when true => DENY // deny-by-defaultGoverned code declares contracts with requires and ensures; a failed precondition refuses the call before it runs. policy blocks (T.A.R.L.) are first-match-wins. Conditions resolve to ALLOW, DENY, or ESCALATE. ESCALATE holds the request for adjudication; no matching rule means DENY.
- Paradigm
- Governed execution · deny-by-default · proof-carrying policy dispositions
- File extension
- .thirsty
- Compilation
- Shadow → Canonical
- Version
- 0.9.0
Design principles
Governed effects require policy and proven authority. Missing authorization fails closed. Ordinary core-mode examples are a separate execution mode.
A governed program represents its action as a sequence of gates evaluated up front. A policy disposition advances, refuses, or holds the request before any governed effect.
T.A.R.L. emits ALLOW, DENY, or ESCALATE as policy dispositions. Only the full runtime emits a terminal execution verdict: ALLOW, DENY, or SAFE_HALT.
The Python runtime supports proof records and hash-linked audit archives. Required persistence must be explicitly configured. Browser teaching traces are not signed runtime proofs.
Path to an adoptable standard
What a language needs to be taken seriously: a working implementation, a formal grammar, a conformance suite, a written specification, and a versioned standard. TSCG-B is split by capability so codec evidence cannot imply compiler, signing, or Code Store maturity.
| Requirement | Status | Note |
|---|---|---|
| Browser teaching interpreter | BUILT | Lexer → parser → tree-walking interpreter, in-browser. |
| Packaged distribution | BUILT | Published on PyPI at v0.9.0; Alpha package maturity. Container versions are tracked separately. |
| Formal grammar (EBNF) | BUILT | Portal subset grammar; the pinned UTF 101 manual contains the complete release reference. |
| Conformance test suite | BUILT | Interpreter + example programs under CI. |
| Language specification | DRAFT | UTF 101 integrates the released language, seven CLIs, governance, and source/test traceability. |
| Standard library | DOCUMENTED | 0.9.0 includes collections, JSON, bounded TCP/UDP, read-only SQLite authorization and crypto helpers; see the milestone register for remaining work. |
| TSCG-B · Binary frame codec | PARTIAL | Project-AI master contains a variable-length TSCG-B codec with a 44-byte frame overhead plus encoded payload, CRC32, and SHA-256 integrity checks. Limitation: Fresh-clone execution of the pinned tests is still required before assurance promotion. |
| TSCG-B · STATE_REGISTER audit-frame enrichment | PARTIAL | STATE_REGISTER optionally records a TSCG-B frame after continuity evaluation as audit metadata. Limitation: The frame is not the continuity-verification mechanism. |
| TSCG-B · Shadow to Canonical compiler integration | PLANNED | Compilation of canonical policy into TSCG-B is planned, not established by current evidence. Limitation: No executable compiler-to-TSCG-B integration was identified in the pinned source. |
| TSCG-B · Frame signing and key binding | UNVERIFIED | Authentic TSCG-B frame signing and signer-key binding are not established by current evidence. Limitation: An embedded SHA-256 digest is not a digital signature. |
| TSCG-B · Signed Code Store loading | UNVERIFIED | Runtime loading of signed TSCG-B policy from a hash-anchored Code Store is not established by current evidence. Limitation: Optional STATE_REGISTER audit metadata is not Code Store policy loading. |
| Versioned standard / RFC | PLANNED | Numbered standard for universal adoption. |
When the improved, universally-adoptable language definition is uploaded, the specification and grammar pages update from a single source of truth.