Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions docker-compose.quickstart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,16 @@
# first whose images carry the boards the pictures show — one attention entry
# per alert, the relay inbox, dark and light, two languages; 0.6.0 is the first
# whose boards fit the phone the pictures now show, and whose approve press
# names the version it read. This file needs all of it, so it cannot point at
# an older tag.
# names the version it read; 0.7.0 is the first whose bridge refuses to start
# without its secret (set below), whose pipe answers a replayed request as a
# duplicate, and whose investigator measures its posture with the tools its
# image carries. This file needs all of it, so it cannot point at an older tag.

name: hookstack

services:
hookrelay:
image: ghcr.io/itswl/hookrelay:0.6.0@sha256:2489b6e89626cfe85b26db49d96221b0be481a4bb1510d18755744be2fba6ed1
image: ghcr.io/itswl/hookrelay:0.7.0@sha256:6b303cb074f5ac9ba1c82be94b6fda5ae2754a88690e1ca90f8f38b1083886a0
container_name: hs-hookrelay
restart: unless-stopped
environment:
Expand Down Expand Up @@ -86,7 +88,7 @@ services:
- sink

hookjudge:
image: ghcr.io/itswl/hookjudge:0.6.0@sha256:9b6c537c82e8b4ead1f8d68029889caca642f653a8fbb419b7f5173707204e30
image: ghcr.io/itswl/hookjudge:0.7.0@sha256:4024f9910b9025e5522edff857e599aefc32794da202ffbdf58eea3d1591c8fc
container_name: hs-hookjudge
restart: unless-stopped
environment:
Expand Down Expand Up @@ -116,7 +118,7 @@ services:
# operator would actually have received. It runs from the pipe's own image
# because that image now carries it — one fewer thing to pull, and no mount.
sink:
image: ghcr.io/itswl/hookrelay:0.6.0@sha256:2489b6e89626cfe85b26db49d96221b0be481a4bb1510d18755744be2fba6ed1
image: ghcr.io/itswl/hookrelay:0.7.0@sha256:6b303cb074f5ac9ba1c82be94b6fda5ae2754a88690e1ca90f8f38b1083886a0
container_name: hs-sink
restart: unless-stopped
command: ["python", "-u", "/app/examples/sink.py"]
Expand All @@ -129,7 +131,7 @@ services:
# exactly the hop a real deployment makes to a custom bot's incoming URL.
# `ops-feishu` in the baked config is `type: bridge` and points here.
lark-bridge:
image: ghcr.io/itswl/lark-bridge:0.6.0@sha256:781fcd8166a266903e266ed11e0990f6235c7c4ef71b46ce66450561c2159afa
image: ghcr.io/itswl/lark-bridge:0.7.0@sha256:9cec031adcf6ba71190f5a0687eed286729dae158cd1f1d6262abeb58cb2e4ee
container_name: hs-lark-bridge
restart: unless-stopped
environment:
Expand All @@ -147,7 +149,7 @@ services:
# not a model: it reports itself as `stub-4o-mini`. Point the judge's AI vars
# at a real provider and this stops being used.
stub-ai:
image: ghcr.io/itswl/hookjudge:0.6.0@sha256:9b6c537c82e8b4ead1f8d68029889caca642f653a8fbb419b7f5173707204e30
image: ghcr.io/itswl/hookjudge:0.7.0@sha256:4024f9910b9025e5522edff857e599aefc32794da202ffbdf58eea3d1591c8fc
container_name: hs-stub-ai
restart: unless-stopped
command: ["python", "-u", "/app/examples/stub_ai.py"]
Expand All @@ -159,7 +161,7 @@ services:
# pipe to the same channels; the disk alert in demo.sh also proposes a
# two-step procedure the approve button runs against the allowlist below.
hookprobe:
image: ghcr.io/itswl/hookprobe:0.6.0@sha256:019b5a3ff36bee4c857badf912e24b476b4fde8ff9b93259e3140c3583354223
image: ghcr.io/itswl/hookprobe:0.7.0@sha256:cbf1fcb12b765cd4881381a6ba4196124aa65cb7a0a3e35d62f89ec1fd3214d9
container_name: hs-hookprobe
restart: unless-stopped
# The agent executes arbitrary bash, so the container is bounded even in a
Expand Down
5 changes: 5 additions & 0 deletions docs/releasing.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ tag's own message is the note, which is how 0.5.0 and 0.6.0 shipped.
4. **Re-run the quickstart the way a stranger does** — `curl` the published
compose, `docker compose up`, `bash scripts/demo.sh`. The file's own comment
records three releases that were wrong until somebody actually ran it.
**From an empty directory, not the checkout.** Compose reads `./.env` for
interpolation, and the checkout's `.env` is a deployment's: run from the
repository root on 2026-10-19, the quickstart's investigator took the work
stack's `HOOKPROBE_TOKEN` and every `demo.sh` lookup answered 401 — a
release that was fine, failing a check that was not testing it.

## A note on tags vs. digests

Expand Down
Loading