docs: record Human Gates identity invariants
Some checks failed
CI / lint (pull_request) Successful in 3m55s
CI / build-release (pull_request) Successful in 7s
CI / browser-journey (pull_request) Failing after 7m22s
CI / release-candidate (pull_request) Has been skipped

This commit is contained in:
timmy 2026-08-26 01:30:39 +00:00
parent ab329aa126
commit f4d6f9176c
2 changed files with 8 additions and 2 deletions

View File

@ -856,8 +856,12 @@ JSON. Full behavior and safety gates are documented in
Authenticated release producers use `POST /api/v1/human-gates/intake` with an
`Idempotency-Key` and an immutable `"candidate_hash"`; durable account-bound
SQLite storage is configured by `STACKCHAIN_HUMAN_GATE_DB`. Review decisions
carry `expected_revision`, a new idempotency key, and return durable receipts.
SQLite storage is configured by `STACKCHAIN_HUMAN_GATE_DB`. Account isolation
binds each queue to the upstream principal ID and login, including its offline
browser cache. Review decisions carry `expected_revision`, a stable idempotency
key across network retries, and return durable receipts. If producer evidence
changes after a release or hold, the update reopens the exact hash for a new
revision-checked decision instead of silently retaining the old outcome.
New hashes mark older pending candidates `superseded` without removing their audit
history. See [`docs/human-gates.md`](docs/human-gates.md) for the complete
producer body, decision API, and **Telegram coalescing contract**. Lock-screen

View File

@ -11,6 +11,8 @@ def test_readme_documents_hash_bound_producer_intake_and_revision_decisions():
assert '"candidate_hash"' in text
assert "expected_revision" in text
assert "STACKCHAIN_HUMAN_GATE_DB" in text
assert "principal ID and login" in text
assert "reopens the exact hash" in text
def test_readme_defines_privacy_safe_telegram_coalescing_contract():