Review durable Human Gate decision history and receipts #1441

Closed
opened 2026-08-26 19:24:21 +00:00 by rockachopa · 0 comments
Member

Problem

Human Gate decisions disappear from the mobile inbox immediately after Release/Hold. The server already stores account-bound gates, history events, and durable receipts, but the product exposes only the pending queue. Operators cannot later verify which exact candidate hash was decided, why it was held, or which release confirmations/override were recorded.

Evidence and non-duplication

At origin/main efa01cf, frontend/human-gates.js always fetches the default pending list and discards the returned receipt after a transient status. HumanGateStore.list(state="all"), gate detail history, and the account-bound receipt endpoint already exist. All 723 historical issue titles and recent commits/releases were inspected; prior Human Gates work covers inbox creation, hardening, fresh authorization, notifications, refresh, and mobile decision reachability—not a durable decision-history viewer. Existing release-receipt features concern pull merge/release delivery, not Human Gate approvals. No eligible open issue is assigned to timmy or unassigned.

Product outcome

Add an account-bound mobile History view inside Human Gates. Pending remains the default review flow. Operators can switch to History, see released/held/superseded records newest-first, open exact gate evidence, and retrieve the durable receipt for decisions. No private history is cached in the browser or service worker.

Acceptance tests

  • GET /api/v1/human-gates?state=all returns non-pending records newest-first and includes a receipt reference for released/held records.
  • Receipt and gate history remain immutable-principal scoped and Cache-Control: no-store; another principal receives 404/empty data.
  • Mobile History distinguishes Released, Held, and Superseded, displays exact hash/time/reason, and opens receipt confirmations/override evidence.
  • Pending review behavior, queue counts, decision idempotency, offline pending cache, and inbox-zero behavior remain unchanged.
  • History is live-only and is not written to localStorage or service-worker runtime caches.
  • Focused tests and full suite pass; rendered mobile route is browser-validated.
## Problem Human Gate decisions disappear from the mobile inbox immediately after Release/Hold. The server already stores account-bound gates, history events, and durable receipts, but the product exposes only the pending queue. Operators cannot later verify which exact candidate hash was decided, why it was held, or which release confirmations/override were recorded. ## Evidence and non-duplication At origin/main `efa01cf`, `frontend/human-gates.js` always fetches the default pending list and discards the returned receipt after a transient status. `HumanGateStore.list(state="all")`, gate detail history, and the account-bound receipt endpoint already exist. All 723 historical issue titles and recent commits/releases were inspected; prior Human Gates work covers inbox creation, hardening, fresh authorization, notifications, refresh, and mobile decision reachability—not a durable decision-history viewer. Existing release-receipt features concern pull merge/release delivery, not Human Gate approvals. No eligible open issue is assigned to timmy or unassigned. ## Product outcome Add an account-bound mobile History view inside Human Gates. Pending remains the default review flow. Operators can switch to History, see released/held/superseded records newest-first, open exact gate evidence, and retrieve the durable receipt for decisions. No private history is cached in the browser or service worker. ## Acceptance tests - `GET /api/v1/human-gates?state=all` returns non-pending records newest-first and includes a receipt reference for released/held records. - Receipt and gate history remain immutable-principal scoped and `Cache-Control: no-store`; another principal receives 404/empty data. - Mobile History distinguishes Released, Held, and Superseded, displays exact hash/time/reason, and opens receipt confirmations/override evidence. - Pending review behavior, queue counts, decision idempotency, offline pending cache, and inbox-zero behavior remain unchanged. - History is live-only and is not written to localStorage or service-worker runtime caches. - Focused tests and full suite pass; rendered mobile route is browser-validated.
timmy was assigned by rockachopa 2026-08-26 19:24:21 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1441
No description provided.