Kairos Language Specification (English orientation)
The Japanese specification is canonical; the English chapters under
en/are translations that follow it (each page records its source revision assource_sha, and a consistency check flags stale translations) (日本語版はこちら).
Status: Release candidate (RC5, declared 2026-07-08; addenda through no. 11, 2026-07-26).
Semantics, the operator family, the grammar (EBNF, §5.6), and the lexis are frozen. Naming is final
for every word — the last placeholder shiftBoundary was settled as rephase on 2026-07-26
(see §5.4). Expressiveness is validated against 20 well-known schedule families
(design/40-examples/) and by the reference implementation (impl/, 466 tests). All remaining
homework items are catalogued in design/90-open-questions.md, and none of them changes the semantics.
For the RC-by-RC history, see the changelog (Japanese).
Chapters
- Introduction (日本語) — what Kairos is, comparison with cron/Quartz/RRULE, design spine
- Types and layers (日本語) — the three types, the two layers, closure, core vs sugar, invariants
- Premise layer (日本語) — preambles, name resolution, value expressions, defining calendars
- Body layer (日本語) — generators, windows, selectors, point transforms, combinators, filters, strides
- Grammar and symbols (日本語) — symbols, operator signatures, naming status, lexis, EBNF
- Glossary (日本語) — index of concepts, descriptors, symbols, and invariants
- Worked examples (日本語) — “3 business days before month-end”, payday, holiday cascade, fiscal calendar, runtime integration (§7.7–7.8)
Where things live
- Per-operator reference with doctested examples:
reference/(日本語). Annotation expectation lines (#~>) reproduce the reference implementation’s canonical output, which is currently Japanese. - Standard premises — Gregorian, Fiscal, ISOWeek:
stdlib/(日本語). Kyureki (the Japanese lunisolar calendar) is Japanese-only — data-heavy, not mirrored. - Design records — 46 ADRs, domain model, expressiveness studies:
design/INDEX.md(Japanese) - The English overview with the capability comparison table is in the repository README.