Early access · a Zonialabs product

Agents that work in your code,inside limits you declare.

Kodzonia is the agentic engineering platform built at Zonialabs. The agent reads, edits, runs and delegates inside the real project — with durable memory, containment by construction, and an audit line for every model call.

02 / 09The thesis

The four places where it dies.

The demo impresses. The pilot passes. Then the assistant touches the system that pays the bills — and the conversation ends. It is not bad luck, and it is not the model: it is always one of these four.

01

The legacy code

What is in production does not fit in a context window and has no tests. The assistant reads a fragment, infers the rest and writes something that compiles — and breaks something else.

02

The integration nobody documented

The endpoint only the old team understood, the field that means something different per customer, the queue that cannot be reprocessed. None of it is written down anywhere, so the model makes it up.

03

The cost nobody measured

Without one row per call — model, tokens, cache, duration and error — there is no management. There is a surprise on the invoice and a decision made out of fear.

04

The context that gets lost

Every session starts from zero. What was decided yesterday, by whom and why, does not survive — and the team relitigates the same discussion every week.

Kodzonia was built against those four. One by one, in code, with tests.

03 / 09Real proof

Not a roadmap. The log.

Kodzonia is developed with Kodzonia. Every number below comes from the product's own audit trail — one row per call, written the moment it happens.

30 days of use, published

30d
7,209
LLM calls
3.8B
tokens
529
subagent dispatches
1,495
shell runs
740
file reads
640
code searches

A single gateway orchestrating Anthropic, OpenAI and Kimi — the user picks a model, never an endpoint.

Figures published by Wladmir Bonazza on September 10, 2026, covering 30 days of real use.

Corroboration: the audit dashboard of a real project

Jul 21 to Sep 16
3,965
calls
2.4B
tokens
187
subagent dispatches
141
memories, across 237 versions
112
graph edges
72
conversations
7,549
messages
  • 4 months of construction
  • Built with Kodzonia itself
  • Pull requests merged into an external Linux firmware project
04 / 09What it does

An agent with hands.

Nothing here is a third-party plugin. It is the core of the product: every action goes through an auditable tool with a stable name and a declared impact level.

110 built-in tools

Across 22 categories: files, shell, Python, git, semantic code search, browser, databases and MCP. There is no hidden path between the model and the machine.

Specialist subagents

Explorer, Planner, Reviewer, Tester and Implementer out of the box, plus ad-hoc specialists and a Specialist Builder that writes the specialist by reading your repository.

Deterministic workflows

A script orchestrates subagents in phases, with a clarification channel: the child asks instead of inventing. Same script, same path.

Memory that is a database, not markdown

A typed row with a stable slug, confidence, provenance and a revertible version, linked by typed edges. Hybrid search: full text plus local embeddings.

Multi-project in tabs

N projects open at once, each with its own runtime, vault and cancellation. Closing one tab never cancels another tab's work.

Every call audited

Model, tokens, cache, duration, error and the tree of who called whom — exportable as CSV. An interrupted turn shows up flagged, it never disappears.

See the product from the inside
05 / 09The moat

Why this is hard to copy.

Five architectural decisions that a better prompt does not solve.

  1. 01

    Typed memory, with provenance and versions

    against CLAUDE.md / AGENTS.md

    Claude Code, Cursor and Codex keep context in a flat markdown file — CLAUDE.md, AGENTS.md — versioned next to the code: no type, no provenance, no selective recall. In Kodzonia every memory is a typed database row with a stable slug, a confidence level, a declared origin (asserted by the user or inferred by the agent), revertible history, a trash bin and typed edges — supersedes, relates-to, causes, depends-on, contradicts. Search fuses full text and local embeddings.

  2. 02

    Determinism enforced, not requested

    in the engine, with a named error

    Inside workflows, Date and Math.random are banned with a named error, and the boundary between the application and the script is plain JSON. A fresh engine per run, strict mode by default. A script that runs today runs the same tomorrow — because the source of variation simply does not exist.

  3. 03

    Subagent containment by construction

    the child cannot escalate privilege

    Every subagent inherits a subset of tools and a sandbox that is never wider than its parent's, with a maximum depth and a destructive brake that carries provenance. It is not an instruction in the prompt: it is the construction. A child cannot escalate privilege even if the model tries.

  4. 04

    Security tested by a versioned corpus

    12 attacks, against a real provider

    A per-session canary and a deterministic guardrail inside the engine itself, which aborts the stream before the leak. Every tool result arrives marked as untrusted, with its name protected against forgery. And a corpus of 12 attacks versioned in the repository runs against the real provider: here security is a test that breaks the build, not the model's goodwill.

  5. 05

    The 128-tool ceiling, solved

    dynamic catalog with LRU

    OpenAI's API accepts at most 128 tools per request. Kodzonia splits the catalog into a core that is always advertised and groups loaded on demand, with discovery by intent and eviction by LRU. The catalog grows indefinitely without hitting the ceiling — precisely the wall that freezes the roadmap of anyone who has not solved it.

06 / 09Ready to scale

Kodzonia Online: from single-user app to collaborative SaaS.

The brain stays local, the data and the credentials move to the cloud.

The agent loop and the tools stay on the desktop — zero network latency per tool call, no tool reimplemented on the server. What moves is the model call, through a gateway that injects the credential and audits it, plus the project's persistence.

A modular ASP.NET Core monolith on PostgreSQL, with the same hexagonal architecture as the desktop. Our own identity, two roles, invitations that expire, rotating refresh stored only as a hash. Version 1 ships cost auditing; the hard limit lands in 1.1, built on the data already collected.

See the platform in detail
6 of 7 subprojects shipped
  1. 01

    Server foundation

    Complete

    Accounts, projects and invitations.

  2. 02

    Connections and vault

    Complete

    Provider credentials managed on the server.

  3. 03

    LLM gateway

    Complete

    The call goes through the server, which injects the credential and audits it.

  4. 04

    OAuth migration

    Complete

    Provider sign-in driven by the server.

  5. 05

    Project data

    Complete

    Conversations, pools, journal, schedule and memory over the API.

  6. 06

    Web panel

    Complete

    Configuration, usage and administration in the browser.

  7. 07

    Final cutover

    Open

    The last step: the project stops depending on the local file.

07 / 09Engineering notes

The decisions, dated and explained.

Each one settled a concrete problem and is recorded in the repository. This is how the product gets built — and what can be audited.

  1. Architecture

    The brain stays local; data and credentials move to the cloud

    Running the agent loop server-side was the alternative. It was rejected: it would put network latency on every tool call and force every tool to be reimplemented on the other side. What migrates is the model call — through a gateway that injects the credential and audits it — and project persistence.

  2. Isolation

    One runtime per project, not one per process

    Opening two projects meant sharing authorised folders and the credential vault. The fix was to remove the shared surface: every tab owns its mini-DI, sandbox and vault, and an architecture test forbids ambient state.

  3. Concurrency

    The unit of state became the conversation

    Two simultaneous turns were undescribable while state lived in two process-wide scalars: the last to start overwrote the first. The scalars were removed, and the ban on their return is enforced by reflection, not by convention.

  4. Determinism

    Workflows refuse what cannot be reproduced

    Date, Math.random and Promise.race are blocked with a named error, and the boundary between script and host is plain JSON — the script cannot reach reflection. Running the same workflow twice has to take the same path.

08 / 09The team

Three people, with names and track records.

Who builds it, who ships it and who takes it to market.

WB

Wladmir Bonazza

Founder & AI Systems Architect

25+ years of software engineering. Architected and wrote Kodzonia in 4 months, using Kodzonia itself — and publishes the real usage numbers.

LinkedIn
EF

Erik Ferreira

Co-founder & Platform Engineering

Platform engineering and delivery: front end, back end and the infrastructure that puts the product in the hands of the people who use it.

LinkedIn
DA

Danielle Araújo

Chief Business Officer

Commercial operations, relationships and go-to-market. Structures the business to grow on solid ground.

LinkedIn
09 / 09A direct conversation

We are in the game.

The product stands up, the numbers come from the log and the team is in place. If you want to go deep — architecture, real usage, platform plan — the conversation is direct, with the people who built it.

Early access: Kodzonia is not in open production yet.