Guarani Verify

Private beta · Trial workspaces on request

Autonomous AI code review and architecture compliance

Deep semantic analysis of every pull request. Verify builds a graph of your codebase, checks each change against your architecture rules and flags performance regressions before they merge.

What it does

  • Semantic pull request review

    Semantic pull request review across files, services and ownership boundaries

  • Performance regressions

    Early detection of performance regressions against latency and memory budgets

  • API contract validation

    API contract validation for REST, GraphQL and gRPC, with breaking-change gates

  • Generated tests

    Automatic generation of unit and integration tests for uncovered paths

What a review looks like

A sample pull request, reviewed by the architecture agent: one performance finding with a suggested change, one contract note and the generated tests.

Pull request reviewSample review
#1842orders: add fulfillment ETA
acme/core-apifeat/fulfillment-eta into main6 files changed
Verify, architecture agentPerformanceservices/orders/eta.ts:48

estimateEta() calls the inventory service once per line item, inside the loop. On large orders this adds sequential calls and pushes GET /v2/orders past its 450 ms p95 budget.

Batch the lookups into one getAvailability() call to stay under budget.

Suggested change
- for (const item of order.items) {-   const stock = await inventory.get(item.sku);-   etas.push(estimate(item, stock));- }+ const skus = order.items.map((item) => item.sku);+ const stock = await inventory.getAvailability(skus);+ const etas = order.items.map((item) => estimate(item, stock[item.sku]));
Verify, architecture agentContractopenapi/orders.yaml

Additive field fulfillment_eta on GET /v2/orders. Existing clients are unaffected: compatible with contract v3.

Generated 4 unit tests and 1 integration test for estimateEta(), all passing.

How it fits the release verdict

Every change runs as a traced pipeline across managed cloud regions, GPU inference and real device pools. Customer code is processed in isolated tenants and never used to train models.

Not publicly available yet: the CLI, SDKs and API are part of the private beta.

See the whole architecture
  1. Webhook received

    A pull request on GitHub or GitLab notifies the control plane at api.guarani-llc.com/v1. The policy engine resolves the profile for the repository.

  2. Code indexed

    The orchestrator updates the semantic graph and the vector index for the changed files, inside the customer's isolated tenant.

  3. Review agents dispatched

    Architecture, contract and performance agents run on analysis workers: containers on AKS, ECS/EKS and Cloud Run.

  4. CLEARED for release

    Versioned policy rules mark the strip CLEARED, the verdict is posted to the pull request as a check, and every step is written to an audit trail.

Verdicts come from versioned policy rules applied to the findings: the same findings and the same policy always produce the same verdict.

Configure it

guarani init creates guarani.yml at the root of the repository. It declares profiles, performance budgets, the Mesh policy and providers, and the mobile suites and devices.

Not publicly available yet: the CLI, SDKs and API are part of the private beta.

Read the docs: Configuration, GitHub Actions, GitLab CI

Profiles are selected with --profile. hold_on lists the findings that put a run on HOLD, which fails the check in your pipeline. Advisories never block.

guarani.yml, excerpt
profiles:
  pull-request:
    checks: [architecture, contracts, performance]
    tests: generate-missing
    hold_on: [blocking]
  release:
    checks: [architecture, contracts, performance, tests]
    mobile: checkout
    hold_on: [blocking, flaky-device]

budgets:
  latency_p95_ms: 450
  memory_mb: 512

Add a workflow that runs on pull_request. Store the workspace token as the repository secret GUARANI_TOKEN. The checks: write permission lets the CLI post the verdict as a check.

.github/workflows/guarani.yml
name: guarani
on: pull_request

permissions:
  contents: read
  checks: write
  pull-requests: write

jobs:
  verify:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
      - run: npm i -g @guarani-ai/cli
      - run: guarani verify --profile pull-request --report github
        env:
          GUARANI_TOKEN: ${{ secrets.GUARANI_TOKEN }}

Data handling and deployment

Data handling

  • Encryption in transit and at rest.
  • Processing in US or EU regions chosen per workspace.
  • No training on customer code, prompts or outputs.
  • Retention you configure for repository content and artifacts.

Deployment options

  • Multi-tenant cloud with isolated tenants, the default for every plan.
  • Dedicated VPC on Azure, AWS or Google Cloud.
  • Isolated GPU inference endpoints for open-weight models.