Intent verificationfor coding agents

Your agents write the code.
Tiden verifies it does what you actually asked for.

Heavy Swells at the West Coast of Jutland, Niels Skovgaard, 1894
Quillbase AppBranchesrate-limit-public-api

intent/rate-limit-public-api

Add rate limiting to the public API · Claude Code

Pass

Promises

  • Free returns 429 above 60 requests a minute2 tests passed
  • Every 429 carries Retry-After in seconds1 test passed
  • Pro returns 429 above 6001 test passed

Ready for review

✓ Pass3 of 3 promisesrun #11

Review
QuillbaseQuillbase AppBranchesscim-group-role-mapping

intent/2026-09-23-scim-group-role-mapping

Captured intent · +1 spec · +7 tests · run #11 · Claude Code

Merged by Maya Okafor

Spec changes · QB-207 SCIM group to role mapping

  1. 3+An IdP group maps to one workspace role
  2. 4+A user removed from the group loses the role within the sync window
  3. 5+A changed mapping re-provisions the affected users

Proven by

  • QB-1056Mapping an IdP group to the admin role grants admin accesspassed
  • QB-1057A membership change re-provisions affected users within the sync windowpassed
  • QB-1058A user removed from the group loses the rolepassed
  • QB-1061An unmapped group grants no rolepassed
Ask for a testAccept the risk✓ Merged

Activity

  • CCClaude Code opened the branch from session a0bda64c6m ago
  • TTiden run #11 passed, 7 of 7 tests2m ago
  • MOMaya Okafor merged the branch into mainnow
QuillbaseQuillbase AppReleases2.6.0

2.6.0 prod

13 components · released 14:02 UTC from main

✓ Pass

Coverage

205 of 205

specs verified by a test that ran

Components

13 of 13

healthy at release

Production issues

0 open

in scope for this release

  • Web App64 tests✓ Pass
  • Public API41 tests✓ Pass
  • Billing28 tests✓ Pass
  • Auth33 tests✓ Pass
  • Reporters20 tests✓ Pass

Snapshot frozen at release · 14:02 UTC

Works besideClaude CodeCursorCopilotCodexGemini CLI

From the team behind Qase

Coding speed went up.
Delivery failed to keep pace.

  • The request ends with the session.

    It lives in a chat that closes. The next session reads the code and the old docs, and assumes both are right.

  • The agent checks its own work.

    It writes tests from the code it just wrote, not from what you asked for. Every test passes, and the bugs are still there when you open the app.

  • More code, same features.

    Agents open more pull requests than ever. Faster review won’t close the gap: a reviewer reads the diff, not the request behind it.

Tiden maps what your product does.

Tiden reads your code and writes down each spec.
It marks the ones no test proves.

Low Tide at Pourville, near Dieppe, Claude Monet, 1882
your product · 6 components · 17 specs
Proven by a testNo test yetTIDEN-377 Billing tier caps volume · no test

Each change is proven by a test.

Your agent starts each session from a working contract.
The session can’t close over unverified work.

Skagen Beach in Moonlight, P.S. Krøyer, 1899
intent/rate-limit-public-api
Add rate limiting to the public APIClaude Code
  1. Started
  2. Coding
  3. Settle
  4. Close

Promises

  • Free returns 429 above 60 requests a minuterunning2 tests passed
  • Every 429 carries Retry-After in secondsrunning1 test passed
  • Pro returns 429 above 600no test

Can’t close yet: 1 spec has no test.

The spec changes with the code.

Green tests only prove the agent agreed with itself.
Tiden drafts the update on every merge, even ones that skip Tiden.

Grey Day by the North Sea, with Surf, Thorvald Niss, 1890
rate-limit-public-api
Gitwhat changed
api/public/v1/limiter.go
41func (l *Limiter) Allow(
42 ctx context.Context,
43 key WorkspaceKey,
44) bool {
45 q := l.tiers.For(key)
46 return l.win.Count(key) < q
47}
41// TODO: rate limits
Tidenwhat it was supposed to do
TIDEN-377 Billing tier caps volume
3Free returns 429 above
4 60 requests per minute.
5Pro returns 429 above 600.
6Every 429 carries
7 Retry-After in seconds.
3Unlimited for all tiers.

Review what was asked and proven.

Each branch shows what changed and what proves it.
Code review stays with your reviewer.

A Beach with Dunes. The West Coast of Jutland, Dankvart Dreyer, 1843
intent/rate-limit-public-api → main
✓ Pass3 of 3 promises delivered · 0 open
  • specTIDEN-377 Billing tier caps volume3 lines
  • + testfree_tier_returns_429_above_60runningpassed
  • + testretry_after_header_in_secondsrunningpassed
  • + testpro_tier_returns_429_above_600runningpassed

One verdict per release, part by part.

Errors in production point back to the release.
Your agent fixes them and adds the missing test.

Evening at Skagen, P.S. Krøyer, 1893
releases / 2.6.0
2.6.0prod✓ Pass
Coverage205 of 205
Components12 of 12
  • Web App✓ Passrisk 15/28
  • Public API✓ Passrisk 14/25
  • Billing✓ Passrisk 12/22
FeatureFlagWarningSearch · first seen in 2.5.0 · no test covered itFix with agent

Connects to the tools your team already uses

  • GitHub
  • GitLab
  • Jira
  • Linear
  • Notion
  • Azure DevOps

FAQ

More answers in the docs.

My agent already writes and runs its own tests. Why do I need Tiden?

Its tests come from the same reading of your request as its code. If it misread you, both are wrong and every test still passes. Tiden records what you asked before the session starts and checks the change against that.

How is Tiden different from code review tools like CodeRabbit or Greptile?

They read the diff and ask whether the code is good. Tiden asks whether it’s what you asked for, and shows which parts a test proves. Keep your reviewer. Tiden runs beside it.

How is Tiden different from spec-driven development?

Spec-driven tools like GitHub Spec Kit, OpenSpec, and Kiro help you write a spec before the agent codes. Tiden checks every change against the spec, with any agent, and keeps the spec current as the code moves.

Can’t we build this with our own tests and agents?

A prompt that checks a diff against a ticket takes an afternoon. The work is keeping the record true after that: intent from every session, specs that move with the code, and tests mapped to what they prove. One QA automation lead spent a year on it before giving up.

Do we need specs or tests before we start?

No. Connect GitHub or GitLab. Tiden reads your code and your tickets in Jira, Linear, or Notion and drafts the specs for you to review. It marks what no test proves, and your agent writes the missing tests. Already have specs or a test suite? Import them.

Midsummer Night at Tisvilde Beach, Julius Paulsen, 1886

Ship agent code you can prove is right.

Connect GitHub. Tiden maps the rest.