Check that your AI-written rewrite preserves the behavior that matters. Compare it with the original, then inspect the first change.
The original system remains the approved reference while an AI-written rewrite is verified under the same behavioral contract. In this example, trimming an account value changes the posting branch. Strust returns MATCH / DIVERGE / INCONCLUSIVE.
Approved behavior
Behavior to verify
Run both. Compare behavior.
Track verified behavior, resolve blockers, and keep each revision tied to its evidence.
The rewrite skips one required posting and duplicates another on retry. Inspect the first difference in each trace.
Results for c84e21
| Work area | Matching cases | Status | Owner |
|---|---|---|---|
| Posting branches and fixed-width account padding | 7 / 8 | Behavior changed | writer-01 |
| Lost acknowledgements, repeated requests and duplicate writes | 3 / 4 | Behavior changed | writer-02 |
| Decimal precision and premium rounding boundaries | 4 / 4 | Checks match | writer-03 |
| Accepted, rejected and empty account inputs | 4 / 4 | Checks match | writer-01 |
These four areas group the demo’s 20 declared cases. Matching results cover those cases and observations; they do not measure how much of the entire application is migrated. Checks processed includes inconclusive cases. Release review also requires complete evidence and an independent decision.
Coding agents
Independent verification
pair-01Availablepair-02AvailableThe current rewrite changes two posting cases. The earlier revision remains available for comparison.
0 resolved · 0 still differ · 2 new differences
Comparison covers retained case verdicts. Matching results still need an independent release decision.
Restoring the draft keeps every retained run and receipt.
A rewrite can compile and still change behavior. Strust compares the original and rewrite under one agreed contract, beginning with COBOL-to-Java migration.
Read the verification methodAgree on inputs, runtime assumptions, observable outputs, and comparison rules. Keep the original fixed while a coding agent changes the rewrite.
Verification runners execute both systems under the declared conditions. Conformance testing compares their returned values, database writes, emitted records, and error behavior.
Inspect a match, divergence, or inconclusive result with its evidence. Feed a finding back to the coding agent, then replay the changed revision before owner review.
What the verdict means, and where the evidence stops.
The original and rewrite run with the same inputs, runtime assumptions, observations, and comparison policy. Strust looks for the first difference within that declared contract.
MATCH means the declared observations agree for the compared execution. It does not establish correctness for every input or for behavior outside the contract.
When the evidence does not support a comparison under the declared contract. Missing or unsupported evidence must remain distinct from a match or a behavioral difference.
The interactive demo uses predefined results to show the verification workflow. It does not execute your code or connect to a live migration. Connect a private workspace to verify your own original and rewrite.
Bring the system you are changing and one behavior that must stay the same. We can start by scoping that comparison.
Identify the original, rewrite, representative inputs and behavior that matters.
Agree where code and data can run, which observations can be retained and who can review them.
Inspect paired observations and the first meaningful difference before expanding the scope.