Fix #1422 inbound BUZZ result collector - #1441
Conversation
|
Upstream dependency tracked at block/buzz#6874. This draft should remain unmerged until a BUZZ build returns the public |
Developer Workbench guidanceReviewed: 2026-08-26T12:39:06.0934771+00:00 {
"diff": {
"core/story-workflow/buzz-story-bridge-core.mjs": [
{
"from": "export function storyBridgeResultMatchesRequest(content, requestId) {",
"to": "export function storyBridgeResultMatchesRequest(content, requestId) {"
},
{
"from": " const expectedRequestId = cleanText(requestId, 180);",
"to": " const expectedRequestId = cleanText(requestId, 180);"
},
{
"from": " if (!expectedRequestId) return false;",
"to": " if (!expectedRequestId) return false;"
},
{
"from": " try {",
"to": " const envelope = decodeStoryBridgeResultEnvelope(content);"
},
{
"from": " const envelope = decodeStoryBridgeResultEnvelope(content);",
"to": " return cleanText(envelope?.requestId, 180) === expectedRequestId;"
},
{
"from": " return cleanText(envelope?.requestId, 180) === expectedRequestId;",
"to": " } catch {"
},
{
"from": " } catch {",
"to": " return false;"
}
],
"tests/issue-1422-buzz-story-bridge.test.mjs": [
{
"from": "assert.equal(storyBridgeResultMatchesRequest(`${STORY_BRIDGE_RESULT_MARKER}\\n{broken`, bridge.requestId), false);",
"to": " assert.throws(\n () => storyBridgeResultMatchesRequest(`${STORY_BRIDGE_RESULT_MARKER}\\n{broken`, bridge.requestId),\n /JSON/,"
},
{
"from": " assert.match(contribution.reason, /public signature/i);",
"to": " );"
}
]
}
} |
BryanHarrisScripts
left a comment
There was a problem hiding this comment.
Live Windows exit proof completed on 2026-08-26 against exact PR head 98b72603c44ad476eb87763e456f1faa982fd63c using BUZZ main 22cdda441d19da1b15dd7db4d932d2f067cd87b3, which contains upstream signature-preservation merge 583af02299e20cbd8603044c7844bc128e4e06cd (#6884). PlotPickle reported BUZZ Story Test: PASS: Tamsin signed the bounded result, retry remained idempotent, a stale response was rejected, and PPF/canon stayed unchanged. Exact-head Story Bridge, BEN Code Quality, Hardware-Aware Local AI, and LEARN Validation are all green. No unresolved review threads remain.
Summary
Repairs the PlotPickle side of the inbound Tamsin collector without weakening the signed-provenance boundary.
requestIdinstead of requiring minified JSON with no whitespace.Root cause
Two independent problems were present:
"requestId":"...", so whitespace caused the matching result to be ignored.sigfield from fullmessages getJSON. PlotPickle cannot truthfully complete BIP-340 verification without it and therefore continues to fail closed.The second item requires a small BUZZ CLI output-contract correction before the Windows live exit proof can pass. No private key is needed or exposed.
Validation
git diff --check: passed.contextOrFilename.getFilename is not a functionin an unrelated Developer Workbench file.Exit gate
Keep this PR draft and #1422 open until BUZZ preserves the public event signature and the real Afterglow → Tamsin test records:
Configuration-sync work remains paused until this gate passes.