Local-first change review

Every change with a verifiable record.

Changeproof binds the requirement, baseline, and responsibility before work begins. After the change, the CLI connects the diff, tests, and open risks in a signed Change Passport. Existing changes can be inspected retrospectively.

48changed files
+2173observed lines
61linked evidence
real Git commit

Two paths to evidence

Observe before the change or inspect it afterwards.

Both paths create a Change Passport. They make different claims about what was actually observed while the change was produced.

start → finishStrongest evidence

Observed run

Changeproof starts before the first edit. Intent, Git baseline, the stated agent, and the responsible human are bound at that point.

The passport can show where the run started and which change emerged before it was finished.

inspectRetrospective

Inspect an existing change

An existing commit or Git range is analyzed together with a ticket or specification. Files, tests, dependencies, and risks are connected afterwards.

The passport describes visible evidence without claiming AI authorship that was not observed at the time.

Observed run

The evidence trail starts before the first diff.

A complete run creates a verifiable chain from business intent to the sealed result without replacing the engineering work itself.

  1. 01

    Provide the requirement

    A ticket or specification describes the intended change and its verifiable criteria.

  2. 02

    Start the run

    Changeproof hashes the requirement and records the baseline, agent, and responsible sponsor before the change.

    changeproof start --intent ticket.md --agent codex --sponsor you
  3. 03

    Change the software

    Human and agent work in the repository. Git remains the source for files and structure; claims retain their evidence level.

  4. 04

    Finish the run

    The diff and tests are evaluated, open risks remain visible, and the Change Passport is signed.

    changeproof finish --test "npm test" --open
  5. 05

    Verify the passport

    Schema, digest, and signature can be checked again independently from the HTML presentation.

    changeproof verify passport.json

The Change Passport

One artifact, five connected layers.

The passport does more than collect metrics. It records where every claim comes from and which business criteria already have supporting evidence.

  1. 01intent

    Intent

    Source, hash, summary, and extracted acceptance criteria.

  2. 02change

    Change

    Git range, files, line counts, categories, and structural relationships.

  3. 03test

    Tests

    Executed command, result, changed test files, and output digest.

  4. 04risk

    Open risks

    Findings for migrations, APIs, privacy, or automation linked to their sources.

  5. 05integrity

    Integrity

    Machine-readable JSON, SHA-256 digest, and Ed25519 signature.

Where it helps

For changes where speed alone is not enough.

01

Agent-assisted development

Intent and human responsibility remain connected to the resulting diff.

02

Critical migrations

Data model, API surface, tests, and open risks become visible in one handover artifact.

03

External patches

An existing Git range can be inspected retrospectively against a ticket or specification.

04

Review and approval

Reviewers see scope, evidence, and gaps before drilling into individual files.

Runs locally

Start, finish, or inspect retrospectively.

Source code and prompts stay on the developer's machine. After a local build, both workflows are available through the same CLI.

One-time setup

git clone https://github.com/entwicklerherz/changeproof.git
cd changeproof && npm install && npm run build

Observed run

npm exec changeproof -- start --intent ticket.md --agent codex --sponsor you
npm exec changeproof -- finish --test "npm test" --open

Existing change

npm exec changeproof -- inspect HEAD~1..HEAD --intent ticket.md --test "npm test" --open

Lab prototype · Not yet published to the public npm registry · Run through npm exec after a local build.

Source code and guide on GitHub