S00-019: Validate browser SCRAM-SHA-512 through public mechanism composition

Changes: Add an isolated pinned mechanism wrapper using Stanza's public constructor and factory APIs, preserve the SCRAM-SHA-512 wire name and fail-closed final guard, and document the proposed ADR, browser bundle evidence, independent Scramp vectors, notices and limits. Leave parent selection, dependency experiments, specs and shared contracts unchanged.
Validation: Fresh-cache npm ci and Vite browser build pass; 87 focused tests pass, including RFC HMAC vectors, original defect reproduction, independent full SHA-512 exchanges and rejected invalid finals/order/reset paths. Hashed Scramp oracle fixture comparison passes. Dependency check verifies 49 locked entries, 25 installed pins/licenses and 340 unmodified Stanza files. make check passes 72 tooling tests. Native browsers, WSS/live server interoperability and production readiness are untested; independent security review remains pending.

Task: S00-019
Agent: auto-crypto-c68801170fa4
Role: crypto
Action: claim
Status: review

Task title: Validate browser-compatible SCRAM-SHA-512 through a public mechanism API
This commit is contained in:
wt committed 2026-10-15 02:48:39 +07:00
1 parent e69372c6db
commit 07c9967d02
26 files changed
+6399 -8

No files matched your search

+31 -4
View File
@@ -1,6 +1,6 @@
{
"schema_version": 1,
"revision": 48,
"revision": 50,
"tasks": {
"S00-001": {
"status": "done",
@@ -1249,10 +1249,14 @@
"completed_at": "2026-10-14T19:35:55+00:00"
},
"S00-019": {
"status": "todo",
"owner": null,
"status": "review",
"owner": "auto-crypto-c68801170fa4",
"external_wait": false,
"reason": null
"reason": null,
"started_at": "2026-10-14T19:38:43+00:00",
"updated_at": "2026-10-14T19:48:39+00:00",
"evidence": "state/evidence/S00-019-auto-crypto-c68801170fa4.md",
"handoff": "state/handoffs/S00-019.md"
}
},
"events": [
@@ -1878,6 +1882,29 @@
"from": "in_progress",
"to": "blocked",
"reason": "Stanza 12.22.1 browser HMAC sha-512 fails RFC 4231 Test Case 1: wrong 64-byte block selection. SCRAM-SHA-512 derives that hyphenated algorithm; private algorithm mutation/vendor patches are unsupported. Parent cannot attest browser strongest-mechanism compatibility from Node-only success."
},
{
"revision": 49,
"at": "2026-10-14T19:38:43+00:00",
"action": "claim",
"task": "S00-019",
"agent": "auto-crypto-c68801170fa4",
"role": "crypto",
"from": "todo",
"to": "in_progress",
"reason": null
},
{
"revision": 50,
"at": "2026-10-14T19:48:39+00:00",
"action": "submit",
"task": "S00-019",
"agent": "auto-crypto-c68801170fa4",
"role": null,
"from": "in_progress",
"to": "review",
"reason": null,
"evidence": "state/evidence/S00-019-auto-crypto-c68801170fa4.md"
}
],
"retired_agents": [