AlignDiff Open AlignDiff

Observed product behaviours

Line diff versus structure-aware diff: an evidence matrix

This page records what the current AlignDiff examples are designed to demonstrate. It separates observed comparison behaviour from claims the tool does not make.

AlignDiff marketing preview showing structure-aware code comparison
AlignDiff public beta · Python, JavaScript, and TypeScript · source stays in the browser

Transformation matrix

What changes, what AlignDiff surfaces, and what still needs review

TransformationStructure-aware observationReviewer still checks
Function movedThe likely counterpart can remain paired and receive a moved or moved-and-modified status.Whether calls, parameters, and behaviour also changed.
Function renamedA structurally similar function can appear as a rename candidate with matching reasons.Whether the candidate is the intended counterpart.
Statements reorderedRelated calls, assignments, and returns can receive spacer rows instead of cascading into misleading row matches.Whether execution order changed meaningfully.
Comments changedThe reviewer can include comment changes or choose the current ignore-comments option.Whether comments encode requirements or operational warnings.
Whitespace changedThe current ignore-whitespace option can suppress formatting-only noise.Whether whitespace is syntactically significant in the chosen language.
Return expression changedThe paired function remains together while the detailed return tokens are highlighted.Whether the new result is correct for all inputs.
Similar functions competePossible candidates can remain reviewable and the automatic pair can be overridden locally.Which candidate reflects developer intent.

Visible evidence

One public fixture combines movement, renaming, insertion, and detailed edits

Actual AlignDiff evidence showing moved and modified, renamed, and inserted Python structures
The public checkout fixture demonstrates several rows in the matrix. Other bundled examples cover manual pairing, return alignment, comment and whitespace controls, and parser fallback.

What this supports

Review usability claims

The examples support claims about alignment, visible statuses, one-sided insertions, configurable noise handling, and manual correction.

What this does not support

Behavioural equivalence claims

A structure-aware result does not prove that two programs behave identically, that a pull request is safe, or that an automatic pair is always correct.

Repeat the observation

Load the examples and inspect the actual result

Use the recommended Python product demo first, then compare the JavaScript and TypeScript fixtures or paste your own non-sensitive files.

Open AlignDiff