Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 16:40
1ecaedb

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-push subcommand, wired as a
    Claude Code PreToolUse hook 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 real origin/current-branch push
    (tokenized detection; skips dry-run/delete/tags/non-origin/repo-retargeting/refs/receipts).
    The adopter kit is now two files — the pr-check workflow (produces nothing on its own)
    plus the .claude/settings.json hook (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-id to 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 an unanchored-git-write confidence 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-check in a single job — no reusable-workflow uses:,
    no org Actions-policy gate — to fetch the branch's receipt ref, render + sanitize it, and
    upsert the marked PR comment via GITHUB_TOKEN (no local gh). 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 missing pull-requests: write.

Changed (deliberate output changes)

  • Richer default statusline (SPEC-0071): the default line now carries a burn rate ($/hr),
    context-window %, abbreviated M/B token 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 samosa link 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.