FixControl/Documentation

User Guide

Verification and results

What a sandbox test checks, how to read the result, what a green result does and does not prove, and how to look at a preview of the change.

What you achieve

Before anyone approves a patch, FixControl tests it in a sandbox: an isolated, temporary environment holding the project's code with the patch applied. The result shows, step by step, what ran and what did not. That way a reviewer knows exactly what was proven — and what was not.

What a test checks

A sandbox run consists of fixed steps, derived from your repository:

StepWhat happensCounts towards the result
InstallInstall dependencies, the way npm, Composer, pip or Maven do.Yes: if installing fails, there is no result.
Static checkType-checking or static analysis, for example tsc, mypy, PHPStan or Psalm.Yes, where the project has such a check.
Lint and formattingStyle and formatting checks.Usually as advice; they do not block.
BuildBuild the project.Yes, where the build is the verdict (for example Go, Java, .NET, Angular); for Node the build is often advisory.
MigrationsApply database migrations.Only when a database for verification runs is configured; otherwise this step is skipped.
TestsThe project's test suite, plus tests the patch brings with it.Yes. Failures that already existed do not count against the patch; new failures do.
UI testsBrowser tests the patch brings with it (for example Playwright, Cypress or Odoo tours), in a browser without a screen.Yes, when the patch brings them.
Start the applicationStart the application and wait until it answers.Yes, where the verified environment knows how the application starts.

Each step ends as passed, failed, skipped, timed out or error.

What a green result does and does not prove

A passing step proves that step only.

  • A passing build says nothing about the tests.
  • Passing tests say nothing about whether the application starts. That is why Did the application start? is a check of its own.
  • A successful start says nothing about how screens look. Only UI tests prove that, or a person looking at a preview.
  • A preview is human inspection, not an automated check. A verdict on a preview never replaces a test result.

When a step did not run, FixControl says so. A test that did not run is never green.

Reading the result

Open the run from Sandbox runs, or from the Sandbox validation check on the patch.

The tests

HeadingMeaning
Tests passed — regression-awareThe suite ran and the patch causes no new failures.
Tests failed — regression-awareThe patch causes new failures, or a test the patch should make pass is failing.
Tests never ran — no verdictAn earlier step stopped the run. Empty counters mean "not measured" here, not "clean".
Tests ran nothing — no verdictThe test step completed without error but executed nothing. That is not evidence.
UI tests could not run in this test environmentThe environment has no browser for the patch's UI tests.
The patch's UI tests did not runThe UI test step selected nothing.

Did the application start?

StatusMeaning
Started and answeredThe application came up and answered, with this change in it.
Did not startFixControl could not start the application with this change. Treat the run as red, even if the tests passed.
Not startedNobody checked whether the application still starts.
Not verified hereThe environment declares nothing to start. The tests then say nothing about whether the application runs.

On the patch you see the checks Sandbox validation and Application start, each with the status passed, needs attention, waived, failed or in progress. Waived is not passed: nobody proved it, and someone accepted that by name and date. See Delivering changes for what this means for delivery.

Starting a test

Who: anyone with the organization role admin, manager or operator can start a test and read results. Only admins and managers can change a verdict.

  • On the issue page: Test in sandbox, when there is a patch that has not been tested yet.
  • On the patch page: Verify in the sandbox.
  • In a work session: Run verification.

After an AI agent has created a patch, FixControl usually starts the test itself.

When prerequisites are missing

FixControl first has to know how your application is built and started. It derives that from your repository, and where that is not enough, the AI proposes an environment that the sandbox then has to prove for real. Only a passing run produces a verified environment. This is on by default; see Change validation for the details.

If that does not succeed within the fixed number of attempts, FixControl stops with one concrete question under What FixControl needs to know — for example which runtime version, system package or start command is needed. Answer it and choose Answer and retry. If an answer cannot help, it says An answer cannot move this with the reason.

What you know yourself about starting your application goes under Environments → Environment settings in the project. Those settings are checked by the same rules as the AI's proposals and still have to be proven by a run.

Three kinds of failure are treated separately:

  • The tests failed — a verdict about your code. This can lead to a new, AI-prepared version of the patch.
  • The environment failed — an image that would not load, a dependency that would not install, a service that never came up. This never leads to a proposed change to your code.
  • The application did not start — the tests passed, the start did not. The patch is then not delivered.

Where the test runs

  • In FixControl's own isolated environment — the default. Every run gets its own temporary container, cleaned up afterwards.
  • In your own environment — where configured, through a runner you install yourself with the FC Agent. This is a pilot and off by default. A runner in your own environment cannot prove that the application starts; see Change validation.

What cannot be tested (yet)

  • .NET Framework (net48) and WinDev are recognized, but FixControl does not run them today. A run then stops with a message naming exactly what is missing, instead of a green result that proves nothing. A Windows environment for .NET Framework has been built, but it is not switched on and not yet proven. WinDev needs a licensed PC SOFT installation, which FixControl does not provide.
  • A codebase with no test runner, type-checker or build configuration produces the message No verification steps could be derived, not a green run.

Looking at a preview

A preview starts the application with the patch in it, so you can look at it yourself. Previews are on by default; an admin or manager can switch them off for the workspace under Settings → Overview & progress → Settings for this workspace.

What you need first: a passing run with a patch, a verified environment, and an environment that knows how the application starts.

  1. Open the patch and choose Start a preview. Starting takes a few minutes; you get a notification once the preview is ready or did not start.
  2. Choose Open preview. You must be signed in and have read access to the project. A preview is not a shareable link.
  3. After looking, record a verdict: This looks right or This does not look right.

A preview stops by itself: after 30 minutes without use or after 4 hours, and at most three run at the same time per workspace. Starting, stopping and recording a verdict need management rights on the project. A project that requires validation in your own environment gets no preview.

Your verdict is recorded next to the automated validation, with your name and the time. It never replaces a test result and never opens an approval gate by itself.

Letting failures be investigated in the test environment

Where you switch this on, the developer agent may run a limited number of commands after a failed run, inside the container the run failed in, to see what went wrong. It cannot change anything there; the container is removed afterwards. This is off by default. An admin or manager switches it on from the failed run with Switch this on, or under Settings → Overview & progress (Investigate failures inside the test environment).

See also

Delivering changes · Approvals · Change validation · Troubleshooting

Anything unclear or wrong?Let us know →

FixControl is a trade name of FixControl B.V.