A look inside Kooltra's AI-assisted engineering workflow: the five steps from specification to release, and the six guardrails that keep customer data and production systems safe.

In June, we shared how we reorganized our teams around AI: small Builder PODs, Forward Deployed Engineers, and Context Owners who bring the customer into the loop from day one. This follow-up goes one level deeper, into the engineering workflow itself and the security guardrails around it.
The short version: AI does the drafting, checking, and legwork at every step, and our engineers own the decisions. The AI works inside guardrails we define centrally. It can look but not touch, and a person approves every action that matters.
Every change moves through five steps:
For any change to a business rule, the AI first drafts a specification. It covers a short proposal explaining why the change matters, the requirements written as concrete "given, when, then" scenarios, a design that records the key decisions behind it, and a task list. Our team reviews and agrees on the spec, not just the code that comes later. Once the change is finished, those decisions become architecture decision records, the established patterns our design reviewer checks future changes against.
Business capabilities that span more than one product are captured centrally as "stories," with one linked change for each affected codebase.
Not everything needs a spec. Small technical fixes, such as refactoring, dependency updates, and crash fixes, skip this step on purpose. We have explicit rules for when a spec is required, so it doesn't turn into paperwork.
The AI implements against the agreed task list. It loads our in-house "skills": packaged knowledge of how Kooltra develops services, covering our SDK, messaging, error handling, observability, architecture boundaries, and testing. The result is code written the Kooltra way, not generic code.
Tests come straight from the spec's scenarios, so what we agreed to and what we test are the same thing.
Before a person looks at a pull request, it passes through several automated reviewers. A general-purpose AI code reviewer does a first pass. Then our own specialist AI reviewers each check one thing:
The human reviewer then gets a briefing: what changed, what the automated reviewers already covered, and which lines implement which requirement. Their time goes to the decisions behind the change: the ones recorded in the spec's design, and the ones made in the code without being stated. That's where reviewers ask questions and push back, instead of reading line by line.
After a change is merged, the AI generates the development test plan directly from the spec's scenarios. It runs the parts that can be automated, including data queries, API calls, and browser-driven checks of the user interface, and reports the results for an engineer to confirm.
Releases follow a staged runbook with human approval gates. After a production release, the AI monitors errors, latency, and alerts against the pre-release baseline for 30 minutes and drafts the sign-off for an engineer to review and approve.
When a human reviewer catches something the AI reviewers missed, we turn it into a fix to the relevant skill or reviewer, so the same gap doesn't come back. We batch those improvements weekly. Everything lives in one shared repository, so every engineer works with the same skills and rules.
We hold our AI tools to the same principles as the rest of our security program: least-privilege access, human approval for anything that matters, and an audit trail. Six guardrails make that concrete.
Every engineer's AI setup comes from the same central configuration, and changes to it must be reviewed and approved by our platform team.
Actions that write or change anything need a person's approval, including pushing code, editing our internal documentation and tickets, sending messages, and running scripts. Some actions are blocked outright, even if someone asks: merging pull requests, deleting repositories or releases, and bulk data deletion. Merging code is always a human decision.
The AI is blocked from reading credential files, keys, environment files, and login stores. When it needs to query a system, a vetted script handles the login, so the AI never sees the password or key.
A guard checks every command for the environment it targets, because the target isn't always obvious from the command itself. Read-only work against test environments goes through. Anything that touches a production environment requires review and sign-off. Writes to production are denied, and the AI's cloud access runs in read-only mode. If the guard can't tell whether an environment is production, it treats it as production.
Every pull request gets a dedicated AI security review covering authentication, tenant isolation between customers, credentials, unsafe input handling, and new public endpoints. It reports only high-confidence findings, so engineers act on them rather than learning to tune them out. Human code review still follows.
The AI drafts, investigates, and reviews. People approve specs, merge code, approve release gates, and sign off on production deployments. That gives us an audit trail of who made each change, and when.
This is the second look inside how we work. Read Part 1: How Kooltra Builds: AI-Native Product Management & Engineering for the team structure and discovery process behind it.
Have questions about how we develop and secure Kooltra? Visit our Security page or book a call with our team.
No. AI is blocked from merging code entirely, and every production release passes through human approval gates.
Yes. Automated reviewers go first so that the human review can focus on judgment. Merging is always a human decision.
No. The AI is blocked from credential files and keys, can't write to production, and needs a person's sign-off before any work touches a production environment.
Every change gets a dedicated AI security review and a human code review. The AI also writes code using our own standards for architecture, error handling, and testing.
No. We refine our skills and reviewers every week based on what our engineers catch.