diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index eca933d..1d8e8bd 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -4532,6 +4532,24 @@ recorded there, so this adds only the hand-off state, one proposal, and the date and `/root/.helm`, confines scratch to `/tmp/praetorian-q34/` (disk is at ~297 MB free), and requires per-item commands and output with PASS or BLOCKER. Caveat, stated plainly: Praetorian's scheduled lane was failing auth earlier today, so no reply may arrive — **no reply is not a PASS**, and the §4 decision should not wait on it. + +**Praetorian delivery failed — there is no hostile review in flight. 2026-10-12 00:40Z (control plane).** This lands +minutes after the bullet above and supersedes its "in flight" claim: the delivery was attempted and did not succeed. + +- **The brief did not deliver.** The DM runner exited 1 with, verbatim: `OpenCode Free rejected your API key, so the + model can't be reached. Update it in Settings → Providers, or run hermes setup in a terminal.` preceded by + `Provider said: HTTP 403: OpenCode's free tier can only be used from within OpenCode`. So no reply is coming and the + §4 adoption currently has **no independent exact-head review available** on this host. Treat it as un-reviewed + unless Alexander fixes the route or commissions the fallback below. +- **Rotating a key will not fix this.** The 403 is a provider-level wall — the free tier refuses callers from outside + OpenCode — not an expired credential. Praetorian's config points at `opencode-free` with `fallback_providers: []`, + while its own session restores `gpt-5.6-sol (openai-codex)` and that path reports "No Codex credentials stored". + Two routes that would work: point it at a provider Hermes can reach, or use the `hou3` fallback already carried as + an open human item. Both are Alexander's calls; neither is mine to set. +- **The brief may survive the failure.** The runner resumed Praetorian's Bot Chat (2 user messages, 3 total) before + the model call failed, which suggests the text is already in its transcript and a later working provider would see + it. Not confirmed from this host — recorded as a possibility so the brief is not re-sent blindly if the route is + fixed. - **One guard would close the class.** Both live-snapshot writes this day (13:28Z, then 00:26:01Z) came from a negative-control leg running a collector that carries **no destination gate of its own**. The rule is already in the skill and is mechanical only inside Merlin's tree; gating the *subject* — the gate refuses any collector