JuliusBrussee/caveman · error · ValueError
runtime_policy public_key must be a base64-encoded 32-byte E
Error message
runtime_policy public_key must be a base64-encoded 32-byte Ed25519 key
What it means
Error "runtime_policy public_key must be a base64-encoded 32-byte Ed25519 key" thrown in JuliusBrussee/caveman.
Source
Thrown at packages/sdk/python/caveman_cloud/core.py:2233
kill_env: str = _POLICY_KILL_ENV,
workflow: str | None = None,
) -> None:
self._cave = cave
self._workflow = workflow or cave.default_workflow
self._kill_env = kill_env
self._lock = threading.Lock()
self._bundle: dict[str, Any] | None = None
self._signed = False
self._killed_locally = False
# A pinned key makes a signature mandatory. An unparseable pin is a
# caller bug, not a runtime condition: it raises here rather than
# returning a client that silently rejects every bundle forever
# (mirrors the TypeScript constructor, which throws).
self._pinned_key: bytes | None = None
if public_key is not None:
decoded = self._decode_key(public_key)
if decoded is None:
raise ValueError("runtime_policy public_key must be a base64-encoded 32-byte Ed25519 key")
self._pinned_key = decoded
self._stop = threading.Event()
self._thread: threading.Thread | None = None
interval = _policy_number(auto_refresh_seconds)
if interval is not None and interval > 0:
self._thread = threading.Thread(
target=self._auto_refresh,
args=(interval,),
name="caveman-runtime-policy",
daemon=True,
)
self._thread.start()
# ── lifecycle ────────────────────────────────────────────────────────────
def kill(self) -> None:
"""Latch this client onto the baseline path immediately and locally.
View on GitHub (pinned to 27d5a3981a)
Solutions
- Set runtime_policy.public_key to a base64-encoded 32-byte Ed25519 public key.
When it happens
Trigger: Thrown at packages/sdk/python/caveman_cloud/core.py:2233 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15).
Data as JSON: /api/errors/87bf6ca34228b26d.
Report an issue: GitHub.