Skip to main content

development · Command reference

qzx compareFiles

What it does

Compares text files line by line and binary files by exact bytes and SHA-256

Command maturity: Alpha

Available for real use and feedback while its interface and behavior can still evolve. This is the current development-checkout assessment. Every future immutable release tag preserves the exact assessment shipped by that version. Available in PyPI 0.2.2.0.8. This page documents the 0.2.2.0.8 alpha development checkout.

Behavior and built-in protections

Inspects without changing state

Direct execution for this operation

Works without invoking native programs

Works without network access

No elevation required by design

This safety classification was reviewed by OpenAI GPT-5.6 Pro against implementation digest sha256:14fc4e563390c03c8b4fc17e1efdc444e275ec2e8f03986ccaf5153e2e407d2e on 2026-08-25.

Exact syntax

qzx compareFiles <file1> <file2> [mode] [max_bytes] --json

Parameters

Swipe or use the horizontal scrollbar to see every column.

NameTypeRequiredDefaultDescription
file1strYesNot declaredPath to the first file
file2strYesNot declaredPath to the second file
modestrNo"full"Comparison mode: "full", "summary", or "percent"
max_bytesintNo1048576Maximum allowed size of each file in bytes (defaults to 1 MiB)

Input examples

qzx compareFiles "file1.py" "file2.py"

Compare two Python files and show every difference

qzx compareFiles "file1.txt" "file2.txt" "summary"

Show a summary of differences between two text files

qzx compareFiles "version1.js" "version2.js" "percent"

Show the similarity percentage between two JavaScript files

qzx compareFiles "image-a.png" "image-b.png"

Check whether two binary files are exactly equal by bytes and SHA-256

For the complete structured payload, add --json: qzx compareFiles <file1> <file2> [mode] [max_bytes] --json

Observed output example

Captured with QZX 0.2.2.0.8 on Windows 11; exit code 0. Host-dependent values and duration can vary.

Example command: qzx compareFiles ../artifacts/qzx-evidence/compare-files/before.txt ../artifacts/qzx-evidence/compare-files/after.txt full --json

{
    "success": true,
    "file1": "../artifacts/qzx-evidence/compare-files/before.txt",
    "file2": "../artifacts/qzx-evidence/compare-files/after.txt",
    "identical": false,
    "added_lines": 1,
    "removed_lines": 1,
    "total_changes": 2,
    "diff": "Differences between '../artifacts/qzx-evidence/compare-files/before.txt' and '../artifacts/qzx-evidence/compare-files/after.txt':\n--- ../artifacts/qzx-evidence/compare-files/before.txt\n+++ ../artifacts/qzx-evidence/compare-files/after.txt\n@@ -1,2 +1,2 @@\n shared line\n-before\n+after\n\nStatistics:\n- Added lines: 1\n- Removed lines: 1\n- Total changes: 2",
    "message": "Compared '../artifacts/qzx-evidence/compare-files/before.txt' with '../artifacts/qzx-evidence/compare-files/after.txt': 1 added and 1 removed lines.",
    "content_type": "text",
    "comparison_basis": "decoded_text_lines",
    "byte_identical": false,
    "bytes_file1": 21,
    "bytes_file2": 20,
    "encoding_file1": "utf-8",
    "encoding_file2": "utf-8",
    "encoding_confidence_file1": 1,
    "encoding_confidence_file2": 1,
    "sha256_file1": "66b132726d57d857c416bf212c2ac4758f8088ffd9144b01fca3f412dd0e163a",
    "sha256_file2": "245ea69b327e3ad2ea5f90573f1a6357e076642171ad33720bd183fd7aed18f9",
    "similarity_available": true,
    "mode": "full",
    "max_bytes": 1048576,
    "meta": {
        "command": "compareFiles",
        "command_maturity": {
            "stage": "alpha",
            "label": "Alpha",
            "sequence": 2,
            "public_executable": true,
            "stability": "interface_may_change",
            "summary": "Available for real use and feedback while its interface and behavior can still evolve.",
            "promotion_review_required": false,
            "assessment_scope": "development_checkout"
        },
        "duration_ms": 5.218,
        "schema_version": 1
    }
}
View the JSON result contract
{
    "type": "object",
    "properties": {
        "success": {
            "type": "boolean"
        },
        "message": {
            "type": "string"
        },
        "error": {
            "type": "string"
        },
        "error_code": {
            "type": "string"
        },
        "remediation": {
            "type": "string"
        },
        "file1": {
            "type": "string"
        },
        "file2": {
            "type": "string"
        },
        "mode": {
            "type": "string",
            "enum": [
                "full",
                "summary",
                "percent"
            ]
        },
        "identical": {
            "type": "boolean"
        },
        "added_lines": {
            "type": "integer"
        },
        "removed_lines": {
            "type": "integer"
        },
        "total_changes": {
            "type": "integer"
        },
        "diff": {
            "type": "string"
        },
        "similarity": {
            "type": "number"
        },
        "lines_file1": {
            "type": "integer"
        },
        "lines_file2": {
            "type": "integer"
        },
        "identical_lines": {
            "type": "integer"
        },
        "changes": {
            "type": "integer"
        },
        "summary": {
            "type": "string"
        },
        "content_type": {
            "type": "string",
            "enum": [
                "text",
                "binary"
            ]
        },
        "comparison_basis": {
            "type": "string"
        },
        "byte_identical": {
            "type": "boolean"
        },
        "bytes_file1": {
            "type": "integer"
        },
        "bytes_file2": {
            "type": "integer"
        },
        "max_bytes": {
            "type": "integer"
        },
        "encoding_file1": {
            "type": [
                "string",
                "null"
            ]
        },
        "encoding_file2": {
            "type": [
                "string",
                "null"
            ]
        },
        "encoding_confidence_file1": {
            "type": [
                "number",
                "null"
            ]
        },
        "encoding_confidence_file2": {
            "type": [
                "number",
                "null"
            ]
        },
        "sha256_file1": {
            "type": "string"
        },
        "sha256_file2": {
            "type": "string"
        },
        "similarity_available": {
            "type": "boolean"
        },
        "meta": {
            "type": "object",
            "required": [
                "command",
                "command_maturity",
                "duration_ms",
                "schema_version"
            ],
            "properties": {
                "command": {
                    "type": "string"
                },
                "command_maturity": {
                    "type": "object",
                    "required": [
                        "stage",
                        "label",
                        "sequence",
                        "public_executable",
                        "stability",
                        "summary",
                        "promotion_review_required",
                        "assessment_scope"
                    ],
                    "properties": {
                        "stage": {
                            "type": "string"
                        },
                        "label": {
                            "type": "string"
                        },
                        "sequence": {
                            "type": "integer"
                        },
                        "public_executable": {
                            "type": "boolean"
                        },
                        "stability": {
                            "type": "string"
                        },
                        "summary": {
                            "type": "string"
                        },
                        "promotion_review_required": {
                            "type": "boolean"
                        },
                        "assessment_scope": {
                            "type": "string"
                        },
                        "note": {
                            "type": "string"
                        },
                        "review": {
                            "type": "object",
                            "required": [
                                "reviewed_on",
                                "rationale",
                                "evidence"
                            ],
                            "properties": {
                                "reviewed_on": {
                                    "type": "string",
                                    "format": "date"
                                },
                                "rationale": {
                                    "type": "string"
                                },
                                "evidence": {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "replacement": {
                                    "type": "string"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": true
                },
                "duration_ms": {
                    "type": "number"
                },
                "schema_version": {
                    "type": "integer"
                }
            },
            "additionalProperties": true
        }
    },
    "additionalProperties": true,
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "required": [
        "message",
        "meta",
        "success"
    ]
}

Errors and limits

The public contract requires success=false and a descriptive message on failure. This catalog does not yet declare a command-specific error taxonomy; inspect the result and do not invent error codes.

QZX is alpha software. Optional dependencies, permissions, and host capabilities can change the result.

Evidence workflow: captured and digest-validated.

Evidence and provenance

Documentation channel
Development documentation 0.2.2.0.8 · main · sha256:9aa902dfb6b006017e52972bf7871fef49b03ec24ff80741231d743d0354bfc2
Availability
0.2.2.0.8 or earlier

Keep exploring

These commands also belong to the development category. Compare them to choose the operation that best fits your task.

Explore all QZX commands