Skip to content

pact about: the binary says which commit it was built from - #24

Merged
dittops merged 1 commit into
masterfrom
the-binary-says-what-it-was-built-from
Nov 13, 2026
Merged

dittops merged 1 commit into
masterfrom
the-binary-says-what-it-was-built-from

Conversation

@dittops

@dittops dittops commented Nov 13, 2026

Copy link
Copy Markdown
Member

What this is

A runtime pins PACT by commit and then runs whatever pact binary it finds. The binary could not say what it was, so one built from an edited checkout, or left over from another commit, passed every check a pin makes of the source beside it. Bud Agent Flow's pin guard asked for this.

What it adds

pact about prints three <name>: <value> lines:

version: 0.1.0
commit: <40 hex, or unknown>
uncommitted: no | yes | unknown

uncommitted: is whether anything the binary is built from (crates, spec, models, Cargo.toml, Cargo.lock) differed from that commit when it was built. Both are fixed at compile time by crates/pact-cli/build.rs. Built with no repository around it, both say unknown. No field of the schema changes.

Tested

  • Three new tests run the real binary and compare with git.
  • Full local gate: one failure, a docs-truth test that read the example output line pact 0.1.0 as a command called 0. The output was changed to three uniform lines; that test and the new ones pass. The full suite is rerun by CI's everything job.
  • mkdocs build --strict: exit 0.

🤖 Generated with Claude Code

…ther anything was uncommitted

Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
@dittops
dittops merged commit bcaf187 into master Nov 13, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants