Skip to content

chore(webhook): bump the pinned local-webhook to 0.8.1 - #162

Merged
lionello merged 1 commit into
masterfrom
chore/webhook-pin-0.8.1
Aug 1, 2026
Merged

chore(webhook): bump the pinned local-webhook to 0.8.1#162
lionello merged 1 commit into
masterfrom
chore/webhook-pin-0.8.1

Conversation

@defangdevs

Copy link
Copy Markdown
Owner

Motivation

The box's services.agent-box.webhook.rev pin is still 5d6c9323 = local-webhook 0.8.0, the Python port merged in #157. Upstream has since shipped 0.8.1 (defangdevs/local-channels#7, #8), and sessions did not pick it up on their own — claude clones the marketplace and tracks its default branch, but the copy the box runs is governed by this pin.

This moves the pin to 8543aff5, the head of local-channels main.

What 0.8.1 changes

Tool descriptions only. It stops recommending ttl_hours: 0 for "this box's own repos" and says the opposite:

ttl_hours:0 pins a topic forever. Avoid it: a delivery lands in whichever session is active at the time, so a pinned topic interrupts unrelated work indefinitely — there is no session that "owns" a standing watch. Scope the TTL to the work in flight instead and let it lapse.

The same caveat is now attached to renew_on_event. Pinning may become reasonable once local-channels#1 (deliver into a fresh session rather than the active one) ships.

User-visible effect: until this pin moves, every claude session on the box reads the old advice out of the 0.8.0 tool schema and can be talked into pinning a subscription that then hijacks unrelated sessions.

Security effect: none. HMAC verification, the 401-on-bad-signature path fail2ban keys on, the socket, and the public route are untouched.

No receiver behaviour change

The 0.8.0 → 0.8.1 diff to webhook.py is VERSION, one comment block, and four description strings. Wire and state contracts (sources.json, filter.<session>.json, the IPC envelope, TTL/warm-renew semantics) are identical. webhook.py is byte-identical across 7aa0c583, 05d14f1a and 8543aff5 (blob 3493d06), so pinning the branch head rather than the version-bump commit fetches the same file.

Checks run

  • nix-prefetch-url + nix hash convert --hash-algo sha256 --to sri for the new hash; builtins.fetchurl with it resolves, and the fetched file has VERSION = '0.8.1' and zero occurrences of the old "this box's own repos" guidance.
  • bin/assemble-module.py re-run; the regenerated modules/agent-box.nix is committed and a second run is a no-op (no drift).
  • nix-instantiate --parse modules/agent-box.nix.
  • ⚠️ module-generated-up-to-date and the webhook VM test are defined for x86_64-linux only and the box I ran on is aarch64-linux, so both are left to CI — I could not execute them locally.

Cost / IAM / networking / migration

None. Deployed boxes pick up the new webhook.py on the next rebuild; the unit restarts, in-flight deliveries are not persisted either way.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Sxoeoon2SQcbxnaG9tExNY

Moves services.agent-box.webhook.rev from 5d6c9323 (local-webhook 0.8.0)
to 8543aff5, the head of local-channels main, which carries 0.8.1.

0.8.1 is a tool-description-only change (defangdevs/local-channels#7, #8):
it stops recommending `ttl_hours: 0` for "this box's own repos" and says
the opposite — a pinned topic is delivered into whichever session happens
to be active, so it interrupts unrelated work indefinitely. Scope the TTL
to the work in flight and let it lapse. Same advice now appears on
renew_on_event. Until this pin moves, every session on the box reads the
old guidance out of the 0.8.0 schema.

No behaviour change in the receiver: webhook.py's wire and state contracts
are untouched between 0.8.0 and 0.8.1 (the diff is VERSION, one comment
block, and four description strings).

Checks run:
- nix-prefetch-url + `nix hash convert --to sri` for the new sha256, and
  `builtins.fetchurl` with it resolves and yields VERSION = '0.8.1'.
- bin/assemble-module.py re-run; regenerated modules/agent-box.nix is
  committed and idempotent on a second run.
- nix-instantiate --parse modules/agent-box.nix.
- module-generated-up-to-date and the webhook VM test are x86_64-only and
  this box is aarch64, so both are left to CI.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Sxoeoon2SQcbxnaG9tExNY
@lionello
lionello merged commit daf7db4 into master Aug 1, 2026
1 check passed
@lionello
lionello deleted the chore/webhook-pin-0.8.1 branch August 1, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants