fix(g2-s7): pin SERVING_BACKEND=duckdb for single-container demo deploys#165
Merged
Conversation
config/serving.yaml has defaulted to ClickHouse since the ADR 0006 Phase 1 cutover, so any demo image built from current main crashes on boot (BackendExecutionError: connection refused) — no ClickHouse runs beside the single-container demo. Caught live on the first three-node HF Space bring-up (liovina/agentflow-center, RUNTIME_ERROR), fix verified on the same Space: setting the env flips the engine back to embedded DuckDB and the node boots healthy. Pin the backend where the demo conventions already live: ENV in deploy/hf-space/Dockerfile, [env] in deploy/fly/fly.toml, and the local docker-run example in deploy/fly/README.md (Dockerfile.api bakes no demo env, so the example must pass it explicitly). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
DORA Metrics
MTTR note: No failed mainline CI runs in the selected window. |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The build spec, ADR 0012, DEPLOY.md and the center Space README all claimed the public demo-key POST to /v1/node/events gets 403. The implemented and N2/N3-tested ladder is: role != center -> 404, no/malformed bearer -> 401 (the demo-key caller sends none, so it lands here), wrong bearer -> 403. Caught by the first live §12 verify against the deployed center. Docs follow the code: the tests assert 401 deliberately and the guard property (public key can never push) is unchanged. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Pins
SERVING_BACKEND=duckdbin the three places the single-container demo is configured:deploy/hf-space/Dockerfile—ENVnext to the other demo conventionsdeploy/fly/fly.toml—[env]deploy/fly/README.md— the localdocker runverify example (Dockerfile.apibakes no demo env, so the example must pass it explicitly)Why
config/serving.yamlhas defaulted tobackend: clickhousesince the ADR 0006 Phase 1 cutover, and the config directory ships inside the demo image. Any demo image built from current main therefore boots the ClickHouse backend, finds no server, and dies in the API lifespan (BackendExecutionError: [Errno 111] Connection refused).Caught live on the first three-node bring-up (G2 S7):
liovina/agentflow-centerbuilt fine and hitRUNTIME_ERRORon boot. Hypothesis verified on the same Space before this commit — setting the env var flips the engine to embedded DuckDB and the node comes up healthy (/v1/health200,duckdb_poollive). The standaloneagentflow-demoSpace never showed this because it still runs a pre-cutover image; its next Factory rebuild would have hit the same crash.Verify
tests/unit/test_node_deploy_artifacts.py— 4 passedfly.tomltomllib parse — OK/v1/health200 with the env override🤖 Generated with Claude Code