0.2.3 — Dockerfile half of named-volume fix + API key Layer 2
Why 0.2.3 (and why no 0.2.2 on PyPI)
0.2.2 was tagged but CI verify caught a second-order bug: the named-volume switch in compose.minimal.yml needed a matching mkdir + chown in the Dockerfile, otherwise docker creates the mount point as root:root and appuser PermissionErrors on first JSONL write. The v0.2.2 tag was deleted before any PyPI upload. 0.2.3 includes everything 0.2.2 was meant to ship plus the second-order fix and the API key Layer 2 work.
What's in 0.2.3
Linux bind-mount UID fix — completed
compose.minimal.yml./logsand./cost_logsare now named volumes (api_logs,api_cost_logs) — no host UID collision on Linux installsDockerfilepre-creates/app/logsand/app/cost_logswithappuserownership beforeUSER appuserso named volumes inherit correct perms (mirrors the existing hf_cache pattern)- New
financebench logs+financebench logs --event-logCLI commands replace host-sidetail logs/run_*.jsonl - CI verify job's
chmod 777workaround removed (the bug is gone at the compose+Dockerfile layer)
API key Layer 2 validation — new
cli/key_probe.py— one probe per provider:- OpenAI / Anthropic / Groq: free
GET /v1/models - Voyage: 1-token embedding (~$0.00002)
- OpenAI / Anthropic / Groq: free
- Wired into
financebench setup— per-key after Layer 1 prefix check, gated by--skip-key-probeor--skip-doctor-network - Wired into
financebench doctor— four new checks under "API keys" group, gated by--skip-network - Network errors fall through to "saved as-is" — offline installs still work
Upstream warning suppression (carried from 0.2.2)
src/_quiet.py+src/__init__.pyinstall filters for langgraph + protobuf + websockets pending-deprecation warningspyproject.tomlpytestaddopts -Wfor protobuf via langsmith pluginDockerfileENV PYTHONWARNINGSfor entry-point-level warnings uvicorn imports before anysrc.*code runs- JWT test fixture secret padded 23 → 32 bytes (real fix at source)
Try it
pip install --upgrade financebench-rag-agent
financebench upgrade
# verify the new API key live probe:
financebench doctor
# new logs command (replaces host-side tail logs/):
financebench logs
financebench logs --event-log --followMulti-arch image
ghcr.io/rishabhmannu/financebench-rag-agent-api:0.2.3 (linux/amd64 + linux/arm64). Pulled automatically by financebench upgrade via the FB_IMAGE_TAG env var threaded from the wizard.
Engineering log
Full narrative including the 0.2.2 failure → 0.2.3 fix, the fifth documented instance of "fixed one call site, missed the other", and the API key Layer 2 design at docs/engineering-log.md.