Four principles
- Explicit requirements. What a program must do is written down in the program itself, not left in a comment, a chat message, or an assumption.
- Checkable behaviour. Requirements are expressed so they can be checked — by the compiler, at runtime, or by tests — rather than merely asserted.
- Accountable correctness claims. Every claim about a program says what was checked, how, and what remains unchecked.
- Model-independent verification standards. The same rules and the same verification apply no matter which AI system wrote the code — or whether a human did.
Why Kyllo exists
AI systems now write a large share of new software, and they make mistakes — confidently, quickly, and at scale. Human review does not keep up. Kyllo's answer is not to trust the model more, or to add another layer of review on top. It is to change the language itself, so that mistakes are harder to introduce and easier to detect: requirements are explicit, behaviour is defined, failures are explicit, and nothing is reported as verified unless it was actually checked.
Nobody gets a free pass. Not humans. Not AI. Not the compiler. A successful compilation must never be presented as proof that a program is correct.
Three ideas that make it different
- Contracts are part of the program. Functions declare what they require, what they guarantee, what they change, and how they can fail — and those declarations are checked, not decorative.
- Failure is a value, not an accident. Operations that can fail return a result that must be handled. Failures cannot be silently ignored.
- Verification reports its limits. A verification report says what was checked, what passed, what failed, and what remains unverified — and it names its assumptions.
A real example, and a rejection
Example — Accepted OQ-001, statement termination
IF balance > 0:
PRINT(balance);
ELSE:
PRINT(0);
END IF;
Simple statements end with a semicolon. Compound structures end with a typed terminator that matches what opened them — END IF; closes an IF. This is the one design decision that has been formally accepted, in decision record OQ-001.
Rejected — Accepted OQ-001
END FUNCTION;;
;;;
A redundant semicolon after a block terminator, and empty statements, are rejected. The compiler must produce a diagnostic — it must not silently accept them.
More examples, with their status, are on the Language page. Proposed syntax there is labelled as proposed, not as settled.
What this does NOT prove
- Compilation is not proof of correctness. A program that compiles has passed the checks the compiler performs. That is all it establishes.
- Tests are not formal proofs. Passing tests show that tested inputs behaved as expected. They do not establish that all inputs will.
- Unverified properties must never be reported as verified. If something was not checked, the honest answer is “unverified” — not silence, and not a pass.
Honest status
- Specification: v0.1 Initial Draft.
- Documentation: v0.2.8 (2026-11-08), at kyllo-docs.pages.dev.
- OQ-001 is the only accepted design decision. 28 open questions remain (OQ-002–OQ-029), including decimal semantics, integer division, rounding, and the meaning of “verified”.
- There is no compiler, release, download, or install yet. Kyllo is a documentation project at this stage.