AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
Ajisai - AI-first, vector-oriented, fractional-dataflow language
Translation pending
Developer toolsRust · HTMLGitHub @masamoto1982OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Ajisai is an AI-first, vector-oriented dataflow language for auditable, exact vector computation with machine-readable contracts. Fractions and the Vector data structure carry the central role.
I built Ajisai for two reasons. The first is that I had given up partway on learning every programming language I ever tried. The second is that I did not want to build something with a language — I wanted to build the tool itself.Read the full README ↗Ajisai is a stack-based, vector-oriented dataflow language whose true user is AI. Numbers are never rounded, dividing by zero never stops a program, and truth is three-valued, as in SQL. There is nowhere to write a type; rigor lives in the machine-readable contracts the Words carry.
[ 1 2 3 ] [ 1 0 2 ] DIV # [ 1/1 1/0 3/2 ]
SQRT keeps its results as algebraic irrationals. There is no choosing between float, double and decimal. 0.1 0.2 ADD 0.3 EQ is TRUE, and a sum or a product is one value in whatever order its operands are taken, points over zero included, so reordering or regrouping a FOLD never changes its answer.1/0 or 0/0, which is a number. In a vector computation only the element divided by zero is affected.SELECT branches element by element. Collections are processed with MAP, FILTER and FOLD.NIL carrying its reason, and that NIL flows on downstream. Evaluation stops only when the operation or the shape of its input is itself wrong, or when a program exceeds the limits the host can support.I had given up partway on every programming language I tried, and I wanted to build the tool itself rather than something with it. Forth showed me that a language is allowed to be that small. I still wanted the rigor of types without writing them, so Ajisai carries that rigor in contracts on the Words instead of annotations on values.
AI made the design practical. With AI writing the code alongside me, a language needs no syntactic sugar for human convenience; it can hold nothing but strict machine-readable rules and plain dataflow.
The arithmetic is not new: it is Carlström's wheel of fractions over the integers. What Ajisai adds is that every contract says, before anything runs, whether the code can reach a point over zero (field=closed or field=leaving).
I began the work in June, in Japan's rainy season. Watching the rain, I pictured fractions poured into a vessel called a Vector: one substance inside, never rounded, and rich ripples on its surface. The hydrangea — ajisai in Japanese — takes its scientific name, Hydrangea, from the Greek for "water vessel".
| Document | Audience | Rendered at |
|---|---|---|
| Specification | Builders and porters | SPECIFICATION.html |
| Reference (English) | Ajisai users | docs/en/index.html — from a program down to its elements and every built-in Word with its contract (generated from spec/words.json), with runnable samples |
| Reference (Japanese) | Ajisai users | docs/ja/index.html — the same content in Japanese |
| Phrasebook | Ajisai users | docs/phrasebook/phrasebook.ajisai — User Words for phrases programs write again and again (a remainder, a disjunction, a sum or mean, text joined with a separator), each with a verified contract and examples. Run it once, or copy the definitions you need |
| Showcase | Anyone weighing Ajisai | docs/showcase/showcase.ajisai — short programs beside what binary floating point would answer: decimals that add up, Fibonacci numbers from Binet's formula through exact square roots, division by zero inside a Vector, and contracts that say before running whether code can reach a point over zero. Every example is run by the test suite |
| Playground | Run it now | masamoto1982.github.io/Ajisai — its Reference button opens the Reference in the UI language, English or Japanese |
| Task | Command |
|---|---|
| Install dependencies | npm ci |
| Dev server | npm run dev |
| Build the WASM core | npm run build:wasm |
| Build for the browser | npm run build |
| Build the desktop app (Tauri) | npm run tauri:build |
| Run the Rust test suite | cargo test --all-targets (in rust/) |
| Prove the formal-verification harnesses | cargo kani (in rust/; setup and scope in docs/quality/FORMAL_VERIFICATION.md) |
The MCP server for AI agents lives in tools/mcp-server/.
MIT — see LICENSE.