Repository navigation
Releases: jagreehal/stamp
Release list
v0.10.0
Minor Changes
- 6e3d9c6: The reviewer refuses a bug it can show: an ordinary input on which new code returns something other than what its name, doc comment, description or test says. It refuses a change that brings back a problem a resolved review thread named, and a new test the bug in the same diff passes. Each issue opens with
file:lineand a title, and a bug gives the input, the actual and expected result, and the fix. Reviews show the merge risk under the verdict and number their issues, so a reply can name one.
v0.9.0
Minor Changes
-
94e3950: Reviews read one line per part. You see the verdict and its reasoning, then collapsed sections for issues, test evidence, gates and the reviewer run. Each new verdict folds earlier reviews under a "Superseded" line, so the PR shows one current verdict.
Stamp keeps a card comment on each PR with the latest verdict and two checkboxes. Review again re-runs the review. Hand to shepherd dispatches Shepherd's workflow when the verdict is not an approval. Only someone who can merge can act on either.
stamp initinstalls the newstamp-actions.ymlfor the handoff.Test evidence gains the
weakenedfinding kind. A scenario that checks less than on the base branch turns an approval intoESCALATE. Stamp waits up to five minutes for an evidence run still in progress, accepts a run merged into a newer base, and reviews again before keeping an approval reached without the evidence.
v0.8.0
Minor Changes
- 3661e28:
.stamp/policy.ymlships with a JSON schema, so your editor completes and checks the policy as you type. Policy errors name their line and column, andstamp configlists each one.
v0.7.0
Minor Changes
-
1dd107e: Every non-secret setting now lives in
.stamp/policy.yml, so you review a settings change like any policy change.-
The bundled policy denies only edits to stamp's own policy. Auth, secrets, migrations, infrastructure, billing, public API and toolchain changes go to the reviewer as scrutiny flags with a category-specific instruction.
stamp init --strictwrites the policy that sends them to a human. The bundled guidance has the reviewer verify a risky change itself and escalate only a risk it cannot resolve. -
New policy keys:
model,backends,pricing,provider.{region,base_url,anthropic_base_url},guard,max_output_tokens,cli.{claude_model,codex_model},label,notify.on,telemetry.{endpoint,service},advise_on_denyandbranding. A non-blank environment variable overrides each one. -
stamp configprints each effective setting and its source, and shows secrets as set or unset. -
stamp init --model --regionwrites the policy, so your first run needs only the secret. Init pins the workflows to the version you ran, takes--environment <name>for the review and digest jobs, adds the digest only with--digest, and prints suggested CODEOWNERS entries. -
stamp init --upgraderewrites existing workflows from the current templates and keeps each one's environment, OIDC and region. -
--policy-dir <dir>tries a policy on a real PR before you merge it. Stamp refuses it with--post. -
advise_on_deny: trueappends the model's findings to a gate refusal. The verdict stays REFUSED. -
brandingsets the review header name, an https avatar and the verdict and gate glyphs. Stamp escapes every value. -
Write access through a team or a private org membership counts as COLLABORATOR, for PR authors and
/stampcommenters. -
Stamp reads the verdict out of a model's narration, and ends in ERROR when the reply holds conflicting verdicts. A model that skips the forced
submit_verdictcall gets one more turn. -
The templates grant
issues: readfor PR reactions, and stamp drops blank provider variables before any provider SDK loads. -
The run log names the variable each model key comes from, and says when
STAMP_API_KEYwins over the provider's own. A failed review's ERROR names it too. -
stamp --helpandstamp <command> --helpprint the usage.
-
v0.6.1
Patch Changes
- 5d30b68: - Stamp keeps an approval across a base merge when the merge leaves every file the PR touches as it was. A base edit to one of those files sends the PR back for review.
- Retention reads the last reviewed marker in a review body, and stamp removes HTML comments from model-written review text.
- When both reviewers approve, each approval passes the evidence check on its own.
v0.6.0
Minor Changes
- f1b772e: - Approval retention matches the PR's change by
git patch-id --verbatim, so a base merge that shifts line numbers keeps the approval. Whitespace changes still trigger a review.- Each approval names the fact the change is safe because of and how the reviewer checked it:
claimed,cited,tracedortested. A high-risk approval on a claimed fact escalates to a person.
- Each approval names the fact the change is safe because of and how the reviewer checked it:
v0.5.0
Minor Changes
- 9d08c44: - Rule packs take
onlyanddisableto pick rules by id, andrules_from: { shepherd }reads the repository's shepherd lenses and model tiers so both tools share one policy.- Stamp reviews a stacked PR against its parent's head and holds it until a maintainer or stamp approves the parent. A
basegate names the long-lived branch a PR belongs on. - Edits to any file in a local rule pack's directory need a person.
- The
openai:andcompatible:providers join the list.STAMP_BASE_URLpointscompatible:at any OpenAI-style endpoint, andSTAMP_MAX_OUTPUT_TOKENSfits models with a smaller output limit. - Bedrock runs on an API key in
STAMP_API_KEYor on GitHub OIDC, whichstamp init --aws-oidcswitches on.
- Stamp reviews a stacked PR against its parent's head and holds it until a maintainer or stamp approves the parent. A
v0.4.0
Minor Changes
- 184c513: -
STAMP_NOTIFY_WEBHOOKposts each refused, escalated or failed review to Slack or any JSON endpoint.STAMP_NOTIFY_ONpicks the verdicts, and a PR the gates hold reads as needing a person.STAMP_API_KEYholds the key for whichever providerSTAMP_MODELnames, so a repository keeps one secret.- The
deepseek:provider reviews through DeepSeek's API. - A dry run checks the gates and calls no outside service.
Gemfile.lockjoins the lockfiles indeps_toolchain.- The workflow templates pin
setup-bunto a commit. - A documentation site covers setup, policy, backends and operations.
- a972673: - A
telemetrygate holds a PR that writes a credential or a whole request's headers, body or cookies into a log or span, before the model runs.- The observability rule pack grows to thirteen rules covering traces across every boundary, trace-linked logs, errors with their cause, request identifiers, alertable metrics, and safe telemetry startup and shutdown.
- 7edf202: - A
testsgate holds a PR for a person when it deletes a test file or adds a skip or only marker to a test.stories:in policy.yml shows the reviewer the executable-stories report your CI uploads, matched to the commit its tests ran on.reviewer_checksholds the review while a listed check run, such as Claude Code Review, is running.review_agentscoversREVIEW.md.- Bedrock signs requests through the AWS credential chain when
AWS_BEARER_TOKEN_BEDROCKis unset, soAWS_PROFILEand SSO work. - The
stamp.reviewspan carries the base SHA, the CI run, usage counts andstamp.cost_complete. - Updated the AI SDK providers, autotel, zod and yaml.
v0.3.0
Minor Changes
- e99c8cd: Review with Groq or Mistral through their AI SDK providers:
STAMP_MODEL=groq:openai/gpt-oss-120bwithGROQ_API_KEY, orSTAMP_MODEL=mistral:mistral-small-latestwithMISTRAL_API_KEY.
v0.2.0
Minor Changes
- 993538b: Rule packs can live in another repository, pinned to a commit on its default branch:
skill: github:owner/repo/<path>@<sha>. A PR that closes an issue labelledincidentgets anincidentscrutiny flag, and the reviewer requires a test that reproduces the failure. - 59a602f: Review with any AI SDK provider, with review limits, run metrics and traces. Run CLI reviewers in isolated containers that reach only their model API, and accept
CODEX_API_KEYorOPENAI_API_KEYfor Codex. Redact credentials from posted reviews, console verdicts and evidence bundles. Add resolved-thread context, review disclosures, policy provenance, author familiarity, folder size grants, approval retention and a weekday digest. - 83a54e9: Flag suppression comments a PR adds, such as
eslint-disable,@ts-ignore,noqaandnosec, for the reviewer to check. Scanner settings files join thequality_gatesscrutiny paths. - 0c9b336: With
OTEL_EXPORTER_OTLP_ENDPOINTset, each run is onestamp.reviewspan carrying the verdict, tier, failed gates, retention, backends, flags, risk, cost and egress refusal counts, with the model'sgen_ai.*spans nested under it. CLI reviews report how many connections the egress proxy refused, by kind, in the console and the evidence bundle; the hosts and TLS names a reviewer chose never leave the container. - ac6e407: The egress proxy tunnels to a CLI reviewer's model API only when the TLS ClientHello names that host, reassembled across records. The reviewer reads the issues a PR closes and checks the diff does what they ask.
writing-pr-descriptionsadds a Merge Danger section from Matt Pocock'sprskill, which ships unchanged in.agents/skills/pr/. - ff7ebfe: Teams extend the review with rule packs:
rules:in.stamp/policy.ymlpoints at aSKILL.mdwhose## Reviewrules the reviewer applies to matching files, withon_breakset to refuse, escalate or note. Packs are read from the default branch, can only add checks, and a PR that edits one needs a human.stamp rule observabilitycopies a bundled observability pack into.stamp/rules/.