Skip to content

Verify

Catch new regressions while your agents work.

Every time you save a file or an agent finishes a task, Panolayer checks the change against how your codebase actually fits together. It looks at the functions that changed, the code that calls them, and what each of those expects. You see what broke and why in seconds, and an agent can’t merge its work into your branch without your approval.

Download PanolayerRead the docs

Public beta for macOS. Free to start, no credit card required.

An agent changes getUser() to return null instead of raising.

It compiles and the tests for getUser still pass, but the six places that read user.name without a check don’t find out until staging.

How the Verification Engine works

Verification starts from the one thing that can’t be wrong about your code — the code itself.

It runs on your architecture, parsed from the source, so it knows each function, what calls it, and what it depends on. Panolayer tells new regressions from ones that were already there. With persistent memory, every correction you make stays with the project, so verification gets better the more you use it.

  1. Parse your code

  2. Work out what it expects

  3. Check every change

    New regressions kept separate from old ones

01

Build context from your code

An agent only sees the files it was given. Panolayer parses your repository the way a compiler would, including files, modules, functions, classes, imports, and the full call graph. It knows that getUser() is called from six places and exactly where each one is, because it resolved the symbols, not because a model guessed. This is the same architecture you browse in Architecture.

How Architecture works
Panolayer’s architecture view showing a function and the code that calls it.

02

Work out what the code expects

With Panolayer’s persistent memory, rules are saved between runs, and you can add your own or correct the ones it gets wrong.

Global rules in Panolayer, with enabled rules and controls to import agent instructions or add a rule.

03

See exactly what broke

Open a failure and you get the function, the rule, what happened instead, where, and which callers are affected, with the evidence behind it.

Where they’re set up, verification can also run your tests, builds, and type checks, load frontend changes in a browser, and compare screenshots against a reference image.

Failed image-upload validation rules in Panolayer, showing evaluation details and a source-line reference.

04

Compare with the baseline

Every result is compared with the codebase before the change, so failures that were already there stay labeled pre-existing, and you only chase what this change broke.

05

Fix it, or fix the rule

If the code is wrong, fix it yourself or ask Panolayer Agent to, with the failure and its affected callers as context. If the rule is wrong, correct it. Either way, the result is verified again.

An agent can’t merge its own work into your branch without your approval. Marketplace agents run in a container with no path to your main tree. CLI agents on your Mac are held by instruction. You can always commit, and merge an agent’s work, even when checks fail.

More on Build

Questions

What is a rule?

An expectation about how a piece of code should behave, like “returns a user or raises, never null.” Panolayer derives most rules from your code, and you can add your own. Rules persist and run on every change.

Can I write my own rules?

Yes. You can add your own rules alongside the ones Panolayer derives from your code.

What happens when a rule is wrong?

Correct it. The correction is kept, and future verification on that repository reflects it.

How fast is verification?

Results come back in seconds, so you can check, fix, and check again without leaving the task.

When does verification run?

When you save a file on your branch, and when an agent says its task is done.

Is my code sent to a model?

Your repository and Panolayer’s index of it stay on your Mac unless you sync or share them. Features that use a model send the relevant code excerpts and prompts to the provider you’ve configured, under that provider’s terms.

More on the Security page
Does it block my merge?

It holds agents, not you. An agent can’t merge its own work into your branch without your approval. You can always commit and merge.

Trust what your agents ship.

Download PanolayerRead the docs

Public beta for macOS. Free to start, no credit card required.

Next: Changes