Skip to main content

Module verify

Module verify 

Source
Expand description

gunnar verify — the unbroken chain, walked backwards from a line of source. gunnar verify — the unbroken chain, walked backwards.

The roadmap’s whole thesis in one command: given a line of source, say which commit put it there, whether that commit is signed by a key this server knows, which push landed it, and whether that push is in the transparency log under a signed tree head.

  file:line  ──▶  commit  ──▶  signature  ──▶  push attestation  ──▶  log
    link 1       link 1         link 2            link 3            link 4

§What it proves, and where it stops today

Links 1–4. The half above — a built artifact, its provenance, the image it went into — needs the runner and the registry (roadmap phases 3 and 4), and this module does not pretend to have them: Chain carries only the links it walked, and every one it could not walk is a named absence rather than a missing field.

Not true/false. A commit with no signature is not a commit whose signature failed; a push with no attestation is not a push that was refused. Collapsing the two would make an unsigned repository look identical to a forged one, which is the failure this whole design is written against, so LinkState has three values and the summary refuses to reduce them to a boolean.

Structs§

Chain
The chain, as far as it could be walked.

Enums§

LinkState
What is known about one link of the chain.

Constants§

BLAME_BUDGET
How much history a blame will walk before giving up.

Functions§

verify
Walk the chain for one line of one file.
verify_artifact
Walk the chain from an artifact, not from a line.
verify_at
verify over a data root, opening the stores itself.