Prevent product drift in AI-written code.

Prelint checks every pull request against your product specs. Catch misalignment before it ships.

no credit card required · 7 day free trial

src/services/pricing/charge-calculator.ts
3838
  const fare = calculateFare(ride);
39
+  booking.amount = forex.convert(
40
+    fare, vendor.currency, customer.currency
41
+  );
42
+  booking.currency = customer.currency;
3943
 
Prelint
prelintbotjust now

FX risk on advance bookings

This converts the fare to customer.currency at today's rate and stores it as the charge amount. Vendor settlement still runs in vendor.currency at fulfillment. On advance bookings the exchange rate drifts and the platform absorbs the difference.

Notion — Pricing: International Settlements — “Always store the charge in vendor currency. Show the customer a converted estimate at booking time.”

Suggested fix: store fare in vendor.currency as the charge amount. Use the converted customer amount for display only.

Teams using Prelint

FOUNDATION

Six ways AI code drifts from your product

AI reads your specs.
It does not understand intent.

It doesn't know your economic model.
It doesn't know your regulatory exposure.
It doesn't know which constraints are optional — and which are existential.

Every unreviewed pull request compounds the gap.

Business Logic

AI changes pricing, discount, or billing rules without understanding the financial impact.

Agent switches pricing from vendor currency to customer currency.
FX exposure shifts silently.
Revenue leaks. No test fails.

Compliance

AI stores data, skips consent flows, or breaks retention rules it was never told about.

Agent adds a user activity log but stores IP addresses without a retention policy. You’re violating GDPR and CCPA and don’t know it until the audit.

Tooling & Infrastructure

AI introduces new vendors, new SaaS, new dependencies — because it can.

Agent adds Twilio.
You already standardized on AWS SNS.
Now you’re paying twice — and splitting infrastructure.

Domain Language

AI uses generic industry terms instead of your established internal language, splitting concepts that should be unified.

Codebase uses “merchant.” AI introduces “seller,” “vendor,” and “partner” in new services. Same entity, four names, three confused teams.

Scope Creep

AI builds features nobody asked for — i18n for a US-only product, GDPR for a domestic app, infra you don’t need yet.

Agent adds a full i18n framework with locale files for 12 languages. Product only serves English-speaking users.

Strategic Drift

AI builds off-roadmap features, public APIs for internal tools, or premature abstractions nobody planned.

Spec says internal dashboard. Agent builds a public REST API with versioning, rate limiting, and OAuth. Three sprints of work on something not on the roadmap.

AI doesn't slow down when it's wrong.

It keeps building — confidently — in the wrong direction. Without product review, every pull request compounds the drift.

Code review constrains technical error.
Product review constrains spec drift.

Without a product agent

GoalAI Generates CodeCode ReviewMergereviseHuman interventionNext AI agent inherits drift
Product driftMerged pull requestsError compounds over time

With a product agent

GoalAI Generates CodeCode ReviewProduct ReviewMergereviserevise
Merged pull requestsIntended productError stays bounded through continuous feedback

Greptile reviews your code.
Prelint reviews your product.

Together, they let AI agents iterate longer without human intervention.

Product intent enforced automatically

Your product specs live in GitHub. Every PR gets checked against them — consistency, completeness, and alignment with existing decisions. No meetings required.

prelint/check — passed

Machine-readable product constraints

Prelint understands your full product context. It catches contradictions between specs, conflicting technology choices, and duplicated effort — before humans have to.

3 conflicts detected in pricing.md

Answers without interrupting engineers

Stakeholders ask “why did we build it this way?” and get grounded answers from your specs. Engineers stay in flow. No one waits for a sync.

MCP — 12 queries answered today

Product questions shouldn't block engineering.

Anyone can ask why something works the way it does — and get answers grounded in your specs.

Engineers stay in flow.
AI agents keep iterating.

Can we add SSO? Losing deals over this

Inbox
M
Mark Brennan

to product, engineering

Hey team — just got off calls with Meridian Health and DataVault. Both said SSO is a hard requirement for procurement to sign off. That's two enterprise deals stuck in legal.

Can we just add Google login as a quick win? Should check the box for SSO and unblock both of these. I know Lukas looked at auth stuff last quarter so maybe there's something we can reuse.

Happy to jump on a call if it helps.

Mark

Prelint
Prelint

to product, engineering, Mark

Hey Mark — great flag on the urgency here. A couple of things worth knowing before the team goes down the Google OAuth path:

Google OAuth won't unblock these deals

Meridian and DataVault both use Okta internally. When enterprise procurement says “SSO,” they mean SAML/OIDC federation with their identity provider — not social login. Google OAuth wouldn't pass their security review. This came up in the Meridian requirements doc spec-enterprise-auth.md, §3.2.

There's already a faster path

Lukas's team specced out SAML + OIDC support in January spec-auth-v2.md. The foundation — service account refactor — shipped last sprint. Lisa estimated 2 weeks to production-ready SAML, which is probably faster than building a Google OAuth flow that wouldn't solve the actual problem.

Your timing is perfect though

Two blocked deals in one week is exactly the kind of signal that helps the team prioritize. If you drop the deal values into #product-priorities, that gives Lisa the ammunition to pull SAML forward in the sprint.

ReplyForward

Your AI already follows this workflow.

Specs in the repo. PRs as the interface. Prelint closes the loop — no human in the middle.

1

Specs live in the repo

Product constraints sit next to the code. Markdown, YAML, whatever your agents can read. Version controlled and always current.

2

Agent opens a PR

Your AI agent changes a spec or ships a feature. It opens a pull request like any contributor. Prelint activates automatically.

3

Product review in seconds

Prelint reviews against your full product context. Drift, conflicts, and gaps are flagged inline. The agent can self-correct before a human ever looks.

feat: add multi-currency supportOpen
Aai-agent wants to merge 3 commits into main
specs/pricing/multi-currency.md
12
+ Store charges in customer currency
13
+ Convert at booking time rate
Prelint
prelintbot12 seconds ago

Conflicts with existing spec

specs/pricing/settlements.md requires charges stored in vendor currency. This PR stores in customer currency, creating FX risk on advance bookings.

Suggestion: store in vendor currency, convert for display only.

prelint/review— 1 conflict found

“Does the code work?” vs “Should this code exist?”

Full-stack review coverage

Code review+ Prelint
Does the code compile?
Does it follow patterns?
Is it secure?
Does this match the product spec?
Does it respect business constraints?
Does it follow our tooling standards?
Is this on the roadmap?

Your code stays yours.

Every organization runs on isolated, per-organization infrastructure. We never train on your data.

Zero retention

Isolated per organization. Nothing shared between tenants.

No training on your data

Your code never trains any model. Ever.

Least privilege

Only the GitHub permissions it needs.

Encrypted everywhere

TLS 1.3 in transit. AES-256 at rest.

Frequently asked questions

Everything you need to know about Prelint.

Still have questions? Reach out

What does Prelint actually review?
Prelint reviews intent — not implementation.

It checks every pull request against your product specs, compliance rules, business constraints, and tooling decisions.

If code violates what the company decided, Prelint flags it immediately.
How is this different from code review?
Code review tools catch bugs and security issues.

Prelint catches:
– product decisions that contradict specs
– features that drift from the roadmap
– business rules silently rewritten

Code review checks correctness.
Prelint checks intent.
How much does Prelint cost?
$30 per committer per month.
Startup pricing available.
Open source projects are free.
Which platforms and formats are supported?
Prelint works with GitHub and GitLab. Specs can be written in Markdown, YAML, or any structured format. They live in your repository alongside your code, version-controlled and reviewable.
Is my data secure?
Each organization runs on tenant-isolated containers and storage.
We do not store raw source code or train on your code.
All data is encrypted in transit and at rest.
Complete tenant isolation — nothing shared between organizations.
What can non-engineers do with Prelint?
Anyone can ask why something works the way it does — and get answers grounded in the actual specs.

No Slack archaeology.
No interrupting engineers.
Why isn't this just a feature of Greptile or GitHub?
Prelint operates at a different layer.

Code review tools analyze code structure and security.
Prelint enforces product intent.

They complement each other.
How long does setup take?
Minutes. Install the GitHub or GitLab app, point Prelint at your spec files, and it starts reviewing on your next pull request.

No new workflows.

Start reviewing product specs today

Set up in minutes. Prelint integrates with your existing GitHub workflow and starts reviewing on your next pull request.

no credit card required · 7 day free trial