Kibi is a requirement-conformance layer for AI coding agents that keeps product intent connected to code and tests, and catches when implementations drift from
Kibi 2.3 is out, our biggest release yet!
Two headline features:
π Multi-language symbol extraction via tree-sitter
π§ SWI-Prolog bundled, so nothing extra to install on Linux or macOS
Prompt the intent. Kibi makes the agent remember it, and prove the implementation. π§΅
@alexlavaee Agree on 1. The useful part is not mixing the two up. We ended up labeling each requirement by what actually backs it: tested if it's E2E/simulation, proved only if a certificate covers every case. Most things stay "tested", and that's fine, as long as nobody reads it as proof.
@farrukh_codes "Within defined assumptions" is doing a lot of work there. In practice the hard part for us was making sure the proof is about the same thing the requirement says, and re-checking it when either side changes. Otherwise you get a stale proof that still looks green.
@manthanguptaa That's why Kibi went with Prolog knowledge base instead of traditional memory. Necessary ADRs and requirements are delivered to the agent in a progressive disclosure manner. All the relationships (like superseeded) are handled deterministically by Prolog.
@Denche2005 You need requirements, evidence and proof in your development pipeline. Also well maintained and exhaustive E2E tests.
Also run code gardening sessions from time to time.
Kibi's numeric checks are Prolog: https://t.co/BB2OgA8lTD folds each comparison on a variable into an interval and asks if it's empty.
Now those folds are proved exact in Lean 4, and CI runs 200k cases through the Prolog code, the Lean model and a CLP(Q)/CLP(FD) oracle.
@derekcheng Legacy codebase aside, creating formal proof in greenfield projects has upsides: the proof is created when the context is fresh.
The problem with legacy codebases is really that context (in broad sense) is probably long gone, and the code doesn't necessarily express it (bugs).
@alexlavaee Hey @alexlavaee, give Kibi a look. It's a Prolog based symbolic memory/knowledge base for AI Agents which doubles as a proof framework. We've recently released formal proof support: ttps://looted.github.io/kibi/guide/proof-ladder.html.
Update: as of today something can. The formal proof lane is out: certificates that cover every case, re-checked by Kibi itself. https://t.co/XaycerL67j
Passing tests are evidence, not proof. They sample cases.
New in Kibi: the formal proof lane. A requirement is marked proved only when a certificate covers every case (every enum member, a typechecked switch, z3/cvc5 returning unsat) and Kibi re-checks it itself.
Your coding agent says "done, tests pass". What does that actually guarantee?
Kibi 2.31 answers that per requirement, and now proves that the facts your requirements state don't contradict each other.
Open source, works with Claude Code, Codex, Cursor and OpenCode. π§΅
3/ We also stopped calling passing E2E tests "proof". The old "proven" status is now "tested".
No proof kind issues a certificate for code yet, so today nothing reaches "proved". The ladder exists so no guarantee reads stronger than what backs it.
@ArthurLiu0725 Hey @ArthurLiu0725! It's up to you and your CI really. Contradictions get blocked at commit gate (git hooks), for proof levels you could set your CI to block on requirement/proof level. Haven't tried the latter though.
Passing tests are evidence, not proof. They sample cases.
New in Kibi: the formal proof lane. A requirement is marked proved only when a certificate covers every case (every enum member, a typechecked switch, z3/cvc5 returning unsat) and Kibi re-checks it itself.
@bemartinwong Hey Martin! In Kibi every requirement has a firmness level and only a person sign-off will give it a firm level. When it comes to testing, Kibi assigns every requirement an evidence level: https://t.co/riVSjn9ArN. Untested code will never reach tested, let alone proved.
@MichaelObasa@Openshard Feel free to send a DM or skim through the docs: https://t.co/uK92sM32Lk. The formal proof work is still on develop but landing soon.
@MichaelObasa@Openshard Each requirement gets a computed level: proved > tested > asserted > unverified. βProvedβ is formal: requirements compile to typed facts, solvers check consistency and emit certificates a separate checker re-verifies.
11/ Kibi is a repo-local knowledge base for coding agents, checked by Prolog (bundled on Linux and macOS).
npm i -D kibi-core kibi-cli kibi-mcp
https://t.co/4poLqG1JdY Proof ladder: https://t.co/k2pm5dbKpY
6/ Each answer leaves a certificate: a model when the facts are consistent, an irreducible core when they aren't.
A small separate checker re-checks every certificate by evaluation only. It never reruns the search that found it.
kibi check --write-certificates certs.json
10/ It's plain Markdown, so it renders wherever your agent replies, chat apps and cloud sessions included, plus a self-contained HTML page.
/kibi-signoff in Claude Code, Cursor, ZCode and OpenCode. VS Code opens it in a panel. Hooks ask for it once an agent writes requirements.