Skip to content

SendBeam v2.2.0 — Repeatable Handoffs

Latest

Choose a tag to compare

@Akshay7273 Akshay7273 released this 20 Sep 18:23
· 44 commits to main since this release
87d2628

SendBeam v2.2.0

Cryptographic Verification

All release binaries and installer packages are cryptographically signed and verifiable end-to-end:

  1. Minisign (Ed25519):
# Verify SHA256SUMS.txt using the official SendBeam public key:
minisign -Vm SHA256SUMS.txt -P RWTcyDWHWbxnuo3LVM5mWoZrx0HDwSQzAZvXK1lPRcdtJxshUDxJh+rE
  1. Sigstore Cosign (Keyless OIDC):
# Verify the GitHub Actions OIDC identity attestation:
cosign verify-blob   --bundle SHA256SUMS.txt.sigstore.json   --certificate-identity-regexp 'github.com/Akshay7273/sendbeam'   --certificate-oidc-issuer https://token.actions.githubusercontent.com   SHA256SUMS.txt
  1. SHA-256 Checksums:
# Verify downloaded asset checksum against the signed manifest:
sha256sum -c SHA256SUMS.txt --ignore-missing

Changes

SendBeam v2.2 — Release Gate

The v2.2 milestone (Repeatable Handoffs) gates release on the checks below, each verified against merged main.

Theme: save a handoff workflow, preview it, and optionally run it on a schedule or when selected local files become ready. A routine is a one-way delivery, not a shared folder or backup system: it does not mirror deletions, overwrite existing files by default, pull arbitrary remote files, or promise that all historical versions will be retained.

Automation posture: saved recipes start disabled or approval-required. Automated dispatch (watch/schedule) needs a separate explicit auto-send grant on a native user-scoped runner. Sender auto-send permission and receiver auto-accept permission are distinct; neither implies the other.


1. Gate Checks

# Requirement Result Evidence
1 Saved handoff recipe schema and explicit automation grants (V22-PR01)
Small, local, reviewable workflow model: explicit local source roots/selections, fixed authenticated recipients, allowed network/privacy mode, filters, trigger, expiry, budgets. Default new/imported/changed recipes to disabled or approval-required. Material changes invalidate prior automation consent. No secrets embedded in recipe files; imported recipes never run automatically.
PASS packages/engine/recipes/ (schema, store, grants). Merged via PR #218 (1bf0f616).
2 Manual one-shot recipe runs and secret-free dry-run preview (V22-PR02)
Save/edit/duplicate recipes; dry-run plan (sources, recipients, filters, limits, estimated bytes) with no transfers or remote effects; explicit Run enqueues ordinary jobs. Preview distinguished from execution; revalidation at enqueue/send. No second job queue.
PASS Recipe resolver/runner, CLI recipe preview/run, versioned DTO output. Merged via PR #219 (f009e5e5).
3 Bounded user-scoped routine runner with AutoSend grant enforcement (V22-PR03)
Explicitly enabled, bounded host for automated triggers. Single ownership, restart reconciliation, bounded admission/resources, disable-all, per-user startup controls; autostart off by default. Locked credential store pauses visibly rather than falling back to plaintext. No privileged system-wide service.
PASS Runner, ownership lease, CLI/desktop controls. Merged via PR #220 (b641d0e3).
4 Watched-folder one-way handoffs (V22-PR04)
Explicitly selected new/changed stable files become ordinary one-way delivery jobs. Default discovered changes to an approval-required queue; automatic dispatch needs a separate explicit grant. Debounce/coalesce bursts, stability revalidation, bounded reconciliation, symlink-escape and receive-folder feedback-loop protection. No mirror deletion, no two-way sync.
PASS fsnotify watcher adapter, debounce/cooldown. Merged via PR #221 (04d9102d).
5 Explicit schedules with bounded catch-up (V22-PR05)
Intervals and daily local-time schedules with persisted timezone and next-run semantics. DST gaps/repeats, clock jumps, sleep, missed runs defined: default skip or one bounded catch-up (max_catchup_runs, 0–10, default 3), never every missed occurrence. Durable idempotency cursor; single active execution per recipe.
PASS Scheduler, durable cursor, deterministic-clock tests. Merged via PR #222 (bbe5fa8c).
6 Provenance, receiver auto-accept policy, pause/disable controls (V22-PR06)
Local cause/provenance attached to normal transfer jobs (advisory label, no file contents, no reusable secrets); sender byte/file/run/concurrency ceilings independent of receiver quotas. Receiver auto-accept policy stays separate from sender auto-send. Run now / Preview / Pause / Disable / Reapprove; widening recipe scope requires reapproval.
PASS Provenance on jobs + wire manifest, receiver policy, CLI/desktop controls. Merged via PR #223 (676febd5).
7 Isolation, failure recovery, chaos/resource evidence (V22-PR07)
End-to-end recipes against real listeners and real filesystems: overlapping recipes, receive-folder loops, event floods, changed sources, large directories, offline periods, disk-full, locked credentials, revoked recipients, policy changes, crashes around enqueue/receiver-commit/ack. No unauthorized source inclusion, automatic overwrite, remote deletion, unbounded queue growth, or secret exposure.
PASS Integration/chaos harness, resource budgets. Merged via PR #224 (84c1ee45).
8 Release evidence, upgrade/rollback checks, release notes (V22-PR08)
This document. Upgrade proved additive, rollback proved safe, wire interop proved byte-exact, final hygiene sweep clean.
PASS This PR. Evidence in §7.

2. v2.2 PR Table (verified against main and the GitHub API, 2026-09-20)

Logical ID PR (number + URL) Merge SHA One-line description
V22-PR01 #218 1bf0f6163ffa611608d7da7e3b1a9ee6d389b366 Saved handoff recipe schema and explicit automation grants