Skip to main content
Glama

baseline_verify

Verify a rebuild against a pinned baseline by re-resolving items and checking revisions and content fingerprints. Flags drifted or missing inputs to block non-reproducible builds.

Instructions

Verify a rebuild against a pinned baseline (issue #142, C3) — the reproducible- rebuild gate. Re-resolves every pinned item from the current registry + artifacts and checks it still matches the pinned rev AND content fingerprint; a drifted input (changed bytes, a bumped rev, a vanished item) is caught, never silently accepted.

baseline: path to the baseline sidecar. registry: path to the current items.json sidecar. base_dir: artifact root for fingerprinting (defaults to the registry's directory).

Returns {ok, label, drifted (item/field/expected/actual), missing} — ok is True iff the rebuild reproduces the baseline exactly.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
base_dirNo
baselineYes
registryYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and largely meets it: it discloses that every pinned item is re-resolved and checked against both rev AND content fingerprint, and enumerates the drift cases (changed bytes, bumped rev, vanished item) that are caught rather than silently accepted. It does not mention permission or rate-limit behavior, so it falls short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then a parameter glossary, then the return shape. Well organized and mostly waste-free, though the parenthetical issue tag and drift examples add some length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description supplies both the return shape ({ok, label, drifted, missing} and the ok semantics) and the behavioral core, which is strong coverage. Minor gaps remain around prerequisites/permissions for a gate that pins reproducibility.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it documents all three parameters: baseline (baseline sidecar path), registry (current items.json sidecar path), and base_dir (artifact root for fingerprinting, with its default). This meaningfully exceeds the bare type info in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Verify) and resource (a rebuild against a pinned baseline) and frames it as 'the reproducible-rebuild gate.' It is clearly distinguishable from siblings like baseline_create, items_validate, and verify_contract without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a strong contextual frame ('reproducible-rebuild gate') that implies when to use it, but it never names an alternative (e.g. items_validate, items_resolve, baseline_create) or states a when-not condition. Usage is inferable rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools