From 4a6d4fdf0da8ba9489714943e522b0dcf1d2fa2a Mon Sep 17 00:00:00 2001 From: jenkins Date: Mon, 24 Aug 2026 06:21:06 -0300 Subject: [PATCH] hermes(chat): enforce HUX tool policy on the canary Park/resume and gateway-owned stop receipts passed the live gates, so HUX_TOOL_ENFORCEMENT=1 ships to ordinal 3 (partition unchanged). Every canary tool call now requires a HUX release; the fleet stays observe-off until the approvals UX proves out under real traffic. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01BvMSXH8VH2tMWXanb8SJdf --- docs/hux/HANDOFF.md | 18 ++++++++++++++++++ services/hermes/chat-statefulset.yaml | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/docs/hux/HANDOFF.md b/docs/hux/HANDOFF.md index 11f2bec7..79bb58b8 100644 --- a/docs/hux/HANDOFF.md +++ b/docs/hux/HANDOFF.md @@ -412,3 +412,21 @@ under If-Match and read back by worker trust; suggestion shown for the real after_artifact context, explicit clicked dismissal recorded, re-show suppressed, suppression state durable. Next: hux.autonomy (+ multimodal unlock) on the canary, enforcement still 0. + + +## Autonomy-wave live gates (2026-08-24 ~09:30 UTC) — PASS 15/15 + +Canary at f2f54033 flags. Live on the canary loopback: HUX-05 park -> +human-only approval (worker 403) -> gate releases exactly once -> consumed on +the second ask; denial stays denied; browser cannot write stop receipts; +gateway receipts are honest (process_registry_empty=false -> +failed_to_cancel, superseded by a true empty-registry cancellation). HUX-07 +unlocked by the dependency chain and media registration required a REAL +approved artifact_write action before accepting upload metadata. + +ENFORCEMENT: park/resume and gateway-owned receipts passed live, so +HUX_TOOL_ENFORCEMENT=1 ships to the canary (partition still 3; ordinals 0-2 +remain untouched). Tenant-3 tool calls now require HUX release for real. +Remaining: real-traffic validation of the approvals UX on tenant-3, then +partition 3 -> 0 to take flags+enforcement fleet-wide; HUX-12 needs the +Vault evidence key (runbook above); Worker integration separate. diff --git a/services/hermes/chat-statefulset.yaml b/services/hermes/chat-statefulset.yaml index 3e5cac2c..32c2980e 100644 --- a/services/hermes/chat-statefulset.yaml +++ b/services/hermes/chat-statefulset.yaml @@ -446,7 +446,7 @@ spec: - {name: HUX_RUNTIME_ENABLED, value: "1"} # First rollout is observe-only until approval parking/resume is # connected to the upstream tool loop and proven live. - - {name: HUX_TOOL_ENFORCEMENT, value: "0"} + - {name: HUX_TOOL_ENFORCEMENT, value: "1"} - {name: HUX_WORKER_KEY_FILE, value: /run/hermes-hux-worker/worker-key} - {name: HUX_SUBJECT_FILE, value: /run/hermes-hux-subject/subject} - {name: HUX_CONTEXT_KEY_FILE, value: /run/hermes-hux-context/context-key}