Software intelligence / research programme

Codepot

Make software structure explicit enough for humans and AI to reason about it together.

Codepot explores typed DSLs, compiler pipelines, contract-first development and constrained generation. The premise is simple: AI becomes more reliable when it works inside a system that can validate what “correct” means.

contract.cpt
galaxy Commerce

construct Order {
  id: uuid
  total: currency<USD>
  status: OrderStatus
}

representation OrderAPI {
  expose Order
  validate before write
}

# structure becomes
# executable context
TypedValidatedGeneratable
Typed DSLCompiler toolingContractsLSPCode generationAgent interfaces

Research thesis

Structure before generation.

Language

A compact typed language that captures intent without collapsing into implementation detail.

Compiler

A deterministic pipeline that can parse, validate and lower intent into reusable intermediate representations.

Tooling

LSP, diagnostics, autocomplete and navigation that make the language practical for real engineering work.

Evaluation

Generated outputs are checked against explicit contracts rather than judged only by whether they look plausible.

Software engineer working at a coding workstation in Nairobi
Software engineering / NairobiPhoto: Naboth Otieno / Pexels ↗

From contract to system

The compiler is not just a code generator. It is the boundary between intent and implementation.

01

Intent

Human-authored domain and system definitions.

02

Parse

Syntax becomes a typed syntax tree.

03

Validate

Names, types and contracts are resolved.

04

Lower

A stable IR becomes the source for tooling.

05

Generate

Targets are produced inside known constraints.

Current questions

What we are trying to learn.

01

How much software intent can be expressed before a system becomes too verbose to use?

02

Can generated code remain replaceable and reviewable instead of becoming opaque AI output?

03

What should an AI agent be allowed to change when a contract is the authority?

04

Can the same typed source drive code generation, documentation, validation and developer tooling?