GitHub
Kotlin DSL · TRIZ · Typed Domain Grounding · Innovation Engineering

Innovation that compiles.

One typed vocabulary. Verifiable contradictions. Readable for humans and AI.

kTRIZ turns TRIZ (Theory of Inventive Problem Solving) into a type-safe Kotlin DSL — the 39 engineering parameters, the 40 inventive principles and the classical contradiction matrix become compiler-checked types instead of flipcharts and spreadsheet transcriptions. An LLM that invents a parameter simply fails to compile.

Hello.kt
import dev.ktriz.core.EngineeringParameter
import dev.ktriz.core.contradiction
import dev.ktriz.core.resolve

val problem = contradiction(
    improving = EngineeringParameter.WEIGHT_OF_MOVING_OBJECT,
    worsening = EngineeringParameter.STRENGTH,
)

problem.resolve().forEach { p -> println("#${p.id}  ${p.labelEn}") }
// -> #1 Segmentation, #8 Anti-weight, #40 Composite materials, #15 Dynamics

This compiles today — ktriz-core, wave 1.

Why kTRIZ

TRIZ-native. Verifiable. AI-first.

LLM+TRIZ tools already exist. None of them are compiler-checked. kTRIZ is the deliberate, verifiable third way.

Typed Domain Grounding

A statically typed Kotlin DSL plus compiler feedback gives LLMs a ground truth — the same architecture that makes kUML reliable, applied to inventive problem solving.

TRIZ-native, not a reinvented taxonomy

The 39 engineering parameters and 40 inventive principles are Altshuller's own classical vocabulary, expressed directly as Kotlin enums — not a bespoke ontology that TRIZ practitioners have to relearn.

Verifiable, not just AI-assisted

AutoTRIZ, TRIZ-GPT and TRIZ-RAGNER extract TRIZ artifacts via prompting, RAG or named-entity recognition — none of them validate the result against a type system. The one formal strand that exists, IDM/OTSM-TRIZ, is an external, pre-LLM ontology. kTRIZ is the first to combine an embedded typed DSL with an LLM generation loop for TRIZ.

AI-first, not AI bolted on

LLM agents are a first-class user of the DSL — named parameters everywhere, a compiler-error-as-repair-signal loop, an MCP server over stdio (ktriz mcp) and a *.ktriz.kts scripting host (ktriz run), both already shipped, mirroring what kUML already ships.

License-conscious by design

The 39 parameters and 40 principles are public domain. The contradiction matrix is not automatically so — a concrete digitised transcription can carry its own database right, and later commercial matrices (2003/2010) are proprietary. kTRIZ ships the full classical 39×39 matrix (1248 cells) as its own compilation, reconciled from four independent free sources — the sui-generis database-right question on that compilation stays openly documented, not claimed settled. Holders of their own licensed matrix can supply it through a hardened, pluggable data-source interface.

Built on a proven sibling architecture

Same Typed Domain Grounding architecture already shipping in kUML (IT and software modeling) and under active development in kSTEP (mechanical engineering) — kTRIZ is the third domain, same author, same conventions.

Roadmap

Built in the open, wave by wave

kTRIZ has a complete, tested core plus a complete substance-field DSL: v0.2.0 is tagged.

  1. M0Complete

    Discovery

    Market and literature scan, DSL scope decision, contradiction-matrix licensing analysis, naming.

  2. M1Complete

    Core Toolchain

    Parameters, principles, Contradiction type, full matrix, function model + SVG rendering, MCP server, scripting host — tagged as v0.1.0.

  3. M2Complete

    Substance-Field Modeling

    Su-Field DSL, SVG rendering, all 76 standard solutions as a lookup, and 3 MCP tools shipped — tagged as v0.2.0.

  4. M3Planned

    Beyond

    Scope open — physical contradictions, ARIZ, evolution trends only if a real need emerges.

Follow the build.

The repository is real, the waves are public, and every step lands in the open.

kTRIZ on GitHub