Demo harness is broken: missing manifest, stale pipelock naming #540
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
scripts/demo-record.shcannot run. The demo has been broken sinceeafd1c1f(2026-06-04).What's broken
Missing manifest.
eafd1c1fdeletedbot-bottle.demo.jsonas a "pre-YAML-migration artifact", butscripts/demo-setup.sh:25still runscp bot-bottle.demo.json bot-bottle.jsonunderset -euo pipefail. Setup exits non-zero, sodemo-record.shanddemo.shboth die before launching anything.Manifest format changed. The replacement cannot be a drop-in: manifests are per-file Markdown now, and
bot_bottle/manifest/index.py:222deliberately ignores abottles/dir in CWD ("the filesystem layout IS the trust boundary", PRD 0011). The demo bottle has to be installed into$HOME/.bot-bottle/bottles/, which means setup/teardown need a real backup-and-restore path over live config rather than the old throwawaybot-bottle.jsonswap.Stale
pipelocknaming.docs/demo.tapedescribes egress as mediated by "pipelock" and by "pipelock + git-gate companion containers". pipelock is gone; egress is now bot-bottle's own mitmproxy scanner, git-http gate, and supervise endpoint, all inside the singlebot-bottle-gatewaycontainer.Stale invocations.
scripts/demo.sh:31still calls./cli.py start demodespitecd9f023fmoving every instruction tobot-bottle.demo-setup.sh:46pre-warmsDockerfile.git-gate, which no longer exists.Behavioral note
Probe 3 posts a
ghp_-shaped synthetic token to an allowlisted host. Under the current defaultdlp.outbound_on_match: supervise, that request is held open awaiting operator approval for up toEGRESS_TOKEN_ALLOW_TIMEOUT_SECONDS(300s) instead of returning immediately. The demo route needsblockto reproduce the original hard-403 beat and keep the recording from stalling.Done when
demo-setup.sh/demo-teardown.shinstall and cleanly restore over$HOME/.bot-bottle/, verified against a scratchHOMEdocs/demo.tapeandscripts/demo.shdescribe the gateway, not pipelock, and invokebot-bottledocs/demo.gifre-recorded against the current architecture