This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+5 more
Summary
AI summaryUpdates Internal / CI, SPEC-0073, and SPEC-0072 across a mixed release.
Full changelog
Minor: receipts can now be produced automatically on push, and PR attribution is more
robust. No change to rendered receipt output (goldens byte-identical); both additions are
opt-in / internal.
Added
- Agent auto-attach (SPEC-0073): a hidden
aireceipts hook pre-pushsubcommand, wired as a
Claude CodePreToolUsehook via a committed.claude/settings.json, writes and pushes the
receipt ref (refs/receipts/<slug>) when the coding agent runs a branch push — so a receipt
is produced with no manual command. It never blocks the push (exits 0 on every path, no
stdout, bounded by the hook timeout) and only acts on a realorigin/current-branch push
(tokenized detection; skips dry-run/delete/tags/non-origin/repo-retargeting/refs/receipts).
The adopter kit is now two files — thepr-checkworkflow (produces nothing on its own)
plus the.claude/settings.jsonhook (docs/adopt/,aireceipts integrations).
Fixed
- Robust PR-receipt attribution (SPEC-0072): a session whose commit SHA was orphaned by
git commit --amend(or rebase) is now correctly credited by matching its stable
git patch-idto the branch commit, instead of showing "no branch commit" while an unrelated
helper takes the credit. Strictly under-crediting — duplicated diffs, empty/merge commits, and
a diff already directly claimed by another session never produce a match (no fabricated or
stolen credit, I2). Adds anunanchored-git-writeconfidence signal that floors the total when
a real git-write can't be tied to the branch.
Minor: PR receipts gain a self-contained CI path (no external reusable workflow), the
default statusline gets richer, and the samosa tip link leaves the default PR-posted
surfaces (now opt-in). Two deliberate output changes — statusline default and the PR-posted
footer — both called out below.
Added
- Self-contained
pr-check(SPEC-0064 R2–R7): an adopter's own workflow can run
npx -y aireceipts-cli@latest pr-checkin a single job — no reusable-workflowuses:,
no org Actions-policy gate — to fetch the branch's receipt ref, render + sanitize it, and
upsert the marked PR comment viaGITHUB_TOKEN(no localgh). Hidden command; for trusted
same-repo/internal PRs (the two-job reusable workflow stays the hardened path for untrusted
fork PRs). Also fixes the reusable-caller template, which was missingpull-requests: write.
Changed (deliberate output changes)
- Richer default statusline (SPEC-0071): the default line now carries a burn rate (
$/hr),
context-window %, abbreviatedM/Btoken counts, and an inline 5h reset countdown — e.g.
[aireceipts] $423 · $80/hr · 501M · ctx 42% · 5h 26% ↺2h13m. Every segment renders from a
real payload field or a priced ledger value; nothing is estimated. - Samosa tip link off by default (SPEC-0070): the
buy me a samosalink no longer appears
on the surfaces aireceipts posts onto a PR (the comment's<details>and the artifact
footer). Opt back in with--samosa; the standalone tip page and the docs-site footer are
unchanged.
Internal / CI
- Incremental mutation testing (SPEC-0069): Stryker runs incrementally on PRs that touch
the money paths (src/pricing/**,src/pr/**), with a nightly full sweep — the same
anti-gaming moat at a fraction of the wall-clock. No product code change.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Aireceipts
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]