Skip to main content

What it does

compare reads two artifacts and reports whether any packaged file was added, removed, or changed. It is the command to use when you care about repeated-run drift, baseline-versus-candidate review, or CI gating on structural equivalence.

Usage

When to use it

  • comparing a new agent run to the previously accepted run
  • checking whether eval output changed between two runs
  • reviewing generated files in CI
  • deciding whether a candidate artifact needs human attention

What compare does

compare performs structural comparison only. It reads both manifests and reports:
  • files added in the candidate
  • files removed from the baseline
  • files changed at the same path
A file is changed when its size or hash differs.

Minimal example

Expected output shape

Example:

Exit behavior

  • exit 0: no differences
  • exit 20: one or more differences were found
  • exit 1: usage or file/path error
Treat 20 as “changed”, not “tool failure”.

Common mistakes

  • assuming compare explains why a change is good or bad
  • passing a directory instead of a .fpk file
  • relying on implicit baseline lookup; you must provide explicit artifact paths
  • verify before comparing artifacts you plan to trust
  • inspect when you want a quick summary before comparison
  • Diffing for review guidance after the command runs

Core API

Scope

The current public OSS command does not define semantic comparison modes, typed artifact decisions, or registry-backed references.