ZeNorm

ZeNorm vs. AWS Kiro

Kiro closes the loop inside its own IDE with click-through approvals. ZeNorm gates on a score and hands off to your agent. A mechanism comparison, honestly.

Alex Earll8 min read

Kiro is AWS's agentic IDE, generally available since March 2026, and it is the most complete product in this comparison set. It writes a spec before it writes code, it executes the tasks itself, and it does all of that in one application with one bill. Of everything ZeNorm gets compared to, Kiro is the one that most resembles a finished product rather than a workflow.

It is also the one with the sharpest structural trade-off, and that trade-off is the entire comparison.

What Kiro does

You describe a feature and Kiro produces three artifacts in sequence: requirements.md (user stories with acceptance criteria), design.md (architecture, sequence diagrams, approach), and tasks.md (discrete trackable tasks). Approval gates sit between the phases in the standard workflow — you read each artifact and approve before it proceeds. There is a Quick Spec mode that skips the gates and generates all three at once.

Then Kiro implements the tasks, in Kiro, with live status. Steering files carry project-wide context across specs, and hooks fire agent actions on events like file saves.

This is a coherent product and the three-document decomposition is a good one. Separating requirements from design is a distinction plenty of tools collapse, and collapsing it is how you get specs that smuggle implementation choices into the requirements and foreclose alternatives before anyone notices.

The approval gate vs. the scored gate

Kiro's gate is a human clicking approve. That is a real gate — more than the prompt-level checks most tools ship — and it puts a person in the loop at the moment when reversing a decision is still cheap.

Its failure mode is the one every approval workflow has. The gate measures whether you clicked, not whether the artifact is good. After a dozen features, requirements documents start looking structurally similar, and structural similarity is what a skimming reader checks for. You scroll, the headings look right, there's an acceptance criteria section with bullets in it, you approve. The document that had "the system should handle errors gracefully" as an acceptance criterion goes through with exactly the same friction as the document that had something checkable.

This is not a knock on Kiro's design; it's the general dynamic of any approval step that mostly passes. If nine of ten approvals are routine, you develop the reflex, and the tenth one rides through on it.

ZeNorm's gate does not ask you to approve. It scores. create_task is a server-side call that is rejected outright unless intent, constraints, and acceptance have each cleared 0.9 — a constant in the API (SECTION_COMPLETE_THRESHOLD = 0.9) with a literal refusal returned to the model:

Cannot create tasks until intent, constraints, and acceptance all have
clampedScore >= 0.9. Incomplete: acceptance.
Fix/report the missing section before retrying create_task.

No task is created and no task ID exists, so the subsequent call that builds the dependency graph fails too. Below the bar you get another question rather than a task list.

The trade-off is honest in both directions. Kiro's gate can be rubber-stamped; ZeNorm's cannot be rubber-stamped but can be wrong — it will occasionally refuse something you genuinely understand better than it does, and there is no approve button to end the argument. That is a real cost, and if you find it intolerable it is a legitimate reason to pick Kiro. It is also the point of the mechanism: a gate you can dismiss when it's inconvenient is a gate that is absent exactly when it matters.

There is a related mechanism worth naming because scope creep is the standard failure of any tool that asks a lot of questions. ZeNorm keeps your verbatim original request and, when the spec has drifted away from it, create_task returns intent_drift and creates nothing until you reconcile the two versions explicitly. Elicitation processes wander; this one is required to notice.

The lock-in question

This is the difference that will decide it for most people, and it has nothing to do with spec quality.

Kiro's loop closes inside Kiro. The spec is written there, approved there, and implemented there. There's no handoff to Claude Code, Codex, or Cursor — tasks execute in Kiro's interface. If you like Kiro's editor, that's an advantage: one tool, one context, no seams.

If you don't, it's the whole ballgame. Adopting Kiro means adopting an IDE, and IDE migration is the most expensive switch in a developer's toolchain — keybindings, extensions, terminal setup, muscle memory, and the agent you've spent months learning to prompt well. Kiro asks you to trade your entire editing environment for a spec workflow.

ZeNorm is deliberately not an editor and never will be. Authoring happens in a browser; execution happens in whatever agent you already use. One install-skills command installs into 70-plus agent harnesses, and the zenorm work daemon drives Claude Code and Codex specifically. You keep your editor, your agent, and your subscription.

That is a real cost too, and I won't dress it up: ZeNorm has a seam. You finish a spec in a browser and then go to a terminal. Kiro has no seam. For small, frequent changes the seam will cost more than the gate is worth, and the honest version of this comparison says so.

Verification: who checks the work

Kiro runs tasks with status updates and you review the result. ZeNorm's installed skill instructs your agent to run your project's own commands — typecheck, lint, tests — before completing a task, and requires a structured outcome to close it: the API refuses a transition to done without one, returning outcome_required.

Worth being precise, since this post is partly an argument about enforcement: the outcome requirement and the task-claiming machinery are enforced server-side, while the typecheck/lint/test step is an instruction to your coding agent rather than something the server verifies. ZeNorm's hard gate is upstream at create_task, not downstream at execution. If you want a build failure to mechanically block a task from closing, neither product does that today — that's your CI's job in both cases.

The consequence is that the spec accumulates into a record. After twenty features ZeNorm has twenty specs with grilling transcripts, the constraints you didn't think of, and every task outcome, feeding a knowledge graph that surfaces related prior specs. Kiro's specs live in your repo as markdown, which is durable and greppable, but the implementation history doesn't post back into them.

Steering files deserve credit here as the closest thing either product has to shared long-term context, and they're a good idea — persistent project conventions that every spec inherits, without re-explaining your stack each time.

Pricing, mid-2026

Kiro is credit-metered: Free (50 credits), Pro $20/mo (1,000), Pro+ $40/mo (2,000), Pro Max $100/mo (5,000), Power $200/mo (10,000), with overage at $0.04/credit and unused credits not rolling over. Team tiers mirror those prices per user and add SSO via AWS IAM Identity Center, consolidated billing, and usage analytics.

ZeNorm is $27.99/month flat, first ten specs free, no credit card. Execution runs on your existing Claude or Codex subscription rather than metered credits — authoring is ZeNorm's cost, so it's what ZeNorm charges for. See /pricing.

The models aren't directly comparable and you should do the arithmetic for your own volume. Credits meter both authoring and implementation, so heavy Kiro use means either a higher tier or overage; ZeNorm's flat fee covers authoring while your agent subscription covers execution. Verify both before deciding — pricing in this category moves quarterly.

One structural note: Kiro is AWS, which means procurement, IAM, and compliance stories that a solo product cannot match. For anyone buying through an enterprise process, that is worth more than any feature in this post.

When to use Kiro instead

Genuinely:

You want one tool and one bill. Kiro is a complete product with no seams and no assembly. ZeNorm is a service plus your existing agent, and that's more moving parts.

You're already an AWS shop. IAM Identity Center SSO, consolidated billing, and an existing AWS procurement relationship. If your security review is a known quantity for AWS products and a six-week ordeal for everything else, that decides it.

You'd actually switch editors. If you're unattached to your current setup, or already using an AWS-adjacent toolchain, Kiro's integration is a genuine advantage rather than a tax.

You want inference bundled. Kiro's credits cover the model usage. ZeNorm assumes you already pay for a coding agent and doesn't resell inference. If you don't have a Claude or Codex subscription, ZeNorm costs $27.99 plus whatever you'd need to buy.

Reading and approving artifacts suits how you work. If you reliably read the requirements document properly, Kiro's approval gate does its job, and you don't need a scored one. Some people do read them. Be honest about whether you're one.

You want team management today. Kiro has team tiers, SSO, and admin dashboards. ZeNorm's org story is deliberately thin — it's built for one person who is both the PM and the engineer.

When ZeNorm is the better fit

The inverse:

You are not giving up Claude Code or Cursor. This is dispositive for a lot of people and no feature comparison overturns it. ZeNorm sits upstream of the agent you already have.

You approve things you didn't fully read. Kiro's gate measures the click. ZeNorm's measures the artifact.

Your specs pass review and still produce the wrong feature. If the agent builds exactly what the document said and the document was wrong, more approval steps won't help — the approval inherits the ambiguity. That's the failure the scored gate exists for. Related: drift between spec and code.

You want a close condition with substance behind it. A task can't close without a structured outcome, and the skill points your agent at your real test commands rather than a status indicator.

You're one person doing both jobs. ZeNorm is built for the person who writes the spec and then implements it, which is a seat most tools in this space don't aim at — dev tools sell to developers in editors, and PRD tools sell to PMs and stop at the document.

The honest summary

Kiro is the more finished product and the safer enterprise purchase. If you want a spec workflow that comes assembled and you're open to changing editors, it's a strong choice and the three-document decomposition is genuinely well designed.

ZeNorm makes the opposite bet: don't own the editor, own the bar. Keep your agent, keep your workflow, and put something upstream that refuses to hand it work until the spec holds up — then verify the result with your own test suite rather than a status update.

Pick Kiro if the problem is that your workflow is fragmented. Pick ZeNorm if the problem is that your briefs are vague and every check you've tried has been one you could wave through.

Also worth reading: ZeNorm vs. Traycer, the closest commercial neighbour, and ZeNorm vs. GitHub Spec Kit, the free prompt-template version of the authoring half.

Keep reading